31 lines
696 B
C++
31 lines
696 B
C++
#pragma once
|
|
#define GLM_SWIZZLE
|
|
#define GLM_ENABLE_EXPERIMENTAL
|
|
#include <glm/glm.hpp>
|
|
#include <glm/gtx/string_cast.hpp>
|
|
#include <vector>
|
|
#include "ADrawable.h"
|
|
|
|
class CheckeredFloor : public ADrawable
|
|
{
|
|
private :
|
|
GLuint _vaoHandle;
|
|
GLuint _vbo_vertices, _vbo_colors;
|
|
|
|
void genVertices(std::vector<glm::vec4> &vertices,
|
|
std::vector<glm::vec3> &colors);
|
|
void setup();
|
|
|
|
glm::vec3 _light_color = {.7f, .7f, .7f};
|
|
glm::vec3 _dark_color = {.3f, .3f, .3f};
|
|
|
|
int _size;
|
|
int _squares;
|
|
|
|
public :
|
|
CheckeredFloor(int size, int squares);
|
|
~CheckeredFloor();
|
|
void draw(ShaderProgram *shader, glm::mat4x4 proj_matrix, glm::mat4x4 view_matrix) override;
|
|
DrawableType getType() override;
|
|
|
|
}; |