12 #include "../VisPro/CutawaySurface.h" 14 #include "BoundingBox.h" 18 glm::mat4 model_matrix;
21 Mesh(std::vector<glm::vec3>& v, std::vector<glm::vec3>& n, std::vector<Face*>& f, std::vector<glm::vec2>& uv,
Shader* shader ,glm::mat4& model_m);
28 virtual void update(
float delta_t);
29 void rotateLocally(
float delta_t, glm::vec3 axis);
30 void rotateAroundCenter(glm::vec3& world_center,
float angle, glm::vec3 axis);
33 std::vector<glm::vec3> getNormals();
34 std::vector<glm::vec3> getVertices();
35 std::vector<GLuint> getIndices();
75 void setLighting(std::vector<std::shared_ptr<PointLight>> *allLights);
76 void setCutawayDimension(glm::vec2 dim);
81 glm::vec3 getRelativePosition(glm::vec3 p);
87 std::vector<glm::vec3> vertices;
88 std::vector<glm::vec3> normals;
89 std::vector<glm::vec2> uvs;
90 std::vector<GLuint> indices;
91 GLuint v_count, index_count;
94 const std::vector<Face*> faces;
97 GLuint pos_vbo, normal_vbo, uv_vbo, index_vbo;
105 const float* Mesh::vec3ToFloatArray(std::list<glm::vec3*>& vectors);
void renderPass(const CutawaySurface *c, glm::mat4 &vp, glm::vec3 cam, float clip)
Definition: Mesh.cpp:130
void renderToZBuffer()
Definition: Mesh.cpp:124
virtual void draw()
Definition: Mesh.cpp:166
void setUniformsForRenderPass(glm::mat4 &vp, glm::vec3 cam, float clip)
Definition: Mesh.cpp:137
virtual void update(float delta_t)
Definition: Mesh.cpp:172
Definition: BoundingBox.h:4
Definition: CutawaySurface.h:14
void zBufferPass(ZBufferShader *z, glm::mat4 &vp)
Definition: Mesh.cpp:112
Definition: ZBufferShader.h:11
void setUniformsForZBufferPass(ZBufferShader *z, glm::mat4 &vp)
Definition: Mesh.cpp:118