System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及虚拟场景,特别涉及一种三维对象渲染方法、装置、计算机设备及存储介质。
技术介绍
1、目前,在三维图形渲染领域,视锥剔除和遮挡剔除是两个常用的剔除方法。
2、在相关技术中,视锥剔除通过判断被测试物体包围盒与视锥是否全部或部分重叠,决定是否需要渲染这个物体;软光栅化遮挡剔除是在处理器端测试模型的轴对齐包围盒是否在当前遮挡体的深度缓冲内,达到保守估计模型可见性的目的。
3、上述剔除方式都是利用模型的包围盒进行可见性测试,也就是说即使模型只有一小部分可见,甚至完全不可见但由于其包围盒可见,结果导致整个模型仍然要参与渲染,造成处理资源的浪费。
技术实现思路
1、本申请实施例提供了一种三维对象渲染方法、装置、计算机设备及存储介质,能够降低三维图形渲染场景下的资源浪费。所述技术方案如下:
2、一方面,本申请实施例提供了一种三维对象渲染方法,所述方法包括:
3、响应于以指定视角显示虚拟场景中的三维对象,读取所述三维对象的三维模型的索引二叉树,所述索引二叉树中的各个节点分别包含所述三维模型中的至少一个顶点三角形的索引,且所述索引二叉树中的子节点是对所述子节点的父节点对应的顶点三角形进行聚类得到的;
4、基于所述指定视角以及所述索引二叉树,对所述三维对象进行可见性检测,获得所述索引二叉树中的可见节点;所述可见节点是包含的索引对应的顶点三角形在所述指定视角下可见的节点;
5、基于所述可见节点中包含的索引,渲染显示所述三维对
6、另一方面,本申请实施例提供了一种三维对象渲染装置,所述装置包括:
7、读取模块,用于响应于以指定视角显示虚拟场景中的三维对象,读取所述三维对象的三维模型的索引二叉树,所述索引二叉树中的各个节点分别包含所述三维模型中的至少一个顶点三角形的索引,且所述索引二叉树中的子节点是对所述子节点的父节点对应的顶点三角形进行聚类得到的;
8、检测模块,用于基于所述指定视角以及所述索引二叉树,对所述三维对象进行可见性检测,获得所述索引二叉树中的可见节点;所述可见节点是包含的索引对应的顶点三角形在所述指定视角下可见的节点;
9、渲染模块,用于基于所述可见节点中包含的索引,渲染显示所述三维对象。
10、另一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条计算机指令,所述至少一条计算机指令由所述处理器加载并执行以实现如上述方面所述的三维对象渲染方法。
11、另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机指令,所述至少一条计算机指令由处理器加载并执行以实现如上述方面所述的三维对象渲染方法。
12、另一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的三维对象渲染方法。
13、本申请实施例提供的技术方案的有益效果至少包括:
14、在对虚拟场景中的三维对象进行渲染时,通过三维对象的三维模型的索引二叉树进行可见性检测,以获取三维模型中可见的顶点三角形所在的可见节点,并基于可见节点进行三位对象的渲染,由于索引二叉树中的各个节点分别包含三维模型中的至少一个顶点三角形的索引,且索引二叉树中的子节点是对子节点的父节点对应的顶点三角形进行聚类得到的,因此,上述方案能够从三维模型中选择可见的顶点三角形进行渲染,而不需要对整个三维模型都进行渲染,从而降低了三维图形渲染场景下的资源浪费。
本文档来自技高网...【技术保护点】
1.一种三维对象渲染方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述指定视角以及所述索引二叉树,对所述三维对象进行可见性检测,获得所述索引二叉树中的可见节点,包括:
3.根据权利要求2所述的方法,其特征在于,所述对当前检测节点进行视锥检测和遮挡检测,获得检测结果,包括:
4.根据权利要求2所述的方法,其特征在于,所述对当前检测节点进行视锥检测和遮挡检测,获得检测结果,包括:
5.根据权利要求1所述的方法,其特征在于,所述可见节点的数量为n,n为≥1的整数;所述基于所述可见节点中包含的索引,渲染显示所述三维对象,包括:
6.根据权利要求5所述的方法,其特征在于,在所述索引二叉树中的每一层节点中,各个节点包含的顶点三角形的索引在内存中是连续的;
7.根据权利要求5或6所述的方法,其特征在于,所述对当前检测节点进行视锥检测和遮挡检测,获得检测结果,包括:
8.根据权利要求1至7任一所述的方法,其特征在于,所述响应于以指定视角显示虚拟场景中的三维对象,读取所述三维对
9.根据权利要求8所述的方法,其特征在于,所述从所述根节点开始,按照所述三维模型中的各个顶点三角形的位置,对所述三维模型中的各个顶点三角形逐级进行聚类,获得所述索引二叉树,包括:
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
11.根据权利要求10所述的方法,其特征在于,所述在不满足停止条件时,基于两个所述顶点三角形组更新两个所述聚类中心点,包括:
12.一种三维对象渲染装置,其特征在于,所述装置包括:
13.一种计算机设备,其特征在于,计算机设备包含处理器和存储器,所述存储器中存储由至少一条计算机指令,所述至少一条计算机指令由所述处理器加载并执行以实现如权利要求1至11任一所述的三维对象渲染方法。
14.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条计算机指令,所述至少一条计算机指令由处理器加载并执行以实现如权利要求1至11任一所述的三维对象渲染方法。
15.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令由计算机设备的处理器读取并执行,使得所述计算机设备执行如权利要求1至11任一所述的三维对象渲染方法。
...【技术特征摘要】
1.一种三维对象渲染方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述指定视角以及所述索引二叉树,对所述三维对象进行可见性检测,获得所述索引二叉树中的可见节点,包括:
3.根据权利要求2所述的方法,其特征在于,所述对当前检测节点进行视锥检测和遮挡检测,获得检测结果,包括:
4.根据权利要求2所述的方法,其特征在于,所述对当前检测节点进行视锥检测和遮挡检测,获得检测结果,包括:
5.根据权利要求1所述的方法,其特征在于,所述可见节点的数量为n,n为≥1的整数;所述基于所述可见节点中包含的索引,渲染显示所述三维对象,包括:
6.根据权利要求5所述的方法,其特征在于,在所述索引二叉树中的每一层节点中,各个节点包含的顶点三角形的索引在内存中是连续的;
7.根据权利要求5或6所述的方法,其特征在于,所述对当前检测节点进行视锥检测和遮挡检测,获得检测结果,包括:
8.根据权利要求1至7任一所述的方法,其特征在于,所述响应于以指定视角显示虚拟场景中的三维对象,读取所述三维对象的三维模型的索引二叉树之前,还包括:
9.根...
【专利技术属性】
技术研发人员:陈玉钢,郑榕,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。