Moving to a single renderer instance system
This commit is contained in:
		@ -10,7 +10,6 @@
 | 
			
		||||
/*
 | 
			
		||||
* Define globals
 | 
			
		||||
*/
 | 
			
		||||
Camera* cam;
 | 
			
		||||
Shader* shader;
 | 
			
		||||
 | 
			
		||||
char* code = new char[254];
 | 
			
		||||
@ -21,7 +20,8 @@ const std::string fragmentShaderSource = "../build/SandboxApplication/Debug/test
 | 
			
		||||
BarinkEngine::ModelImporter* MI = new BarinkEngine::ModelImporter();
 | 
			
		||||
 | 
			
		||||
Scene* Level1;
 | 
			
		||||
// BarinkEngine::SceneObject* cube;
 | 
			
		||||
BarinkEngine::Renderer* renderer;
 | 
			
		||||
BarinkEngine::SceneObject* cube;
 | 
			
		||||
/*
 | 
			
		||||
* Runs once at startup 
 | 
			
		||||
* - USe to initialize the game/sandbox/demo
 | 
			
		||||
@ -34,30 +34,29 @@ void Start() {
 | 
			
		||||
    std::string levelName("Test Level");
 | 
			
		||||
    Level1 = SceneManager::CreateScene(levelName);
 | 
			
		||||
    SceneManager::LoadScene(*Level1);
 | 
			
		||||
    
 | 
			
		||||
    shader = new Shader(vertexShaderSource, fragmentShaderSource);
 | 
			
		||||
 | 
			
		||||
    // Create a cube node
 | 
			
		||||
   
 | 
			
		||||
    // Load a model 
 | 
			
		||||
    auto cube = MI->Import("../build/SandboxApplication/Debug/Models/Cube.obj");
 | 
			
		||||
    cube = MI->Import("../build/SandboxApplication/Debug/Models/Cube.obj");
 | 
			
		||||
    cube->renderable->material = new Material(*shader);
 | 
			
		||||
 | 
			
		||||
    // What is in cube now ??    
 | 
			
		||||
    std::cout <<  "mesh vertices: " << cube->renderable->mesh->vertices.size() << std::endl;
 | 
			
		||||
    std::cout << "mesh elements: " << cube->renderable->mesh->elements.size() << std::endl;
 | 
			
		||||
 | 
			
		||||
    Level1->GetRoot().addChild(*cube);
 | 
			
		||||
 
 | 
			
		||||
    std::string groupName("Nested-Group");
 | 
			
		||||
    auto testGroup = new Group(groupName);
 | 
			
		||||
    Level1->GetRoot().addChild( *testGroup);
 | 
			
		||||
 | 
			
		||||
    std::string group2Name("Nested-Group2");
 | 
			
		||||
    auto testGroup2 = new Group(group2Name);
 | 
			
		||||
    Level1->GetRoot().addChild(*testGroup2);
 | 
			
		||||
 | 
			
		||||
    // Walk scene graph
 | 
			
		||||
    PrintSceneTree(Level1->GetRoot(),0);
 | 
			
		||||
 | 
			
		||||
    shader = new Shader(vertexShaderSource, fragmentShaderSource);
 | 
			
		||||
    cam = new Camera(glm::vec3(0.0f, 1.5f, 0.0f), glm::vec3(0.0f, 0.0f, 0.0f), 90.0f);
 | 
			
		||||
 | 
			
		||||
    memset(code, '\0', 254);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    // TODO: Move to runtime/ Engine 
 | 
			
		||||
    renderer = new BarinkEngine::Renderer();
 | 
			
		||||
    // NOTE: Submits should later be done through walking the sceneTree
 | 
			
		||||
    renderer->Submit(cube->renderable);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
* Runs every frame
 | 
			
		||||
@ -74,7 +73,7 @@ void ImmediateGraphicsDraw() {
 | 
			
		||||
    ShowStats();
 | 
			
		||||
 | 
			
		||||
    // Show different tooling for this specific sandbox
 | 
			
		||||
    CameraTool(cam);
 | 
			
		||||
   // CameraTool(cam);
 | 
			
		||||
    ScriptingTool(code);
 | 
			
		||||
 | 
			
		||||
    SceneExplorer(*Level1, "Scene Explorer");
 | 
			
		||||
@ -87,26 +86,9 @@ void ImmediateGraphicsDraw() {
 | 
			
		||||
*/
 | 
			
		||||
void Update()
 | 
			
		||||
{
 | 
			
		||||
    /*
 | 
			
		||||
    * NOTE: this needs to move to the renderer
 | 
			
		||||
    * Render code should not appear in the sandbox file
 | 
			
		||||
    */
 | 
			
		||||
    //glm::mat4 projection = glm::perspective(glm::radians(cam->Zoom), (800.0f / 600.0f), 0.001f, 100.0f);
 | 
			
		||||
 | 
			
		||||
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
 | 
			
		||||
 | 
			
		||||
    shader->Use();
 | 
			
		||||
    //shader->setUniformMat4("P", projection);
 | 
			
		||||
    //shader->setUniformMat4("M", CalculateModelMat(cube->transform));
 | 
			
		||||
 | 
			
		||||
    shader->setUniformMat4("V", cam->GetViewMatrix());
 | 
			
		||||
    
 | 
			
		||||
    //cube->renderable->material->Apply();
 | 
			
		||||
    renderer->Render();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    //Cube->Draw();
 | 
			
		||||
 | 
			
		||||
  
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
@ -115,5 +97,6 @@ void Update()
 | 
			
		||||
*/
 | 
			
		||||
void Stop() {
 | 
			
		||||
    delete MI;
 | 
			
		||||
    delete renderer;
 | 
			
		||||
    delete shader;
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user