d63f341d89
Got the builtin basicscene to render. For some reason, it seems like the model matrices are not working correctly. The two shapes that are supposed to be rendering on screen are not moving around as they should be.
74 lines
1.4 KiB
C++
74 lines
1.4 KiB
C++
#include "MyApplication.h"
|
|
|
|
MyApplication::MyApplication(int width, int height)
|
|
: Application(width, height),
|
|
m_basic_scene(*this),
|
|
m_simple_2d_scene(*this),
|
|
m_simple_3d_scene(*this),
|
|
m_simple_cube_scene(*this),
|
|
m_builtin_basic_cube_scene(*this)
|
|
{}
|
|
|
|
void MyApplication::init()
|
|
{
|
|
m_basic_scene.init();
|
|
m_simple_2d_scene.init();
|
|
m_simple_3d_scene.init();
|
|
m_simple_cube_scene.init();
|
|
m_builtin_basic_cube_scene.init();
|
|
|
|
m_p_current_scene = &m_basic_scene;
|
|
m_p_current_scene->use();
|
|
}
|
|
|
|
void MyApplication::update(float delta_time, clock_t clock)
|
|
{
|
|
if (m_glfw_input_manager.is_key_pressed(GLFW_KEY_1))
|
|
{
|
|
swap_scene(&m_basic_scene);
|
|
}
|
|
else if (m_glfw_input_manager.is_key_pressed(GLFW_KEY_2))
|
|
{
|
|
swap_scene(&m_simple_2d_scene);
|
|
}
|
|
else if (m_glfw_input_manager.is_key_pressed(GLFW_KEY_3))
|
|
{
|
|
swap_scene(&m_simple_3d_scene);
|
|
}
|
|
else if (m_glfw_input_manager.is_key_pressed(GLFW_KEY_4))
|
|
{
|
|
swap_scene(&m_simple_cube_scene);
|
|
}
|
|
else if (m_glfw_input_manager.is_key_pressed(GLFW_KEY_5))
|
|
{
|
|
swap_scene(&m_builtin_basic_cube_scene);
|
|
}
|
|
m_p_current_scene->update(delta_time, clock);
|
|
}
|
|
|
|
void MyApplication::prerender()
|
|
{
|
|
m_p_current_scene->prerender();
|
|
}
|
|
|
|
void MyApplication::render()
|
|
{
|
|
m_p_current_scene->render();
|
|
}
|
|
|
|
void MyApplication::close()
|
|
{
|
|
m_p_current_scene->unuse();
|
|
}
|
|
|
|
void MyApplication::swap_scene(Scene* scene)
|
|
{
|
|
if (m_p_current_scene != scene)
|
|
{
|
|
m_p_current_scene->unuse();
|
|
m_p_current_scene = scene;
|
|
m_p_current_scene->use();
|
|
}
|
|
}
|
|
|