光线跟踪算法

光线跟踪算法,


在网上查了一下,大概的思路,可能说得不太清楚,记下来,免得以后忘了。

比较容易找到cpu中的算法,gpu的如gsls找一个,不过不能编译通过,也完全没搞懂

cpu中的算法容易理解,但处于的几何体基本是球体,平面之类的,而且不涉及纹理,描述原理多于工程实践。



根据渲染区域的大小,即宽h和高w,以及摄影机的位置,
生成 h * w条光线(逆向的)


程序处理时,一行一行地处理。


1 当前处理的光线,即一条射线r,找出第一个与r相交的物体.
  以及交点p,计算该点的法线n。


2 阴影处理:交点p,与光源连线l,如果有物体与l相关,则说明该点处于阴影之中
  有多个光源以此类推
  
3 根据法线n计算反射光线,对于反射光线,进行递归处理.(可以设置递归的最大次数)
  
4 根据以上三点处理得到的颜色值,就是渲染区对应像素点的颜色值
posted @ 2015-01-15 09:09  飞天大蟾蜍  阅读(68)  评论(0编辑  收藏  举报