commit c82c66fedda2b4e71c896b522cbdea21cfafbfba
parent 8502dadec04ac6c6c3d6eea67cbe2b33d76ac0da
Author: mpizzzle <m@michaelpercival.xyz>
Date: Thu, 22 Oct 2020 23:37:01 +0100
removing redundant vertex buffers
Diffstat:
1 file changed, 4 insertions(+), 32 deletions(-)
diff --git a/penrose.cpp b/penrose.cpp
@@ -15,7 +15,7 @@ static const uint32_t depth = 6;
static const glm::vec4 primary(0.7f, 0.7f, 0.0f, 1.0f);
static const glm::vec4 secondary(0.2f, 0.2f, 0.4f, 1.0f);
-static const glm::vec4 black(0.0f, 0.0f, 0.0f, 1.0f);
+static const glm::vec4 black(0.0f, 0.5f, 0.0f, 1.0f);
static const glm::vec4 background(0.15f, 0.15f, 0.35f, 1.0f);
static const GLfloat phi = 1.0 / ((1.0 + sqrt(5.0)) / 2);
@@ -173,15 +173,15 @@ int main() {
glfwSetInputMode(window, GLFW_STICKY_KEYS, GL_TRUE);
- GLuint VAOs[3], VBOs[3], EBOs[3];
+ GLuint VAOs[3], VBO, EBOs[3];
glGenVertexArrays(3, VAOs);
- glGenBuffers(3, VBOs);
+ glGenBuffers(1, &VBO);
glGenBuffers(3, EBOs);
glBindVertexArray(VAOs[0]);
- glBindBuffer(GL_ARRAY_BUFFER, VBOs[0]);
+ glBindBuffer(GL_ARRAY_BUFFER, VBO);
glBufferData(GL_ARRAY_BUFFER, points.size() * 4 * 2, &points[0], GL_STATIC_DRAW);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, EBOs[0]);
@@ -192,9 +192,6 @@ int main() {
glBindVertexArray(VAOs[1]);
- glBindBuffer(GL_ARRAY_BUFFER, VBOs[1]);
- glBufferData(GL_ARRAY_BUFFER, points.size() * 4 * 2, &points[0], GL_STATIC_DRAW);
-
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, EBOs[1]);
glBufferData(GL_ELEMENT_ARRAY_BUFFER, t124_indices.size() * 4, &t124_indices[0], GL_STATIC_DRAW);
@@ -203,34 +200,12 @@ int main() {
glBindVertexArray(VAOs[2]);
- glBindBuffer(GL_ARRAY_BUFFER, VBOs[2]);
- glBufferData(GL_ARRAY_BUFFER, points.size() * 4 * 2, &points[0], GL_STATIC_DRAW);
-
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, EBOs[2]);
glBufferData(GL_ELEMENT_ARRAY_BUFFER, line_indices.size() * 4, &line_indices[0], GL_STATIC_DRAW);
glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 2 * sizeof(GLfloat), (void*)0);
glEnableVertexAttribArray(0);
- //glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, EBOs[1]);
- //glBufferData(GL_ELEMENT_ARRAY_BUFFER, t124_indices.size() * 4, &t124_indices[0], GL_STATIC_DRAW);
-
- //glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, EBOs[2]);
- //glBufferData(GL_ELEMENT_ARRAY_BUFFER, line_indices.size() * 4, &line_indices[0], GL_STATIC_DRAW);
-
- //uint32_t EBO;
- //glGenBuffers(1, &EBO);
- //glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, EBO);
- //glBufferData(GL_ELEMENT_ARRAY_BUFFER, line_indices.size() * 4, &line_indices[0], GL_STATIC_DRAW);
-
- //uint32_t EBO;
- //glGenBuffers(1, &EBO);
- //glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, EBO);
- //glBufferData(GL_ELEMENT_ARRAY_BUFFER, t123_indices.size() * 4, &t123_indices[0], GL_STATIC_DRAW);
-
- //glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, EBOs[0]);
- //glBufferData(GL_ELEMENT_ARRAY_BUFFER, t124_indices.size() * 4, &t124_indices[0], GL_STATIC_DRAW);
-
GLuint programID = Shader::loadShaders("vertex.vert", "fragment.frag");
GLint paint = glGetUniformLocation(programID, "paint");
@@ -242,19 +217,16 @@ int main() {
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
glUniform4fv(paint, 1, &secondary[0]);
- glEnableVertexAttribArray(0);
glBindVertexArray(VAOs[0]);
glDrawElements(GL_TRIANGLES, t123_indices.size(), GL_UNSIGNED_INT, 0);
glUniform4fv(paint, 1, &primary[0]);
- glEnableVertexAttribArray(0);
glBindVertexArray(VAOs[1]);
glDrawElements(GL_TRIANGLES, t124_indices.size(), GL_UNSIGNED_INT, 0);
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
glUniform4fv(paint, 1, &black[0]);
- glEnableVertexAttribArray(0);
glBindVertexArray(VAOs[2]);
glDrawElements(GL_LINES, line_indices.size(), GL_UNSIGNED_INT, 0);