mirror of
https://github.com/AxioDL/PrimeWorldEditor.git
synced 2025-12-21 10:49:23 +00:00
Mac OpenGL fixes
This commit is contained in:
@@ -187,6 +187,12 @@ GLuint CShader::GetUniformBlockIndex(const char* pkUniformBlock)
|
||||
return glGetUniformBlockIndex(mProgram, pkUniformBlock);
|
||||
}
|
||||
|
||||
void CShader::UniformBlockBinding(GLuint BlockIndex, GLuint BlockBinding)
|
||||
{
|
||||
if (BlockIndex != GL_INVALID_INDEX)
|
||||
glUniformBlockBinding(mProgram, BlockIndex, BlockBinding);
|
||||
}
|
||||
|
||||
void CShader::SetTextureUniforms(uint32 NumTextures)
|
||||
{
|
||||
for (uint32 iTex = 0; iTex < NumTextures; iTex++)
|
||||
@@ -205,11 +211,11 @@ void CShader::SetCurrent()
|
||||
glUseProgram(mProgram);
|
||||
spCurrentShader = this;
|
||||
|
||||
glUniformBlockBinding(mProgram, mMVPBlockIndex, CGraphics::MVPBlockBindingPoint());
|
||||
glUniformBlockBinding(mProgram, mVertexBlockIndex, CGraphics::VertexBlockBindingPoint());
|
||||
glUniformBlockBinding(mProgram, mPixelBlockIndex, CGraphics::PixelBlockBindingPoint());
|
||||
glUniformBlockBinding(mProgram, mLightBlockIndex, CGraphics::LightBlockBindingPoint());
|
||||
glUniformBlockBinding(mProgram, mBoneTransformBlockIndex, CGraphics::BoneTransformBlockBindingPoint());
|
||||
UniformBlockBinding(mMVPBlockIndex, CGraphics::MVPBlockBindingPoint());
|
||||
UniformBlockBinding(mVertexBlockIndex, CGraphics::VertexBlockBindingPoint());
|
||||
UniformBlockBinding(mPixelBlockIndex, CGraphics::PixelBlockBindingPoint());
|
||||
UniformBlockBinding(mLightBlockIndex, CGraphics::LightBlockBindingPoint());
|
||||
UniformBlockBinding(mBoneTransformBlockIndex, CGraphics::BoneTransformBlockBindingPoint());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -37,6 +37,7 @@ public:
|
||||
GLuint GetProgramID();
|
||||
GLuint GetUniformLocation(const char* pkUniform);
|
||||
GLuint GetUniformBlockIndex(const char* pkUniformBlock);
|
||||
void UniformBlockBinding(GLuint BlockIndex, GLuint BlockBinding);
|
||||
void SetTextureUniforms(uint32 NumTextures);
|
||||
void SetNumLights(uint32 NumLights);
|
||||
void SetCurrent();
|
||||
|
||||
Reference in New Issue
Block a user