我在网上读过很多光线追踪算法。但是,我对阴影和阴影没有清晰的理解。根据我的理解,下面的伪代码是正确的吗?
for each primitive
check for intersection
if there is one
do color be half of the background color
Ishadow = true
break
for each ambient light in environment
calculate light contribution to the col
目前,我正试图在射线追踪器中对射线和其他类型的对象进行交叉测试。射线的碰撞是通过求解方程来数学解决的,而不是用常量或动态大小的步长来迭代,比如距离场。这是很好的工作,但有一个问题,我正在努力解决。
// So if we put these two together (changing x,y,z in
// equation 1 with the values from equation 2, we get:
cx,cy,cz = sphere center
r = sphere radius
ox,oy,oz = ray origin
dx,dy,dz = ray dire
我想知道是否有射线追踪经验的人能帮我解决我的程序中的几个问题,但是我不能发布太多的代码,因为这个程序是一个学校作业。我只是想知道我是否能得到一些帮助我朝着正确方向前进的建议。所以提前谢谢!
首先,正如你所看到的,在我的射线跟踪图像下面有大量的噪音。这个场景由一个三角形组成,在飞机上盘旋。还有一个单点光源.
第二,当我计算阴影射线时,噪声不会发生,但是它计算阴影的颜色是错误的。
我的射线追踪算法
for each pixel,
color c;
for each shape in the scene
send a ray through each pixel an