Я хочу вырезать сетку на куски. Поэтому я сталкиваюсь с проблемой программирования: как эффективно добавить новый узел резания в исходный сетчатый VAO (буфер массива вершин)? С процедурой резания происходит создание нового режущего узла одновременно. Это означает, что для каждого кадра создано много новых узлов. Нужно ли переупорядочивать структуру VBO (объект буфера вершин) и IBO (объект буфера индекса), вставляя новые вершины и индексы в VBO и IBO на каждом кадре? Есть ли у кого-то хорошие идеи о том, как разрезать сетку и обновить VAO более эффективно?Как эффективно разрезать сетку?
0
A
ответ
0
У меня был такой вопрос, как Multiple, dynamic model data in opengl.
В принципе, из того, что я нашел, вы можете иметь один VAO и один набор VBO (местоположения, нормали и т. Д.), А затем вручную управлять памятью с помощью glBufferSubData(). Но я обнаружил, что слишком тяжело (а не тяжело, но много времени) за то, что я хотел, поэтому я просто добавляю VAO и новые VBOs для каждой отрезанной части. Затем удалите их, когда они исчезли. В основном просто создайте надежную систему сетки/модели, которая легко позволяет удалить функции удаления и копирования.
Смежные вопросы
- 1. Как эффективно разрезать memmap?
- 2. Эффективно разрезать триангуляцию (найти субтриангуляцию)
- 3. Как легко и эффективно разрезать файлы Javascript?
- 4. Что наиболее эффективно вытягивать сетку?
- 5. Как эффективно использовать сетку или коробку? (Правильно?)
- 6. копия delphi/freepascal коллекция в сетку эффективно
- 7. эффективно рисунок двумерную сетку в WPF
- 8. Эффективно рисуем сетку в Windows Forms
- 9. Как разрезать объект unicode?
- 10. Как «разрезать» на нуль?
- 11. Как разрезать PSD?
- 12. Как я могу эффективно реализовать raycasting через 2D-сетку?
- 13. Как «разрезать» std_logic_vector в VHDL?
- 14. Javascript: как разрезать массив объектов?
- 15. Как разрезать ArrayIterator на два?
- 16. Как разрезать массив в Баш
- 17. Как использовать Linux «разрезать» параллельно
- 18. Python, как разрезать файл netcdf.
- 19. Как эффективно разрезать список Python на куски 20 + фрагмент для остатка?
- 20. Заполните сетку divs максимально эффективно (пространство экрана, а не CPU)
- 21. "разрезать" div после вращения?
- 22. Безопасно ли разрезать хэш?
- 23. разрезать с различными интервалами?
- 24. Как разрезать отсортированный список в Jinja?
- 25. Как разрезать NSArray в Objective-C?
- 26. как разрезать массив с определенным значением
- 27. Как разрезать куб данных в дизайнере Birt?
- 28. Как разрезать любой контейнер на буферное изображение?
- 29. Matplotlib: как «разрезать» нежелательную часть цветной панели?
- 30. Как я могу «разрезать» на два значения?
opengl не имеет ничего общего с редактированием геометрии вашей модели, вы должны уточнить свой вопрос. – user2485710
@ user3072616 Если ваша сетка не добавляет новые новые вершины в сетку, вам нужно только обновить связанный буфер индекса с новой топологией. Однако, если вы вводите новые вершины, вам нужно будет обновить буфер массива и буфер индекса. Поскольку это похоже на то, что вы делаете это на процессоре, я рекомендую обновлять буферы с помощью 'glBufferData', особенно если они меняют размер. Что касается того, что вам нужно обновить за кадр, это зависит от того, какие данные изменяются. Если это только топология (индексы), вы можете оставить свои буферы вершин одинаковыми. – radical7