Skip to content

Commit

Permalink
#5912: Move matrix uniform adapter to base class
Browse files Browse the repository at this point in the history
  • Loading branch information
codereader committed Mar 12, 2022
1 parent 51ab0ed commit 0196387
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 17 deletions.
Expand Up @@ -189,14 +189,7 @@ void GLSLBumpProgram::applyRenderParams(const Vector3& viewer,

void GLSLBumpProgram::setObjectTransform(const Matrix4& transform)
{
float values[16];

for (auto i = 0; i < 16; ++i)
{
values[i] = static_cast<float>(transform[i]);
}

glUniformMatrix4fv(_locObjectTransform, 1, GL_FALSE, values);
loadMatrixUniform(_locObjectTransform, transform);
}

}
Expand Down
Expand Up @@ -75,14 +75,7 @@ void GLSLDepthFillAlphaProgram::applyAlphaTest(float alphaTest)

void GLSLDepthFillAlphaProgram::setObjectTransform(const Matrix4& transform)
{
float values[16];

for (auto i = 0; i < 16; ++i)
{
values[i] = static_cast<float>(transform[i]);
}

glUniformMatrix4fv(_locObjectTransform, 1, GL_FALSE, values);
loadMatrixUniform(_locObjectTransform, transform);
}

}
Expand Down
13 changes: 12 additions & 1 deletion radiantcore/rendersystem/backend/glprogram/GLSLProgramBase.cpp
@@ -1,6 +1,5 @@
#include "GLSLProgramBase.h"

#include "itextstream.h"
#include "debugging/gl.h"

namespace render
Expand Down Expand Up @@ -31,4 +30,16 @@ void GLSLProgramBase::disable()
debug::assertNoGlErrors();
}

void GLSLProgramBase::loadMatrixUniform(GLuint location, const Matrix4& matrix)
{
float values[16];

for (auto i = 0; i < 16; ++i)
{
values[i] = static_cast<float>(matrix[i]);
}

glUniformMatrix4fv(location, 1, GL_FALSE, values);
}

}
3 changes: 3 additions & 0 deletions radiantcore/rendersystem/backend/glprogram/GLSLProgramBase.h
Expand Up @@ -22,6 +22,9 @@ class GLSLProgramBase :
virtual void destroy() override;
virtual void enable() override;
virtual void disable() override;

protected:
void loadMatrixUniform(GLuint location, const Matrix4& matrix);
};

}

0 comments on commit 0196387

Please sign in to comment.