Каков наилучший способ заполнить мои VBO?

Я рендерил пару мешей с OpenGL, хранящихся в объектах класса с именем CMesh. CMesh содержит множество вершин, представленных объектами CVertex и треугольниками. Каждый CVertex содержит Вектор со своей позицией.
Поскольку позиции вершин постоянно меняются во время рендеринга, мне приходится переписывать мой массив данных VBO каждый раз, когда я рендерим сетку. Это сильно тормозит всю программу, хотя у меня не так много вершин по сравнению с другими крупными играми.
Есть лучший способ сделать это?

0

Решение

используйте цель морфа или по крайней мере очищенную сетку с несколькими костями. это намного лучше, чем вручную обновлять каждую вершину

1

Другие решения

Предполагая, что вы используете GL_STATIC_DRAW, вы можете вместо этого изменить его на GL_DYNAMIC_DRAW, который не должен замедлять работу программы. В качестве альтернативы вычисление новой позиции объекта на графическом процессоре также является возможностью, на которую стоит обратить внимание.

0

По вопросам рекламы [email protected]