2015-07-02 3 views
1

я был в состоянии получить код стартера для трассировки лучей онлайн и код стартера имеет два «Геометрии»:OpenGL трассировка лучей и сетки

класс сфера

класс треугольник

Я понимаю треугольник, так как код создает сетку с использованием треугольников и получает пересечение между треугольниками и лучей от каждого пикселя. Но как сфера вступает в игру?

Итак, я провел некоторое онлайн-исследование, и многие из них обсуждают пересечение треугольников и пересечение сфер. но как мы используем сферу в сетке?

+0

_ «Как сфера вступает в игру» _ - Как мы должны знать? Все, что вы нам сказали, это трассировка луча. –

+0

@CaptainObvlious Я думаю, я ожидаю ответа от людей, которые знают об алгоритме трассировки лучей. Многие учебники по трассировке лучей имеют треугольники и сферы в качестве примитивов. Я получаю треугольники, но я не понимаю, как работают сферы, если они не используются в сетке. – JayC

+0

@CaptainObvlious Я думаю, я должен был четко указать, что я спрашиваю об алгоритме трассировки лучей. Даже если я предоставил вам код, я не думаю, что вы бы это знали, но спасибо за комментарий капитана, которого не замечают. – JayC

ответ

1

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

 Смежные вопросы

  • Нет связанных вопросов^_^