diff --git a/src/VertexArray.h b/src/VertexArray.h index 4e2719f..2de27c1 100644 --- a/src/VertexArray.h +++ b/src/VertexArray.h @@ -48,7 +48,7 @@ void VertexArray::AddBuffer(const VertexBuffer &vb, const VertexBufferLayout &la { const auto &element = elements[i]; glEnableVertexAttribArray(i); - glVertexAttribPointer(i, element.count, element.type, element.normalize, layout.GetStride(), (const void *)offSet); + glVertexAttribPointer(i, element.count, element.type, element.normalize, layout.GetStride(), 0); offSet += element.count * VertexBufferElement::GetSizeOfType(element.type); } } \ No newline at end of file diff --git a/src/VertexBufferLayout.h b/src/VertexBufferLayout.h index e4614f9..8aa8d23 100644 --- a/src/VertexBufferLayout.h +++ b/src/VertexBufferLayout.h @@ -19,6 +19,7 @@ struct VertexBufferElement case GL_UNSIGNED_BYTE: return 1; } + // std::cout << type << std::endl; assert(false); return 0; } @@ -37,7 +38,7 @@ class VertexBufferLayout template void Push(unsigned int count) { - static_assert(false); + static_assert(true, "Assertion Failed"); } inline const std::vector GetElements() const { return m_Elements; } @@ -47,20 +48,20 @@ class VertexBufferLayout template <> void VertexBufferLayout::Push(unsigned int count) { - m_Elements.push_back({count, GL_FLOAT, GL_FALSE}); + m_Elements.push_back({GL_FLOAT, count, GL_FALSE}); m_Stride += count * VertexBufferElement::GetSizeOfType(GL_FLOAT); } template <> void VertexBufferLayout::Push(unsigned int count) { - m_Elements.push_back({count, GL_UNSIGNED_INT, GL_FALSE}); + m_Elements.push_back({GL_UNSIGNED_INT, count, GL_FALSE}); m_Stride += count * VertexBufferElement::GetSizeOfType(GL_UNSIGNED_INT); } template <> void VertexBufferLayout::Push(unsigned int count) { - m_Elements.push_back({count, GL_UNSIGNED_BYTE, GL_TRUE}); + m_Elements.push_back({GL_UNSIGNED_BYTE, count, GL_TRUE}); m_Stride += count * VertexBufferElement::GetSizeOfType(GL_UNSIGNED_BYTE); } diff --git a/src/a.out b/src/a.out index a2d944c..1c5b352 100755 Binary files a/src/a.out and b/src/a.out differ diff --git a/src/main.cpp b/src/main.cpp index d021e79..5037201 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -6,7 +6,7 @@ #include "Renderer.h" #include "VertexBuffer.h" #include "IndexBuffer.h" -// #include "VertexArray.h" +#include "VertexArray.h" struct ShaderProgramSource { @@ -141,14 +141,14 @@ int main() glGenVertexArrays(1, &vao); glBindVertexArray(vao); - // VertexArray va; + VertexArray va; VertexBuffer vb(points, 12 * sizeof(float)); - // VertexBufferLayout layout; - // layout.Push(3); - // va.AddBuffer(vb, layout); + VertexBufferLayout layout; + layout.Push(3); + va.AddBuffer(vb, layout); - glEnableVertexAttribArray(0); - glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, NULL); + // glEnableVertexAttribArray(0); + // glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, NULL); IndexBuffer ib(indices, 6); struct ShaderProgramSource shaderSource = ParseShader("Basic.shader"); @@ -170,8 +170,8 @@ int main() glUseProgram(shader); glUniform4f(location, r, 0.7f, 0.5f, 1.0f); - glBindVertexArray(vao); - // va.Bind(); + // glBindVertexArray(vao); + va.Bind(); ib.Bind(); if (r > 1.0f) increment = -0.05;