991b52b233
Builtin general structure created. Added a builtin::BasicScene class for quick general testing of the engine on different systems. The builtin::BasicScene class greatly reduces the amount of code needed to be handled by the developer by offering a pre-made way to handle it. It even includes pre-made shaders!
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();
|
|
}
|
|
}
|
|
|