稀疏渲染的数据驱动方法及装置、存储介质、电子装置制造方法及图纸

技术编号:27978532 阅读:14 留言:0更新日期:2021-04-06 14:13
本发明专利技术提供了一种稀疏渲染的数据驱动方法及装置、存储介质、电子装置,其中,该方法包括:在移动设备中构建渲染对象的层次Z缓冲数据;在所述移动设备的GPU中基于所述层次Z缓冲数据对所述渲染对象进行视锥体剔除和/或遮挡剔除,得到贴图数据;将所述贴图数据从所述GPU传输至可见缓冲区中;在所述可见缓冲区中基于所述贴图数据和预设贴图坐标信息采用稀疏贴图构建所述渲染对象的几何数据,并将所述几何数据传输至所述GPU进行渲染。通过本发明专利技术,解决了相关技术在贴图延迟渲染时系统内存占用和带宽开销过大的技术问题,均衡了GPU驱动通道中的内存分布,提高了整个GPU驱动的数据传输速度和画面渲染速度。

【技术实现步骤摘要】
稀疏渲染的数据驱动方法及装置、存储介质、电子装置
本专利技术涉及显示驱动领域,具体而言,涉及一种稀疏渲染的数据驱动方法及装置、存储介质、电子装置。
技术介绍
相关技术中的移动GPU驱动(GPUDrivenonMobile)包括TBDR(TileBasedDeferredRendering,贴图延迟渲染)模式和SparseTexture(稀疏贴图)模式,SparseTexture模型下的渲染也叫稀疏渲染,TBDR(TileBasedDeferredRendering,贴图延迟渲染)算是TBR(TileBasedRendering,贴图渲染)的延伸,跟TBR(贴图渲染)原理相似;但是通过HSR(HiddenSurfaceRemoval,隐藏面消除)操作,在执行PixelShader(像素着色)之前进一步减少了不需要渲染的fragment(片段),降低了带宽需求。在执行PixelShader(像素着色)之前,对Raster(光栅)生成的每个像素都做depthtest(深度测试)的比较,剔除被遮挡的像素,这就是HSR(隐藏面消除)的原理,理论上经过HSR(隐藏面消除)剔除以后,TBDR(贴图延迟渲染)每帧需要渲染的像素上限就是屏幕像素的数量(没有考虑alphablend(alpha混合)的情况下)。而传统的TBR(贴图渲染)在执行复杂一点的游戏时可能需要渲染6倍于屏幕的像素。对比SparseTexture(稀疏贴图)分支与TBDR(贴图延迟渲染)分支的优缺点。ST分支的优点在于:SparseTexture(稀疏贴图)+IndirectDraw(非直接的渲染指令)可以在同一Shader(渲染器)中最大化合批;Geometry(几何)信息可通过VisibilityBuffer(可见缓冲区)重建,无需GBufferPass(G缓冲区通道);缺点在于:在合并Texture(贴图)的三种方案中,BindlessTexture(无粘结贴图)的支持率非常低,达不到实用阶段;而软实现的VT性能不如SparseTexture(稀疏贴图),SparseTexture(稀疏贴图)在iOS设备中A11+的GPU都具备该特性,所以在iOS设备中,会走SparseTexture(稀疏贴图)的分支,Android设备中该特性也支持率非常低。TBDR(贴图延迟渲染)分支的优点在于:当前移动端设备GPU结构已几乎全部为TileBased(基于贴图)架构,TBDR(贴图延迟渲染)分支流程在可控的TileBuffer(贴图缓冲区)上将获得在带宽传输方面巨大的性能提升,不需要SpecialHardwareFeature(特殊硬件功能)支持;缺点在于:性能不如基于SparseTexture(稀疏贴图)的分支流程。相关技术的GPUDriven(GPU驱动)渲染流程中GPUDrivenTBDR(贴图延迟渲染GPU驱动)所有Buffer(缓存区)都位于SystemMemory(系统存储器)中,导致SystemMemory(系统存储器)占用大量的宽带开销,而移动设备受限于设备和内部主板的面积,不能向PC端一样设置高宽带,进而导致移动设备的GPU渲染能力有限。针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
技术实现思路
本专利技术实施例提供了一种稀疏渲染的数据驱动方法及装置、存储介质、电子装置。根据本专利技术的一个实施例,提供了一种稀疏渲染的数据驱动方法,包括:在移动设备中构建渲染对象的层次Z缓冲数据;在所述移动设备的GPU中基于所述层次Z缓冲数据对所述渲染对象进行视锥体剔除和/或遮挡剔除,得到贴图数据;将所述贴图数据从所述GPU传输至可见缓冲区中;在所述可见缓冲区中基于所述贴图数据和预设贴图坐标信息采用稀疏贴图构建所述渲染对象的几何数据,并将所述几何数据传输至所述GPU进行渲染。可选的,在所述可见缓冲区中基于所述贴图数据和预设贴图坐标信息采用稀疏贴图构建所述渲染对象的几何数据包括:向渲染器请求稀疏贴图的像素数据,其中,所述稀疏贴图是加载内存中的最小纹理单元;根据所述稀疏贴图的贴图状态加载数据内容,其中,所述贴图状态包括映射状态和未映射状态;基于所述预设贴图坐标信息构建几何坐标系,采用所述数据内容和所述贴图数据在所述几何坐标系中构建所述渲染对象的几何数据。可选的,根据所述稀疏贴图的贴图状态加载数据内容包括:若所述稀疏贴图的贴图状态为映射状态,将所述稀疏贴图的纹理信息加载至所述GPU的高速缓冲存储器,再向渲染器返回所述纹理信息;若所述稀疏贴图的贴图状态为未映射状态,将预设空数据加载至高速缓冲存储器,再向渲染器返回所述预设空数据。可选的,向渲染器请求稀疏贴图的像素数据包括:判断当前请求的像素数据是否存储在所述GPU的高速缓冲存储器中;若当前请求的像素数据存储在高速缓冲存储器中,从所述高速缓冲存储器向渲染器传输所述像素数据;若当前请求的像素数据未存储在所述高速缓冲存储器中,增加批处理批处理的计数次数,并确定根据所述稀疏贴图的贴图状态加载数据内容。可选的,在根据所述稀疏贴图的贴图状态加载数据内容之后,所述方法还包括:判断所述像素数据在当前级的纹理中是否加载完成;若所述像素数据在当前级的纹理中未加载完成,将剩余的像素数据回滚至下一级纹理,直到加载完成。可选的,在移动设备构建渲染对象的层次Z缓冲数据包括:从所述移动设备的系统存储器的深度缓冲区读取所述渲染对象上一帧的深度数据;将所述深度数据从所述深度缓冲区传输至所述移动设备的GPU,并在所述GPU中基于所述深度数据构建所述渲染对象的层次Z缓冲数据。根据本专利技术的另一个实施例,提供了一种稀疏渲染的数据驱动装置,包括:构建模块,用于在移动设备中构建渲染对象的层次Z缓冲数据;处理模块,用于在所述GPU中基于所述层次Z缓冲数据对所述渲染对象进行视锥体剔除和/或遮挡剔除,得到贴图数据;传输模块,用于将所述贴图数据从所述GPU传输至可见缓冲区中;渲染模块,用于在所述可见缓冲区中基于所述贴图数据和预设贴图坐标信息采用稀疏贴图构建所述渲染对象的几何数据,并将所述几何数据传输至所述GPU进行渲染。可选的,所述渲染模块包括:请求单元,用于向渲染器请求稀疏贴图的像素数据,其中,所述稀疏贴图是加载内存中的最小纹理单元;加载单元,用于根据所述稀疏贴图的贴图状态加载数据内容,其中,所述贴图状态包括映射状态和未映射状态;构建单元,用于基于所述预设贴图坐标信息构建几何坐标系,采用数据内容和所述贴图数据在所述几何坐标系中构建所述渲染对象的几何数据。可选的,所述加载单元还包括:第一加载子单元,用于若所述稀疏贴图的贴图状态为映射状态,将所述稀疏贴图的纹理信息加载至所述GPU的高速缓冲存储器,再向渲染器返回所述纹理信息;第二加载子单元,用于若所述稀疏贴图的贴图状态为未映射状态,将预设空数据加载至高速缓冲存储器,再向渲染器返回所述预设空数据。可选的,所述请求单元还包括:判断子单元,用于判断当前请求的像素数据是否存储在所述GPU的高速缓冲存储器中;处理子单元,用于若当前请求的像素数据存储在高速本文档来自技高网
...

