diff --git a/src/GLProgram.cc b/src/GLProgram.cc index f154cdf..4fa8d09 100644 --- a/src/GLProgram.cc +++ b/src/GLProgram.cc @@ -114,7 +114,14 @@ static VALUE GLProgram_load_uniform_location(VALUE self, VALUE uniform) } if (uniform_index >= 0) { - glprogram->uniforms[uniform_index] = glGetUniformLocation(glprogram->id, uniform_cstr); + GLint location = glGetUniformLocation(glprogram->id, uniform_cstr); + if (location < 0) + { + rb_raise(rb_eRuntimeError, + "Cannot determine uniform location for '%s'", + uniform_cstr); + } + glprogram->uniforms[uniform_index] = location; } else {