Skip to main content

## 2.2 Computing Caustics

Snell’s Law is not easy to code with this formulation, because it only imposes one restriction, making the computation of the refracted ray nontrivial. Assuming that the incident, transmitted, and surface normal rays are co-planar, a variety of coder-friendly formulas can be used, such as the one in Foley et al. 1996: $\vec T = \vec N \left ( \frac{\eta_1}{\eta_2}\left( \vec E \cdot \vec N\right) \pm \sqrt {1+\left(\frac{\eta_1}{\eta_2}\right)^2\left(\left( \vec E \cdot \vec N \right )^2 -1 \right)}\right) + \frac{\eta_1}{\eta_2} \vec E$

Here T is the transmitted ray, N is the surface normal, E is the incident ray, and $\eta_1$, $\eta_2$ are the indices of refraction.

## Обновление кода RayTracing

Добавлена поддержка kd-деревьев, измененена структура кода.
Скачать обновленный код можно здесь

# AA

При рендеринге методом трассировки лучей возникает проблема так называемых «лесенок» на границах объектов и текстур. Источник проблемы заключается в том, что мы пытаемся аналитическую функцию дискретизировать с некоторым постоянным шагом отчетов. Это ведет к неизбежной потере данных и, как следствие, к потере качества изображения. Процесс устранения таких лесенок называется Anti-Aliasing. No AA With AA
Читать дальше “Основы алгоритма трассировки лучей. Третья часть.” »

## Основы алгоритма трассировки лучей. Вторая часть.

Продолжение первой части статьи про трассировку лучей.

## Текстурирование

Что-то наскучило все одноцветное. Давайте сделаем мир прекрасней! Покроем наши объекты текстурами. Использование текстур
Читать дальше “Основы алгоритма трассировки лучей. Вторая часть.” »

# Практическая реализация алгоритма трассировки лучей

В этой статье я расскажу как в несколько нехитрых шагов достичь вот такого результата Ням-ням
Читать дальше “Основы алгоритма трассировки лучей. Первая часть.” »