forkkmuopengl/BaseGLProject/CheckeredFloor.h

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;
};