Quando si utilizzano UBO, si associa un blocco uniforme a un punto di rilegatura. Poi abbiamo anche associare l'UBO allo stesso punto di rilegatura: qualcosa di simile:L'ordine tra glUniformBlockBinding e glBindBufferBase è importante?
glUseProgram(ProgramName);
glUniformBlockBinding(ProgramName, uniformLocation, bindingPoint);
glBindBufferBase(GL_UNIFORM_BUFFER, bindingPoint, bufId);
Ho 2 domande su questo:
- mi dovrebbe specificare glUniformBlockBinding primo o glBindBufferBase o l'ordine non importa ?
- Se la mia comprensione è corretta, allora glBindBufferBase deve essere chiamato solo dopo aver aggiornato l'UBO con i dati. Se questo è corretto, questo risponde alla mia prima domanda.
'uniformLocation' Questa non è una posizione uniforme. Questo è un indice di blocco uniforme. Non è la stessa cosa –
* "Se questo è corretto, questo risponde alla mia prima domanda." * - No, non lo fa (facendo riferimento alla * "risposta" * non * è corretto "*). Perché dovrebbe? –