Поскольку я не хочу изобретать колесо, я ищу хорошую структуру данных, которая может помочь мне с действительно базовым 3D-редактором для механизма 3D-рендеринга, я в основном ищу структуру данных, которая может хранить необходимые данные, которые в моем случае ограничены:
Теперь это мой первый подход к 3D-рендерингу, но у меня есть хорошее представление о том, как работает растеризатор, как графические процессоры обрабатывают треугольники, точки и линии для создания изображения. Моя проблема в том, что теперь я не понимаю, что это новая «воксельная» структура данных есть и даже если это OpenVDB это правильная структура для меня или нет.
Я думаю, что большая часть «входных данных» для этого движка будет из obj-подобных файлов, поэтому в основном это треугольники и точки, но я все еще не хочу пропустить последние и лучшие, поэтому я спрашиваю, в чем реальная разница между OpenVDB и общая структура данных, которая содержит триангулированную сетку? Каковы возможные реальные приложения для OpenVDB?
Если вы понимаете разницу между векторным и растровым рисунком в 2D, это аналогично разнице между треугольниками и вокселями. Векторное искусство использует сегменты линий и геометрию для представления фигур так же, как треугольники представляют сетки в 3D. В качестве альтернативы, изображение использует пиксели, расположенные на сетке, для представления фигур, так же как воксели используются для представления трехмерных объемов. Например, сфера может быть представлена в виде сетки с треугольниками … или в виде набора вкл / выкл вокселей. на трехмерной сетке. 3D-текстуры теперь могут храниться на графическом процессоре, обеспечивая эффективную передачу лучей, обход и т. д. Они особенно полезны для дыма и жидкостей.
OpenVDB основывается на процессоре, но расширяет один трехмерный том, обеспечивая мульти-разрешение. Многие меньшие тома NxNxN объединяются в дерево, чтобы получить гораздо больший том.
То, какое представление вы используете, во многом зависит от того, какие операции 3D-редактирования вы хотите выполнить. Вы хотите строить деревья и органику? Хотите редактировать и моделировать жидкости? Вы хотите смоделировать персонажей? .. Для действительно простого, то есть вводного 3D-редактора, я бы предложил треугольники и сетки, поскольку они повсеместно распространены, и как разрабатываются конвейеры GPU.
Других решений пока нет …