b6adb7c23a
- Reorder all class headers to put public interface before private members - Document convention in AGENTS.md
36 lines
654 B
C++
36 lines
654 B
C++
#pragma once
|
|
|
|
#include "cbt/scene.hpp"
|
|
|
|
#include "cbt/opengl/shader.hpp"
|
|
#include "cbt/opengl/buffer.hpp"
|
|
#include "cbt/opengl/vao.hpp"
|
|
|
|
#include <glm/glm.hpp>
|
|
|
|
namespace cbt::scenes {
|
|
|
|
class cube final : public scene {
|
|
public:
|
|
cube();
|
|
auto init() -> bool override;
|
|
auto update(float delta_time) -> void override;
|
|
auto render() -> void override;
|
|
|
|
private:
|
|
opengl::shader m_prog;
|
|
opengl::buffer m_vbo;
|
|
opengl::vao m_vao;
|
|
|
|
GLint m_loc_proj = -1;
|
|
GLint m_loc_view = -1;
|
|
GLint m_loc_model = -1;
|
|
|
|
std::chrono::steady_clock::time_point m_start;
|
|
|
|
auto build_mesh() -> void;
|
|
auto build_shader() -> bool;
|
|
};
|
|
|
|
}
|