When using UBOs, we bind a uniform block to a binding point. Then we also bind the UBO to the same binding point: something like:
glUseProgram(ProgramName);
glUniformBlockBinding(ProgramName, uniformLocation, bindingPoint);
glBindBufferBase(GL_UNIFORM_BUFFER, bindingPoint, bufId);
I have 2 questions on this:
- should I specify glUniformBlockBinding first or glBindBufferBase or the order doesn't matter?
- If my understanding is correct, then glBindBufferBase must be called only after we have updated the UBO with data. If this is correct then this answers my first question.
uniformLocation
That's not a uniform location. That is a uniform block index. It's not the same thing. – Cachexia