【技术保护点】
1.一种稀疏渲染的数据驱动方法,其特征在于,包括:/n在移动设备中构建渲染对象的层次Z缓冲数据;/n在所述移动设备的GPU中基于所述层次Z缓冲数据对所述渲染对象进行视锥体剔除和/或遮挡剔除,得到贴图数据;/n将所述贴图数据从所述GPU传输至可见缓冲区中;/n在所述可见缓冲区中基于所述贴图数据和预设贴图坐标信息采用稀疏贴图构建所述渲染对象的几何数据,并将所述几何数据传输至所述GPU进行渲染。/n

【技术特征摘要】
1.一种稀疏渲染的数据驱动方法,其特征在于,包括:
在移动设备中构建渲染对象的层次Z缓冲数据;
在所述移动设备的GPU中基于所述层次Z缓冲数据对所述渲染对象进行视锥体剔除和/或遮挡剔除,得到贴图数据;
将所述贴图数据从所述GPU传输至可见缓冲区中;
在所述可见缓冲区中基于所述贴图数据和预设贴图坐标信息采用稀疏贴图构建所述渲染对象的几何数据,并将所述几何数据传输至所述GPU进行渲染。


2.根据权利要求1所述的方法,其特征在于,在所述可见缓冲区中基于所述贴图数据和预设贴图坐标信息采用稀疏贴图构建所述渲染对象的几何数据包括:
向渲染器请求稀疏贴图的像素数据,其中,所述稀疏贴图是加载内存中的最小纹理单元;
根据所述稀疏贴图的贴图状态加载数据内容,其中,所述贴图状态包括映射状态和未映射状态;
基于所述预设贴图坐标信息构建几何坐标系,采用所述数据内容和所述贴图数据在所述几何坐标系中构建所述渲染对象的几何数据。


3.根据权利要求2所述的方法,其特征在于,根据所述稀疏贴图的贴图状态加载数据内容包括:
若所述稀疏贴图的贴图状态为映射状态,将所述稀疏贴图的纹理信息加载至所述GPU的高速缓冲存储器,再向渲染器返回所述纹理信息;若所述稀疏贴图的贴图状态为未映射状态,将预设空数据加载至高速缓冲存储器,再向渲染器返回所述预设空数据。


4.根据权利要求2所述的方法,其特征在于,向渲染器请求稀疏贴图的像素数据包括:
判断当前请求的像素数据是否存储在所述GPU的高速缓冲存储器中;
若当前请求的像素数据存储在高速缓冲存储器中,从所述高速缓冲存储器向渲染器传输所述像素数据;若当前请求的像素数据未存储在所述高速缓冲存储器中,增加批处理批处理的计数次数,并确定根据所述稀疏贴图的贴图状态加载数据内容。


5.根据权利要求2所述的方法,其特征在于,在根据所述稀疏贴图的贴图状态加载数据内容之后,所述...

【专利技术属性】
技术研发人员:王伟亮
申请(专利权)人:完美世界北京软件科技发展有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1