发明名称 基于GPU集群的实时光线跟踪渲染方法
摘要 本发明公开了一种基于GPU集群的实时光线跟踪渲染方法,包括如下步骤:预先将要渲染的每帧任务以屏幕空间上划分成若干的子任务;利用动态负载均衡机制将子任务分配到集群中的各个渲染机器节点上;利用GPU在每个渲染节点内部并行地对每个子任务的屏幕空间每个像素进行并行光线跟踪计算;在各个渲染节点上的子任务渲染完成后,发送中间图像给管理机器节点,管理机器节点在接收到所有子任务的渲染结果图像后,将所有子任务的渲染结果图像拼接成最终的结果图像。本发明通过GPU高并行地来进行光线跟踪计算,同时使用极坐标表示方式进行点和三角面片的求交运算,在得到真实感效果画面的同时,得到了非常好的渲染性能,满足了应用的实时需求。
申请公布号 CN103049927B 申请公布日期 2016.06.29
申请号 CN201310017768.5 申请日期 2013.01.17
申请人 浙江大学 发明人 赵磊;张勤飞;任艳姣;陆胜;李伟
分类号 G06T15/06(2011.01)I 主分类号 G06T15/06(2011.01)I
代理机构 杭州天勤知识产权代理有限公司 33224 代理人 胡红娟
主权项 一种基于GPU集群的实时光线跟踪渲染方法,其特征在于,包括如下步骤:1)将要渲染的每帧任务的像素区域划分成若干相互独立的子像素区域,一个要渲染的子任务对应一个子像素区域;2)利用动态负载均衡机制将子任务分配到集群中的各个渲染机器节点上,具体如下:首先初始化任务,将首帧的所有子任务均等的分配到各个渲染机器节点,首帧的所有子任务渲染完成后,每个渲染节点上的子任务量被动态调整,使每个渲染节点的渲染传输时间尽量相等;每个渲染节点上的渲染任务量的动态调整过程:管理机器节点记录每个渲染机器节点完成子任务的计算时间以及任务数,当首帧的所有子任务计算结束后,管理机器节点会根据每个渲染节点的计算能力进行动态地调整,在后续帧子任务的分配时,性能差的渲染节点会分配到较少的子任务数,性能高的渲染节点会分配到较多的任务数,使每个渲染机器节点的渲染时间尽可能相等;每个渲染机器节点内每次子任务的流程:初始化场景同时构建和生成KD树,KD树的每个叶子节点是一个子任务和该子任务的渲染机器标号以及计算时间;在显存中根据分配到的子任务大小申请一块存储区;对子任务中屏幕空间每个像素,在GPU上启动一个线程执行光线跟踪运算,结果保存在显存里;渲染完成后读取显存数据并发送给管理机器节点;3)在每个渲染机器节点内部利用GPU并行地对每个子任务的屏幕空间每个像素进行计算光线跟踪;4)在各个渲染机器节点上的子任务完成后,发送中间图像给管理机器节点,管理机器节点在接收到所有子任务的渲染结果图像后,将所有子任务的渲染结果图像拼接成最终的结果图像。
地址 310027 浙江省杭州市西湖区浙大路38号