From ffe9dac56488ebfc9f5c37c4e400f4f5469a8a46 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Tue, 26 Dec 2017 17:29:28 +0100 Subject: Add device memory, device frame. Rendering works --- src/RenderBackend/OpenGL/VertexShader.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'src/RenderBackend/OpenGL/VertexShader.cpp') diff --git a/src/RenderBackend/OpenGL/VertexShader.cpp b/src/RenderBackend/OpenGL/VertexShader.cpp index 1505ff4..ac9a159 100644 --- a/src/RenderBackend/OpenGL/VertexShader.cpp +++ b/src/RenderBackend/OpenGL/VertexShader.cpp @@ -1,5 +1,4 @@ #include "../../../include/RenderBackend/OpenGL/VertexShader.hpp" -#include "../../../include/RenderBackend/OpenGL/CommonShader.hpp" #include "../../../include/RenderBackend/OpenGL/opengl.hpp" #include "../../../include/RenderBackend/OpenGL/CompiledShader.hpp" @@ -37,10 +36,16 @@ namespace amalgine writeHeader("#version 330 core\n\n"); } - const string& VertexShader::getInputAttributeName(i32 attributeIndex) + const string& VertexShader::getInputAttributeName(i32 attributeIndex) const { assert(attributeIndex < vertexAttributeNames.size()); - return vertexAttributeNames[attributeIndex]; + return vertexAttributeNames[attributeIndex].name; + } + + AttributeType VertexShader::getInputAttributeType(i32 attributeIndex) const + { + assert(attributeIndex < vertexAttributeNames.size()); + return getAttributeTypeByName(vertexAttributeNames[attributeIndex].typeName); } ShaderInputVec2 VertexShader::defineInputVec2(const std::string &name) @@ -75,7 +80,10 @@ namespace amalgine i32 attributeIndex = locationCounter; vertexAttributes[variableName] = locationCounter; - vertexAttributeNames.push_back(variableName); + ShaderAttribute shaderAttribute; + shaderAttribute.name = variableName; + shaderAttribute.typeName = typeName; + vertexAttributeNames.push_back(shaderAttribute); writeHeader("layout(location = "); writeHeader(to_string(locationCounter)); -- cgit v1.2.3