对象渲染方法及装置与流程
发布日期:2024-09-02 浏览次数: 专利申请、商标注册、软件著作权、资质办理快速响应热线:4006-054-001 微信:15998557370
申请号: | 申请日: | ||
公开(公告)号: | 公开(公告)日: | ||
发明(设计)人: | 申请(专利权)人: | ||
主分类号: | 分类号: | ||
代理公司: | 代理人: | ||
地址: | 国省代码: | ||
权利要求书: | 说明书: | ||
微信咨询: | 添加微信:543646或【点此在线咨询】 | 文件下载: | 【点此下载】请正确填写本页网址和接收邮箱 |
摘要: | 本说明书实施例涉及计算机,特别涉及对象渲染方法及装置。、随着互联网发展,虚拟动画、游戏等越来越多的出现在我们日常生活中,在虚拟场景中,通常会根据模型与虚拟摄像机之间的距离以及模型的数量等因素,对模型的渲染细节以及模型的阴影进行控制,但在模型较多的场景下,如果模型在靠近镜头的地方来回移动,会... | ||
相关服务: | 软件产品登记测试全国受理 软件著作权666元代写全部资料全国受理 实用新型专利1875代写全部资料全国受理 | ||
本说明书实施例涉及计算机,特别涉及对象渲染方法及装置。背景技术:1、随着互联网发展,虚拟动画、游戏等越来越多的出现在我们日常生活中,在虚拟场景中,通常会根据模型与虚拟摄像机之间的距离以及模型的数量等因素,对模型的渲染细节以及模型的阴影进行控制,但在模型较多的场景下,如果模型在靠近镜头的地方来回移动,会导致一些模型的lod(level of detail)级别发生变化,如果模型切换不平滑,会使模型看起来闪烁。2、然而,现有技术中针对这类型的问题,通常是通过固定的权重确定模型的lod等级,使得避免闪烁的效果较差,lod的分类越多,处理时候需要遍历的次数越多,会带来额外的性能开销,因此,亟需提供一种方案解决上述问题。技术实现思路1、有鉴于此,本技术实施例提供了一种对象渲染方法,以解决现有技术中存在的技术缺陷。本技术实施例同时提供了一种对象渲染装置,一种计算设备,一种计算机可读存储介质,以及一种计算机程序产品。2、根据本技术实施例的第一方面,提供了一种对象渲染方法,包括:3、确定虚拟场景中包含的多个虚拟对象,并采集每个虚拟对象与所述虚拟场景预设视角相机的距离参数;4、根据所述距离参数将所述多个虚拟对象划分为具有优先级关系的至少两个虚拟对象集合;5、按照每个虚拟对象集合对应的优先级信息依次遍历所述至少两个虚拟对象集合;6、根据遍历结果直至确定满足预设配置数量的目标虚拟对象的情况下,对所述目标虚拟对象包含的虚拟子对象进行渲染更新。7、可选的,所述根据所述距离参数将所述多个虚拟对象划分为具有优先级关系的至少两个虚拟对象集合,包括:8、获取至少一个距离阈值,将每个所述虚拟对象对应的距离参数分别与所述距离阈值进行比较,根据比较结果将所述多个虚拟对象划分为至少两个具有优先级关系的虚拟对象集合。9、可选的,所述按照每个虚拟对象集合对应的优先级信息依次遍历所述至少两个虚拟对象集合,包括:10、按照所述至少两个虚拟对象集合分别对应的优先级信息,在所述至少两个虚拟对象集合中选择第j虚拟对象集合,其中,j从1开始取值,且j为正整数;11、针对所述第j虚拟对象集合进行遍历,并根据遍历结果检测目标虚拟对象集合中包含的虚拟对象数量是否大于等于预设配置数量;12、若否,j自增1,并执行按照所述至少两个虚拟对象集合分别对应的优先级信息,在所述至少两个虚拟对象集合中选择第j虚拟对象集合的步骤;13、若是,将目标虚拟对象集合中包含的虚拟对象作为目标虚拟对象,并执行对所述目标虚拟对象包含的虚拟子对象进行渲染更新的步骤。14、可选的,所述针对所述第j虚拟对象集合进行遍历,并根据遍历结果检测目标虚拟对象集合中包含的虚拟对象数量是否大于等于预设配置数量,包括:15、在所述第j虚拟对象集合中选择第i虚拟对象,并判断所述第i虚拟对象在上一帧的历史渲染级别是否为目标渲染级别;16、若否,在所述第j虚拟对象集合中还存在剩余虚拟对象的情况下,i自增1,并执行在所述第j虚拟对象集合中选择第i虚拟对象的步骤;17、若是,将所述第i虚拟对象添加至目标虚拟对象集合,并检测所述目标虚拟对象集合中包含的虚拟对象数量是否大于等于预设配置数量;18、若小于,在所述第j虚拟对象集合中还存在剩余虚拟对象的情况下,i自增1,并执行在所述第j虚拟对象集合中选择第i虚拟对象的步骤;19、若大于等于,执行将目标虚拟对象集合中包含的虚拟对象作为目标虚拟对象,并执行对所述目标虚拟对象包含的虚拟子对象进行渲染更新的步骤。20、可选的,还包括:21、在所述第i虚拟对象在上一帧的历史渲染级别不是目标渲染级别,且所述第j虚拟对象集合中不存在剩余虚拟对象的情况下,j自增1,并执行针对所述第j虚拟对象集合进行遍历步骤;22、在所述目标虚拟对象集合中包含的虚拟对象数量小于预设配置数量,且所述第j虚拟对象集合中不存在剩余虚拟对象的情况下,j自增1,并执行针对所述第j虚拟对象集合进行遍历步骤。23、可选的,在j等于1的情况下,所述针对所述第j虚拟对象集合进行遍历,并根据遍历结果检测目标虚拟对象集合中包含的虚拟对象数量是否大于等于预设配置数量,包括:24、在第j虚拟对象集合中选择第i虚拟对象,将所述第i虚拟对象添加至目标虚拟对象集合,并检测所述目标虚拟对象集合中包含的虚拟对象数量是否大于等于预设配置数量;25、若是,将目标虚拟对象集合中包含的虚拟对象作为目标虚拟对象,并执行对所述目标虚拟对象包含的虚拟子对象进行渲染更新的步骤;26、若否,在所述第j虚拟对象集合中还存在剩余虚拟对象的情况下,i自增1,并执行在第j虚拟对象集合中选择第i虚拟对象的步骤。27、可选的,还包括:28、在所述目标虚拟对象集合中包含的虚拟对象数量小于预设配置数量,且所述至少两个虚拟对象集合均被遍历完成的情况下,在所述至少两个虚拟对象集合中选择第j等于2虚拟对象集合;29、在所述第j等于2虚拟对象集合中选择历史渲染级别不是目标渲染级别的候选虚拟对象,并将所述候选虚拟对象添加至目标虚拟对象集合;30、直至所述目标虚拟对象集合中包含的虚拟对象数量大于等于预设配置数量的情况下,执行将目标虚拟对象集合中包含的虚拟对象作为目标虚拟对象,并执行对所述目标虚拟对象包含的虚拟子对象进行渲染更新的步骤。31、根据本技术实施例的第二方面,提供了一种对象渲染装置,包括:32、参数确定模块,被配置为确定虚拟场景中包含的多个虚拟对象,并采集每个虚拟对象与所述虚拟场景预设视角相机的距离参数;33、集合划分模块,被配置为根据所述距离参数将所述多个虚拟对象划分为具有优先级关系的至少两个虚拟对象集合;34、遍历模块,被配置为按照每个虚拟对象集合对应的优先级信息依次遍历所述至少两个虚拟对象集合;35、渲染模块,被配置为根据遍历结果直至确定满足预设配置数量的目标虚拟对象的情况下,对所述目标虚拟对象包含的虚拟子对象进行渲染更新。36、根据本技术实施例的第三方面,提供了一种计算设备,包括:37、存储器和处理器;38、所述存储器用于存储计算机可执行指令,所述处理器执行所述计算机可执行指令时实现所述对象渲染方法的步骤。39、根据本技术实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现所述对象渲染方法的步骤。40、根据本说明书实施例的第五方面,提供了一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现上述对象渲染方法的步骤。41、本技术提供的对象渲染方法,通过将虚拟场景中的多个虚拟对象按照虚拟对象与预设视角相机之间的距离参数分为至少两个虚拟对象集合,便于后续遍历过程中按照距离对虚拟对象进行遍历,按照虚拟对象的优先级信息依次对至少两个虚拟对象进行遍历,实现对优先级别高的虚拟对象进行遍历,在遍历结果满足预设配置数量的目标对象的情况下,对目标虚拟对象包含的子对象进行渲染更新,实现了将遍历得到的目标虚拟对象中的细节进行重新渲染调整,本说明书实施例中的方案能够通过对虚拟对象本身进行遍历,获取到虚拟对象中需要进行处理的虚拟子对象进行渲染更新,而不需要对虚拟对象的子对象进行分类处理,进而避免对多种子对象分别进行排序带来的额外的性能开销。