1.一种基于光线路径复用的动态场景渲染加速方法,其特征在于:包括预处理步骤与运行时步骤两个部分,当向场景发射若干光线并跟踪相应散射光线以计算图像时在运行前执行预处理步骤,若在运行过程中场景发生变动时,则执行运行时步骤;
所述预处理步骤包括以下步骤:
S1.从光源发射若干光线,或从视点发射反向跟踪的若干光线;
S2.计算各个光线在三维虚拟场景中的传播路径,并计算光线与场景中模型的碰撞点信息;
S3.设置光线Light相对应的完整传播路径为:从场景中一点开始,经过各个光线散射的碰撞点,直到结束的全体路径,将其表示为各个碰撞点的连线,即(Point1,Point2,Point3,……,PointN),记为Path,存储场景中所有的Path,运行时使用所有的Path即可直接生成静态场景对应的图像,如果场景发生变动则执行以下步骤并重新计算部分Path;
所述运行时步骤包括以下步骤:
S4.选取一随机数N,随机选取N段Path并弃用;
S5.对于每一个发生变动的物体,记变动前为Entity,变动后为Entity’;
S6.遍历所有的Path,找出所有与Entity或Entity’所碰撞Light,并对其相应的Path进行标记;
S7.对于每个被标记的Path,再次处理被丢弃的路径段,以发生碰撞的光线Light其对应Pointstart起点,计算其在Entity’对应三维虚拟场景中的传播路径,并进行存储;
S8.添加N段全新的Path。
2.根据权利要求1所述的一种基于光线路径复用的动态场景渲染加速方法,其特征在于:所述光线的传播路径计算通过路径追踪算法实现,所述路径追踪算法从空间中某一个点开始,根据该点的物体材质信息或光源属性或摄像机模型选择一个光线的传输方向,并计算该方向上与下一个物体的碰撞点,以该碰撞点为下一次迭代的起点,同时重复上述过程,直至触发预设的光线长度过长或权重过低等条件,算法结束。
3.根据权利要求1所述的一种基于光线路径复用的动态场景渲染加速方法,其特征在于:所述光线传播时采用的光照传输方法包括但不仅限于:双向路径追踪、光子映射、虚拟光源等算法。
4.根据权利要求3所述的一种基于光线路径复用的动态场景渲染加速方法,其特征在于:依据所述光照传输方法确定生成图像时单个像素的颜色计算,包括光的辐射度计算、光波的计算、能量的计算。
5.根据权利要求1所述的一种基于光线路径复用的动态场景渲染加速方法,其特征在于:存储所述光线路径所用的空间数据结构包括但不限于:八叉树、k‑d树、层次包围盒等存储结构。
6.根据权利要求1所述的一种基于光线路径复用的动态场景渲染加速方法,其特征在于:所述S2中对于传播路径中的每一段光线记起点为Pointstart、终点为Pointend,光线路径则为由Pointstart到Pointend的一条直线段构成,记为Light。
7.根据权利要求1所述的一种基于光线路径复用的动态场景渲染加速方法,其特征在于:所述S6中对于每个被标记的Path,将发生碰撞的光线Light其对应Pointstart之后的所有Point全部丢弃。
8.根据权利要求1所述的一种基于光线路径复用的动态场景渲染加速方法,其特征在于:采用Silverlight提供微语言属性语法来画出Path。