Работа на тему: «Анализ перспективности использования метода трассировки лучей в 3D моделировании» — страница 3

  • Просмотров 257
  • Скачиваний 6
  • Размер файла 357
    Кб

которые будут отражены в сфере. В итоге мы получаем несколько типов лучей. Первичные лучи используются для определения видимости объекта, а вторичные лучи разделяются на следующие: лучи преломления; лучи тени/освещения; лучи отражения. Рис. 1 Схема алгоритма трассировки лучей Все остальные алгоритмы основаны на алгоритме, показанном выше, и призваны оптимизировать вычисления. kd-дерево Алгоритм построения kd-дерева можно

представить следующим образом (будем называть прямоугольный параллелепипед англоязычным словом "бокс" (box)).   "Добавить" все примитивы в ограничивающий бокс. Т.е построить ограничивающий все примитивы бокс, который будет соответствовать корневому узлу дерева. Если примитивов в узле мало или достигнут предел глубины дерева, завершить построение. Выбрать плоскость разбиения, которая делит данный узел на два

дочерних. Будем называть их правым и левым узлами дерева. Добавить примитивы, пересекающиеся с боксом левого узла в левый узел, примитивы, пересекающиеся с боксом правого узла в правый. Для каждого из узлов рекурсивно выполнить данный алгоритм начиная с шага 2. Regular grid Все 3D пространство разбивается на мелкую регулярную сетку, состоящую из N*N*N кубиков. Идея заключается в том, что можно пробегать только по тем по кубикам,

через которые пошел луч. Метод не используется на практике. Достоинства и недостатки Помимо того, что метод трассировки лучей дает максимально фотореалистичную картинку, он имеет ряд и других достоинств: Возможность рендеринга гладких объектов без интерполяции их полигональными поверхностями (например, треугольниками). Вычислительная сложность метода слабо зависит от сложности сцены. Высокая алгоритмическая

распараллеливаемость вычислений — можно параллельно и независимо трассировать два и более лучей. При методе трассировки лучей отражения отображаются идеально (рис.2), причём без сложных алгоритмов, поскольку всё просчитывается основным алгоритмом рендеринга. Рис. 2 Отражения двух зеркальных шаров друг в друге У метода трассировки лучей имеются недостатки, наблюдаемые во всех алгоритмах которые определяют сферу

использования данного метода. Основным недостатком данного алгоритма рендеринга является его медлительность. Однако алгоритм трассировки лучей хорошо распараллеливается, а число ядер процессора увеличивается каждый год, поэтому мы должны увидеть линейный рост производительности трассировки лучей. Но такой подход не учитывает вторичные лучи (отражения, преломления и определения затенения), а рендеринг с первичными лучами