OpenRT函数库以及光线追踪技术原理
OpenRT函数库是源自Saarland大学的一个计算机图形小组的实时光线追踪项目,OpenRT实时光线追踪项目的目标是为3D游戏加入实时的光线追踪效果,因此该项目会包含以下几个部分:一个高效的光线追踪处理核心、以及语法与目前OpenGL类似的OpenRT-API应用程序接口,客户程序员通过这部分接触之前高效的光线追踪处理核心的功能,并在游戏场景设计中调用这些应用程序接口。

Saarland大学除了开发出了OpenRT函数库外,还涉及了一个实时光线追踪的硬件架构——SaarCOR,SaarCOR可以实时生成3D场景中高仿正度的画面,这颗芯片可以通过目前已知的最好的算法实现光线追踪的实时特效,不过SaarCOR不能单独工作,它还是需要一点硬件资源(主要是处理器)以及会占用一小部分内存带宽。它除了可以应用在电脑游戏场景处理上之外,还可以应用在汽车、飞机表面、建筑物等产品的仿真概念图设计上。
SaarCOR首次实现实时显示使用百万级以上多边形高复杂度照片级画质的物体(Object),并且SaarCOR的架构是高度灵活以及可升级的,这些特性可以让设计者为不同的场景应用作出调整,以使SaarCOR能兼容更多的应用。

1、设定一个虚拟的Camera,由这个Camera射出的监察光线会穿过显示屏幕上的每一个像素点。
2、Camera光线的交汇点(可以理解为视线焦点)在我们上面的示意图中被标注成为绿色的球。
3、在上面的模型建设完后,调出绿色球模型的(预先编排好的)光照程序(预先编排好的)。
4、因为绿色球模型的原料是可以反射光线的,所以在上面的模型中绿色球模型的光照程序被调用后,绿色球模型表面的原料会被完全反射,这些反射光线以绿色球为原点折射出去。
5、这些反射光线会映射在一个区域上面,在上面的模型中就是红色的区域。
6、调用反射光照程序(预先编排好的)处理红色区域的成像。
7、反射光照程序被调用后,依照现实环境就会产生出阴影光线,并且这个阴影光线将是透过反射的成像区域进入光源方向。
8、在反射成像区的点与光源之间存在一个物件。
9、因为上面中间物件的存在,所以不会有任何颜色被添加到这个多边形区域的点上,因此这个点就会被我们描绘成物件的阴影。
10、不过这个阴影区域一旦回归到Frame Buffer中后将会恢复其本身的颜色。

以上就是光线追踪技术在OpenRT语法使用下针对一个物件的具体实例,从该设计实例中已经可以看到光线追踪的实现原理。不过需要指出的是上面实例仅是针对单个物件,如果上上面指环王电影场景一样多的物件同时出现的话,那光线追踪效果的工作量是不可想象的。之前Daniel Pohl使用了多台电脑丛集(Client)并行实时渲染高分辨率下的光线追踪(Ray Tracing)实时场景正是因为这个原因,但半导体技术的进步使得单台PC的运算能力有飞跃性的提高,这也使光线追踪(Ray Tracing)走入游戏应用成为可能。
上一页 [1] [2] [3] [4] [5] 下一页 |