[发明专利]使用射线追踪和光栅化的结合来渲染场景有效
申请号: | 202010440601.X | 申请日: | 2020-05-22 |
公开(公告)号: | CN111986304B | 公开(公告)日: | 2023-07-07 |
发明(设计)人: | C·库比希;Z·哈库拉;M·克雷默 | 申请(专利权)人: | 辉达公司 |
主分类号: | G06T15/06 | 分类号: | G06T15/06;G06T15/40 |
代理公司: | 北京市磐华律师事务所 11336 | 代理人: | 高伟 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 射线 追踪 光栅 结合 渲染 场景 | ||
1.一种用于在具有图形处理单元(GPU)的计算系统上渲染当前场景的方法,包括:
利用射线追踪算法从所述当前场景的场景数据中确定第一遮挡物对象组;
识别第二遮挡物对象组,其中所述第二遮挡物对象组被标记为在先前渲染的场景中可见;
利用所述第一遮挡物对象组和所述第二遮挡物对象组建立渲染命令缓冲器,其中所述渲染命令缓冲器识别射线追踪算法和光栅化算法;
利用所述第一遮挡物对象组和所述第二遮挡物对象组、所述渲染命令缓冲器和所述GPU渲染第一显示对象;
利用所述第一遮挡物对象组和所述第二遮挡物对象组和所述第一显示对象测试第三对象组的遮挡;
利用所述第一遮挡物对象组和所述第二遮挡物对象组和来自所述测试所述第三对象组的遮挡的结果渲染第二显示对象;以及
利用所述第一显示对象和所述第二显示对象渲染所述当前场景。
2.根据权利要求1所述的方法,其中所述建立所述渲染命令缓冲器和所述渲染所述第二显示对象被重复用于一次以上的迭代。
3.根据权利要求1所述的方法,其中所述渲染所述第一显示对象使用射线追踪用于深度盐化对象点,并且使用简化表示渲染所述第一显示对象。
4.根据权利要求1所述的方法,其中所述渲染所述第一显示对象使用硬件加速和空间数据结构。
5.根据权利要求1所述的方法,其中所述方法被封装为用于射线追踪绘图的应用编程接口。
6.根据权利要求1所述的方法,其中所述测试所述第三对象组的遮挡包括一个或更多个可见性测试。
7.根据权利要求6所述的方法,其中所述可见性测试确定所述第三对象组中的每个对象的可见性参数,并且所述渲染所述第二显示对象使用所述可见性参数。
8.根据权利要求1所述的方法,其中所述渲染所述第一显示对象针对所述第一遮挡物对象组和所述第二遮挡物对象组中相对于可用屏幕空间具有高三角形密度的对象使用射线追踪。
9.根据权利要求1所述的方法,其中所述渲染所述第二显示对象使用光栅化器的几何形状管线来访问射线追踪加速结构以检索几何形状部分。
10.根据权利要求1所述的方法,其中所述渲染所述第二显示对象使用所述光栅化算法,所述光栅化算法从射线追踪加速结构中获取图元集群数据。
11.一种计算机程序产品,其具有存储在非暂时性计算机可读介质上的一系列操作指令,所述一系列操作指令在被执行时,从而指示数据处理装置在包括图形处理单元(GPU)的计算系统上执行用于渲染当前场景的操作,所述操作包括:
利用射线追踪算法从所述当前场景的场景数据中确定第一遮挡物对象组;
识别第二遮挡物对象组,其中所述第二遮挡物对象组被标记为在先前渲染的场景中可见;
利用所述第一遮挡物对象组和所述第二遮挡物对象组建立渲染命令缓冲器,其中所述渲染命令缓冲器识别射线追踪算法和光栅化算法;
利用所述第一遮挡物对象组和所述第二遮挡物对象组、所述渲染命令缓冲器和所述GPU渲染第一显示对象;
利用所述第一遮挡物对象组和所述第二遮挡物对象组和所述第一显示对象测试第三对象组的遮挡;
利用所述第一遮挡物对象组和所述第二遮挡物对象组、来自所述测试所述第三对象组的遮挡的结果以及从射线追踪加速结构中获取图元集群数据的光栅化算法渲染第二显示对象;以及
利用所述第一显示对象和所述第二显示对象渲染所述当前场景。
12.根据权利要求11所述的计算机程序产品,其中所述建立所述渲染命令缓冲器和所述渲染所述第二显示对象被重复用于所述当前场景的场景处理的一次以上的迭代。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于辉达公司,未经辉达公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010440601.X/1.html,转载请声明来源钻瓜专利网。