Я заметил, что большинство трехмерных игровых / рендеринговых сред представляют тела в виде сетки (обычно треугольной) 3d полигонов . Однако в некоторых примерах, таких как Second Life или PovRay , используются тела, построенные из набора 3d примитивов (куб, сфера, конус, тор и т. Д.), На которых Для создания более сложных фигур можно выполнять различные операции.
Итак, мой вопрос: зачем выбирать один метод вместо другого для представления трехмерных данных?
Я вижу, что для сложных операций трассировки лучей может быть полезно описывать поверхность как единую математическую функцию (как это делает PovRay), но SL, конечно, не пытается делать что-то столь амбициозное с их механизмом рендеринга.
Точно так же я могу представить, что может быть более эффективным использование полосы пропускания для описания обобщенных твердых тел вместо произвольных сеток, но действительно ли это того недостатка, от которого страдает SL (т. Е. Вещи моделирования действительно трудны и, как правило, результаты уродливы) - это было просто плохое решение, принятое на ранних этапах разработки SL, с которым они теперь застряли? Или это артефакт того, что проще всего реализовать в OpenGL / DirectX?
EDIT:
Прочитав ответы до сих пор, я теперь думаю, что у моих двух примеров есть совершенно разные причины для использования простых чисел:
Для PovRay простые числа могут быть побочным эффектом описания твердых тел как математических функций, что дает преимущества для сложной трассировки лучей.
Second Life, похоже, в основном занимается параметризацией своих 3-х элементов (как простых чисел, так и параметрических человеческих фигур) по соображениям производительности ... я думаю, это имеет смысл для онлайновой игры *. 1030 *