charcoal/OpenGLEngine/MyApplication.h
2018-09-18 16:55:32 -04:00

46 lines
1013 B
C++

#pragma once
#include "Application.h"
#include "MyBasicScene.h"
#include "MySimple2DScene.h"
#include "MySimple3DScene.h"
#include "MySimpleCubeScene.h"
#include "MyBuiltinCubeScene.h"
#include "MyBuiltinLitScene.h"
#include "MyBuiltinTexturedScene.h"
#include "MyBuiltinLitShadowedScene.h"
using namespace charcoal;
class MyApplication :
public Application
{
public:
MyApplication(int width = -1, int height = -1);
protected:
void init() override;
void update(float delta_time, clock_t clock) override;
void prerender() override;
void render() override;
void close() override;
private:
void swap_scene(Scene* scene);
Scene* m_p_current_scene = nullptr;
MyBasicScene m_basic_scene;
MySimple2DScene m_simple_2d_scene;
MySimple3DScene m_simple_3d_scene;
MySimpleCubeScene m_simple_cube_scene;
MyBuiltinCubeScene m_builtin_basic_cube_scene;
MyBuiltinLitScene m_builtin_lit_scene;
MyBuiltinTexturedScene m_builtin_textured_scene;
MyBuiltinLitShadowedScene m_builtin_lit_shadowed_scene;
};