aboutsummaryrefslogtreecommitdiff
path: root/src/RenderBackend/OpenGL/ShaderVec.cpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2019-10-27 01:30:34 +0200
committerdec05eba <dec05eba@protonmail.com>2021-11-18 15:21:48 +0100
commitfbd2e5d9a802db4fb5e056705ec599ac423e09be (patch)
treeebe71975909a0767b5de045c28fc28d09292bca3 /src/RenderBackend/OpenGL/ShaderVec.cpp
parent24934c7823457767855bd0abb249a55b8a8c077d (diff)
Create Shader class as a base for vertex and pixel shader
Diffstat (limited to 'src/RenderBackend/OpenGL/ShaderVec.cpp')
-rw-r--r--src/RenderBackend/OpenGL/ShaderVec.cpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/RenderBackend/OpenGL/ShaderVec.cpp b/src/RenderBackend/OpenGL/ShaderVec.cpp
index dd3bbe5..8897b84 100644
--- a/src/RenderBackend/OpenGL/ShaderVec.cpp
+++ b/src/RenderBackend/OpenGL/ShaderVec.cpp
@@ -1,6 +1,5 @@
#include "../../../include/RenderBackend/OpenGL/ShaderVec.hpp"
-#include "../../../include/RenderBackend/OpenGL/VertexShader.hpp"
-#include "../../../include/RenderBackend/OpenGL/PixelShader.hpp"
+#include "../../../include/RenderBackend/OpenGL/Shader.hpp"
#include "../../../include/RenderBackend/OpenGL/ShaderProgram.hpp"
#include "../../../include/RenderBackend/OpenGL/opengl.hpp"
#include <cstring>
@@ -16,7 +15,16 @@ namespace amalgine
{
return AttributeType::VEC2;
}
+ else if(strncmp(attributeName, "vec3", 4) == 0)
+ {
+ return AttributeType::VEC3;
+ }
+ else if(strncmp(attributeName, "vec4", 4) == 0)
+ {
+ return AttributeType::VEC4;
+ }
+ assert(false);
return AttributeType::NONE;
}
@@ -28,13 +36,13 @@ namespace amalgine
const string& ShaderInputVec2::getName() const
{
- return vertexShader->getInputAttributeName(attributeIndex);
+ return shader->getInputAttributeName(attributeIndex);
}
void ShaderInputVec2::setData(const DeviceMemory &data)
{
data.use();
- AttributeType attributeType = vertexShader->getInputAttributeType(attributeIndex);
+ AttributeType attributeType = shader->getInputAttributeType(attributeIndex);
switch(attributeType)
{
case AttributeType::VEC2:
@@ -51,11 +59,11 @@ namespace amalgine
const string& ShaderOutputVec4::getName() const
{
- return pixelShader->getOutputAttributeName(attributeIndex);
+ return shader->getOutputAttributeName(attributeIndex);
}
void ShaderOutputVec4::operator=(const ShaderVec4 &shaderVec4)
{
- pixelShader->assign(*this, shaderVec4);
+ shader->assign(*this, shaderVec4);
}
}