辐射度算法(Radiosity)
辐射度(Radiosity)算法是将表面当成漫反射表面,只考虑面与面之间漫反射的相互作用。
光线跟踪(Ray Tracing)是将表面当成镜面反射表面,只考虑面与面之间镜面反射的相互作用。
下面第一段摘自:http://www.opengpu.org/forum.php?mod=viewthread&tid=2489
辐射度算法的原理就是模拟真实世界中的光照原理,在场景中的每个位置收集所有在该位置所能看到的颜色信息,然后对这些颜色信息进行汇总处理,作为最终该位置的颜色并对当前的位置进行着色。在现实世界中,这个位置就代表了无穷多个无限小的像素点,但在计算机中却不可能做到这样一点,因此只能进行近似的模拟操作,这就是将几何空间场景进行分割处理,得到一些相对于整个场景来说很小的多边形面片,然后以这些面片为单位来代替现实世界中的无限小的像素点进行渲染着色。当然,如果我们对整个场景分割得越发细小,得到的最终光照效果也就是越好,但随之而来的代价就是渲染的时间越长。
辐射度算法之所以需要对整个场景中的所有面片计算光照,而不像Ray Tracing那样只对场景中可见点进行光线追踪的原因是,辐射度算法考虑的是所有面片之间漫反射的相互影响,包括了半球内的所有方向,而Ray Tracing只需要考虑反射方向。

浙公网安备 33010602011771号