terravisor/include/scene.h

50 lines
868 B
C++

#ifndef SCENE_H_
#define SCENE_H_
#include <GLFW/glfw3.h>
#include <glm/glm.hpp>
class Scene {
public:
Scene();
~Scene();
void Init();
void Display(GLFWwindow* window);
void DrawGui(GLFWwindow* window);
void Idle();
void ReloadShader();
private:
void InitBuffers();
void InitShaders();
GLuint shader_program_;
GLuint vao_;
float angle_;
float scale_;
float aspect_;
float near_z_;
float far_z_;
float fov_;
glm::mat4 view_matrix_;
glm::mat4 projection_matrix_;
void UpdateCamera();
};
#endif // SCENE_H_
// namespace scene
// {
// extern const int kInitWindowWidth;
// extern const int kInitWindowHeight;
// void Display(GLFWwindow* window);
// void DrawGUI(GLFWwindow* window);
// void Idle();
// void ReloadShader();
// void Init();
// } // namespace scene