Add belly to triangle
authorLuke Lau <luke_lau@icloud.com>
Fri, 12 Oct 2018 22:00:30 +0000 (23:00 +0100)
committerLuke Lau <luke_lau@icloud.com>
Fri, 12 Oct 2018 22:00:30 +0000 (23:00 +0100)
main.cpp

index 1df11ec9417b9e7e94659686c276da0524ed9e71..67c3ebeeae849482ba27d7ea0f9be79cd76c70f7 100644 (file)
--- a/main.cpp
+++ b/main.cpp
@@ -86,7 +86,7 @@ void drawPyramids(float d, glm::vec3 lightPos) {
 
                glUniformMatrix4fv(modelId, 1, GL_FALSE, glm::value_ptr(model));
                
-               glDrawArrays(GL_TRIANGLES, 0, 12);
+               glDrawArrays(GL_TRIANGLES, 0, 18);
        }
 
 };
@@ -166,12 +166,20 @@ GLuint setupBuffers(glm::vec3* vertices, glm::vec3* normals, GLuint progId) {
                1, 0, 0, 1,
                0, 0, 1, 1,
 
+               0, 1, 0, 1,
+               1, 0, 0, 1,
+               0, 0, 1, 1,
+
+               0, 1, 0, 1,
+               1, 0, 0, 1,
+               0, 0, 1, 1,
+               
                0, 1, 0, 1,
                1, 0, 0, 1,
                0, 0, 1, 1
        };
 
-       GLuint numVerts = 12;
+       GLuint numVerts = 18;
 
        GLuint vbo;
        glGenBuffers(1, &vbo);
@@ -307,7 +315,7 @@ void validateProgram(GLuint progId) {
 }
 
 void init() {
-       glm::vec3 vertices[12] = {
+       glm::vec3 vertices[18] = {
                glm::vec3(0.0f, 1.0f, 0.0f),
                glm::vec3(1.0f, -1.0f, -1.0f),
                glm::vec3(-1.0f, -1.0f, -1.0f),
@@ -322,12 +330,19 @@ void init() {
 
                glm::vec3(0.0f, 1.0f, 0.0f),
                glm::vec3(1.0f, -1.0f, 1.0f),
-               glm::vec3(1.0f, -1.0f, -1.0f)
+               glm::vec3(1.0f, -1.0f, -1.0f),
+
+               glm::vec3(1, -1, 1),
+               glm::vec3(-1, -1, 1),
+               glm::vec3(-1, -1, -1),
+               glm::vec3(-1, -1, -1),
+               glm::vec3(1, -1, -1),
+               glm::vec3(1, -1, 1)
        };
 
        // work out the normals
-       glm::vec3 normals[12];
-       for (int i = 0; i < 4; i++) {
+       glm::vec3 normals[18];
+       for (int i = 0; i < 6; i++) {
                glm::vec3 a = vertices[i * 3];
                glm::vec3 b = vertices[i * 3 + 1];
                glm::vec3 c = vertices[i * 3 + 2];