mirror of
https://github.com/lubosz/overte.git
synced 2025-04-07 15:22:09 +02:00
Add additional safety checks to gl::Uniform::load
This commit is contained in:
parent
881f7f0142
commit
a93aa68901
1 changed files with 11 additions and 8 deletions
|
@ -14,14 +14,17 @@ using namespace gl;
|
|||
|
||||
void Uniform::load(GLuint glprogram, int index) {
|
||||
this->index = index;
|
||||
const GLint NAME_LENGTH = 256;
|
||||
GLchar glname[NAME_LENGTH];
|
||||
GLint length = 0;
|
||||
glGetActiveUniform(glprogram, index, NAME_LENGTH, &length, &size, &type, glname);
|
||||
// Length does NOT include the null terminator
|
||||
// https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glGetActiveUniform.xhtml
|
||||
name = std::string(glname, length);
|
||||
binding = glGetUniformLocation(glprogram, glname);
|
||||
if (index > 0) {
|
||||
static const GLint NAME_LENGTH = 1024;
|
||||
GLchar glname[NAME_LENGTH];
|
||||
memset(glname, 0, NAME_LENGTH);
|
||||
GLint length = 0;
|
||||
glGetActiveUniform(glprogram, index, NAME_LENGTH, &length, &size, &type, glname);
|
||||
// Length does NOT include the null terminator
|
||||
// https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glGetActiveUniform.xhtml
|
||||
name = std::string(glname, length);
|
||||
binding = glGetUniformLocation(glprogram, name.c_str());
|
||||
}
|
||||
}
|
||||
|
||||
bool isTextureType(GLenum type) {
|
||||
|
|
Loading…
Reference in a new issue