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