OpenGL 2.1: glMapBuffer и подсказки по использованию

Я использовал glBufferData, и мне кажется логичным, что вам придется указать подсказки по использованию (например, GL_DYNAMIC_DRAW).

Однако недавно на Stack Overflow мне было предложено использовать glMapBuffer или glMapBufferRange для изменения несмежных блоков вершинных данных.

При использовании glMapBuffer, похоже, нет никакого пункта, в котором можно было бы указать подсказку по использованию. Итак, мои вопросы следующие:

  • Можно ли использовать glMapBuffer на данном VBO, если вы никогда не вызывали glBufferData на этом VBO?
  • Если да, то как OpenGL угадывает использование, ведь ему не дали подсказки?
  • Каковы преимущества/недостатки glMapBuffer против glBufferData? (Я знаю, что они делают не совсем одно и то же. Но кажется, что, получив указатель с помощью glMapBuffer, а затем записав по этому адресу, можно сделать то же самое, что делает glBufferData. )

11
задан Community 23 May 2017 в 12:16
поделиться