Я использую glBufferData
, и для меня имеет смысл указать, что вам нужно указать подсказки использования (например, GL_DYNAMIC_DRAW).
Однако недавно я предложил в Stack Overflow использовать glMapBuffer
или glMapBufferRange
для изменения несмежных блоков данных вершин.
При использовании glMapBuffer
, кажется, нет точки, в которой вы указываете подсказку об использовании. Итак, мои вопросы таковы:
- Можно ли использовать
glMapBuffer
для данного VBO, если вы никогда не вызывалиglBufferData
на этом VBO? - Если да, то как OpenGL угадывает использование, так как ему не дали подсказки?
- Каковы преимущества/недостатки
glMapBuffer
vsglBufferData
? (Я знаю, что они не делают то же самое. Но кажется, что, получив указатель сglMapBuffer
, а затем записывая на этот адрес, вы можете сделать то же самое, что иglBufferData
.)