我应该如何精确混合折射和反射颜色,菲涅耳

时间:2017-03-13 12:49:51

标签: reflection raytracing fresnel

我正在为学校建立一个C raytracer。昨天我成功实现了我的第一次递归折射,但是我对结果并不是很满意。 a picture of my raytracer with 2 reflective spheres

我发现水球看起来不像是一个水球,所以如果你对我应该做什么有一些建议,请从我读过的内容中告诉我:

啤酒法

阴影的黑暗取决于射线光穿过折射材料的时间长度(我想我可以使用啤酒法)

我怀疑这可能来自我的实施,这就是我所做的:

首先我设置了这样的材料:

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

这是我的水材料的特点。

由于我正在使用菲涅耳来计算我应该用多少透射和折射的颜色来计算我的最终颜色,我想知道我的反射和折射系数是不应该只是布尔值。现在我用它们来思考我应该使用多少反射和折射,但是因为我还使用菲涅耳,所以它不是太多了?我对这部分感到有点困惑,并且从很多大学那里得到了大量的PDF,但精确的混合并没有被他们覆盖,他们只是告诉我们使用菲涅耳来选择我们应该使用多少反射光或透射光但是当他们输入伪代码时你可以读到他们递归调用它们的函数:if(material-> is_reflective) if(material-> is_refractive)

0 个答案:

没有答案