Как мне точно смешать преломленный и отраженный цвета, френеля

Я строю raytracer в С для школы. Вчера я успешно применил свою первую рекурсивную рефракцию, но я не очень доволен результатом. картина моего raytracer с 2 отражающими сферами

Я считаю, что водяной шар не похож на водный шар, поэтому, если у вас есть какой-то совет, что мне делать дальше, скажите мне, пожалуйста, из того, что я прочитал:

Пивной закон

Заставить тьму тени зависеть от того, как долго луч света проходил через преломляющий материал (думаю, я могу использовать закон пива для этого)

Я подозреваю, что это может исходить из моей реализации, вот что я сделал:

Сначала я установил такой материал:

-DIFFUSE 1
-SPECULAR 10
-REFLEXION 0.1
-REFRACTION 0.9
-IOR 1.33

Это характеристики моего водного материала.

Поскольку я использую френель, чтобы рассчитать, сколько переданного и преломленного цвета мне нужно взять, чтобы вычислить мой последний цвет, мне интересно, не должны ли мои коэффициенты отражения и преломления быть просто логическими. Прямо сейчас я использую их, чтобы понять, сколько цветов отражения и преломления я должен использовать, но не слишком ли это, поскольку я также использую френель? Я немного смущен этой частью и пишу много PDF-файлов из многих университетов, но точная смесь не покрывается ими, они просто говорят нам использовать fresnel, чтобы выбрать, сколько отраженного или проходящего света мы должны использовать, но когда они помещают псевдокод, который вы можете прочитать, что они рекурсивно вызывают их функцию: if (material->is_reflective) if (material->is_refractive)

0 ответов

Другие вопросы по тегам