[发明专利]一种快速渲染三维场景的方法有效

专利信息
申请号: 201710540801.0 申请日: 2017-07-05
公开(公告)号: CN107481307B 公开(公告)日: 2023-04-07
发明(设计)人: 吴斌;王勇;李冬;牟元恩;常英贤;焦洋;石鑫磊;张营;周佳;陈剑飞 申请(专利权)人: 国网山东省电力公司泰安供电公司;国网山东省电力公司;国网山东省电力公司曲阜市供电公司
主分类号: G06T15/00 分类号: G06T15/00;G06T15/04;G06T1/20
代理公司: 北京锺维联合知识产权代理有限公司 11579 代理人: 赵中璋
地址: 271021*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 快速 渲染 三维 场景 方法
【权利要求书】:

1.一种快速渲染三维场景的方法,包括:

步骤S1000,判断三角面片的类型;

步骤S1100,如果为第一三角面片,采用第一渲染流水线进行渲染;

步骤S1200,如果为第二三角面片,采用第二渲染流水线进行渲染,其中,第一渲染流水线与第二渲染流水线是不相同的渲染流水线;

所述步骤S1100进一步包括:

步骤S1110,解析第一三角面片,获得三个顶点的空间坐标V11={x11,y11,z11}、V12={x12,y12,z12}、V13={x13,y13,z13};

步骤S1112,根据所述第一三角面片的三个顶点空间坐标V11、V12、V13,获得三个顶点的屏幕坐标S11={Xp11,Yp11,Zp11}、S12={Xp12,Yp12,Zp12}、S13={Xp13,Yp13,Zp13};其中Xp和Yp表示顶点在屏幕上的像素点的位置,Zp表示该顶点在垂直屏幕方向的深度;

步骤S1114,获得屏幕坐标下,获得第一三角面片的最小外接矩阵M1={Xmin,Ymin,Xmax,Ymax},其中Xmin和Xmax分别为{x11,x12,x13}中的最小值和最大值,Ymin和Ymax分别为{y11,y12,y13}中的最小值和最大值;

步骤S1120,在最小外接矩阵内,以深度扫描块为单位进行扫描,根据三角面片的顶点屏幕坐标,获得深度扫描块的四个角点的深度值{D1,D2,D3,D4},并计算Dmax和Dmin;其中,Dmax为{D1,D2,D3,D4}中的最大值,Dmin为{D1,D2,D3,D4}中的最小值;

步骤S1122,读取深度块缓存中对应与当前深度扫描块的最大深度值Zmax和最小深度值Zmin;深度块缓存为根据深度缓存获得的缓存,所述深度块缓存的分辨率低于所述深度缓存的分辨率;

步骤S1130,如果Dmin=Zmax,整体抛弃该深度扫描块对应的像素点,不再进行第一渲染流水线的后续处理;

步骤S1132,如果DmaxZmin,则计算该深度扫描块的所有像素点的深度值和颜色值,并使用颜色值更新帧缓存,使用深度值更新深度缓存和深度块缓存;

步骤S1134,如果DminZmax,且Dmax=Zmin,则计算该深度扫描块的所有像素点的深度值和颜色值,进行深度测试,通过深度测试的像素点的颜色值被用于更新帧缓存,深度值被用于更新深度缓存和深度块缓存;没有通过深度测试的像素点被抛弃,不再进行第一渲染流水线的后续处理。

2.根据权利要求1所述的方法,其特征在于,所述深度扫描块为正方形扫描块,正方形的边长为N个像素,N为整数。

3.根据权利要求2所述的方法,其特征在于,N为3或4。

4.根据权利要求2所述的方法,其特征在于,所述深度扫描块的分辨率为深度缓存的1/N*N。

5.根据权利要求2所述的方法,其特征在于,所述第二渲染流水线中提供了隐藏页;所述隐藏页为与深度缓存具有相同分辨率的缓存,隐藏页中任一位置(i,j)处的值包括Zijmax和Zijmin,其中Zijmax和Zijmin分别为深度缓存内的以{(i,j),(i+W-1,j),(i,j+H-1),(i+W-1,j+H-1)}为顶点的矩形内所有深度值的最大值和最小值;W和H为整数。

6.根据权利要求5所述的方法,其中W=H=N。

7.根据权利要求5所述的方法,其特征在于,所述步骤S1200进一步包括:

步骤S1210,解析第二三角面片,获得三个顶点的空间坐标V21={x21,y21,z21}、V12={x22,y22,z22}、V13={x23,y23,z23};

步骤S1212,根据三个顶点空间坐标V21、V22、V23,获得三个顶点的屏幕坐标S21={Xp21,Yp21,Zp21}、S12={Xp22,Yp22,Zp22}、S23={Xp23,Yp23,Zp23};其中Xp和Yp表示顶点在屏幕上的像素点的位置,Zp表示该顶点在垂直屏幕方向的深度;

步骤S1214,获得屏幕坐标下,获得第二三角面片的最小外接矩阵M2={Xmin,Ymin,Xmax,Ymax},其中Xmin和Xmax分别为{x21,x22,x23}中的最小值和最大值,Ymin和Ymax分别为{y21,y22,y23}中的最小值和最大值;

步骤S1216,如果Xmax-Xmin=W,而且Ymax-Ymin=H,那么执行步骤S1220;否则计算第二三角面片的所有像素点的深度值和颜色值,进行深度测试,通过深度测试的像素点的颜色值被用于更新帧缓存,深度值被用于更新隐藏页和深度缓存;没有通过深度测试的像素点被抛弃,不再进行第二渲染流水线的后续处理;

步骤S1220,获得第二三角面片的最大深度值Dmax和最小深度值Dmin,其中Dmax为{Zp21,Zp22,Zp23}中的最大值,Dmin为{Zp21,Zp22,Zp23}中的最小值;

步骤S1222,根据{Xmin,Ymin}获得隐藏页的最大值Zmax和最小值Zmin;

步骤S1230,如果Dmin=Zmax,则整体抛弃该深度扫描块对应的像素点,不再进行第二渲染流水线的后续处理;

步骤S1232,如果DmaxZmin,则计算第二三角面片的所有像素点的深度值和颜色值,并使用颜色值更新帧缓存,使用深度值更新深度缓存和隐藏页;

步骤S1234,如果DminZmax,且Dmax=Zmin,则计算第二三角面片的所有像素点的深度值和颜色值,进行深度测试,通过深度测试的像素点的颜色值被用于更新帧缓存,深度值被用于更新隐藏页和深度缓存;没有通过深度测试的像素点被抛弃,不再进行第二渲染流水线的后续处理。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国网山东省电力公司泰安供电公司;国网山东省电力公司;国网山东省电力公司曲阜市供电公司,未经国网山东省电力公司泰安供电公司;国网山东省电力公司;国网山东省电力公司曲阜市供电公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710540801.0/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top