一种3D应用的显示刷新方法及系统技术方案

技术编号:13175326 阅读:62 留言:0更新日期:2016-05-10 18:42
本发明专利技术公开了一种3D应用的显示刷新方法及系统,通过保存3D应用进行显示的上一次渲染结果,并根据所述上一次渲染结果生成对应的源纹理;计算所述3D应用的当前屏幕显示与上一次屏幕显示相比屏幕发生变化的矩形区域;根据所述矩形区域设置视口的偏移大小,重新计算投影矩阵,对所述矩形区域进行绘制,并将绘制结果生成对应的更新纹理;将所述更新纹理与源纹理混合,绘制到所述视口,并更新显示所述屏幕显示,以完成3D应用的显示刷新;通过只针对屏幕显示界面有所改动的区域进行刷新,大程度降低了GPU的占用率,显著提高了3D场景的渲染效率。

【技术实现步骤摘要】

本专利技术涉及移动终端
,尤其涉及的是一种3D应用的显示刷新方法及系统
技术介绍
随着移动终端技术的不断发展,手机等移动终端的功能越来越多。现有智能手机功能十分丰富,基于3D的视觉体验效果也越来越流行,越来越多的3D应用在嵌入式设备上运行起来。基于 OpenGL ES (OpenGL for Embedded Systems,是 OpenGL 三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计)的应用一般都是整个屏幕在不停的刷新,这样在嵌入式设备上就会占用大量的CPU和GPU的资源,导致嵌入式设备功耗增加,系统性能降低,而且直接影响嵌入式设备电池的续航能力。因此,现有技术还有待于改进和发展。
技术实现思路
本专利技术的目的在于提供一种3D应用的显示刷新方法及系统,旨在解决现有的嵌入式设备在显示3D应用显示时,3D应用刷新占用大量的CPU和GPU的资源导致嵌入式设备功耗增加、系统性能降低及耗电量大的问题。本专利技术解决技术问题所采用的技术方案如下: 一种3D应用的显示刷新方法,其中,包括以下步骤: A、保存3D应用进行显示的上一次渲染结果,并根据所述上一次渲染结果生成对应的源纹理;B、计算所述3D应用的当前屏幕显示与上一次屏幕显示相比屏幕发生变化的矩形区域; C、根据所述矩形区域设置视口的偏移大小,重新计算投影矩阵,对所述矩形区域进行绘制,并将绘制结果生成对应的更新纹理; D、将所述更新纹理与源纹理混合,绘制到所述视口,并更新显示所述屏幕显示,以完成3D应用的显示刷新。所述的3D应用的显示刷新方法,其中,所述步骤A具体包括: A1、创建一与终端显示屏幕大小一样、用于保存所述终端显示屏幕显示3D应用的上一次渲染结果的ΡΒ0 ; A2、保存3D应用进行显示的上一次渲染结果至所述ΡΒ0中,并将所述ΡΒ0保存的上一次渲染结果生成对应的源纹理。所述的3D应用的显示刷新方法,其中,所述步骤B具体包括: B1、将所述3D应用的当前屏幕显示与上一次屏幕显示进行对比,将3D应用显示的3D空间有变化的区域映射到屏幕的2D坐标; B2、根据所述屏幕的2D坐标生成对应的矩形区域。所述的3D应用的显示刷新方法,其中,所述步骤C具体包括: C1、调整视口的偏移大小到所述矩形区域中; C2、确定视点的位置,采用近切面的偏移以及大小计算投影矩阵,根据投影矩阵确定投影的范围,透视除法后获取到规范化坐标之间; C3、将所述投影矩阵缩小至需要更新的矩形区域中,绘制所述矩形区域对应的显示界面; C4、获取视口绘制的矩形区域对应的绘制结果,并生成对应的更新纹理。所述的3D应用的显示刷新方法,其中,所述步骤D具体包括: D1、将所述更新纹理与源纹理混合,并绘制到所述视口 ; D2、在上一次屏幕显示的基础上更新显示所述屏幕显示,以完成3D应用的显示刷新,并将刷新后的当前屏幕显示结果发送至ΡΒ0保存。一种3D应用的显示刷新系统,其中,包括: 源纹理生成模块,用于保存3D应用进行显示的上一次渲染结果,并根据所述上一次渲染结果生成对应的源纹理; 矩形区域计算模块,用于计算所述3D应用的当前屏幕显示与上一次屏幕显示相比屏幕发生变化的矩形区域; 更新纹理生成模块,用于根据所述矩形区域设置视口的偏移大小,重新计算投影矩阵,对所述矩形区域进行绘制,并将绘制结果生成对应的更新纹理; 纹理混合显示模块,用于将所述更新纹理与源纹理混合,绘制到所述视口,并更新显示所述屏幕显示,以完成3D应用的显示刷新。所述的3D应用的显示刷新系统,其中,所述源纹理生成模块包括: ΡΒ0创建单元,用于创建一与终端显示屏幕大小一样、用于保存所述终端显示屏幕显示3D应用的上一次渲染结果的ΡΒ0 ; 源纹理生成单元,用于保存3D应用进行显示的上一次渲染结果至所述ΡΒ0中,并将所述ΡΒ0保存的上一次渲染结果生成对应的源纹理。所述的3D应用的显示刷新系统,其中,所述矩形区域计算模块包括: 映射单元,用于将所述3D应用的当前屏幕显示与上一次屏幕显示进行对比,将3D应用显示的3D空间有变化的区域映射到屏幕的2D坐标; 矩形区域生成单元,用于根据所述屏幕的2D坐标生成对应的矩形区域。所述的3D应用的显示刷新系统,其中,所述更新纹理生成模块包括: 视口偏移单元,用于调整视口的偏移大小到所述矩形区域中; 投影矩阵计算单元,用于确定视点的位置,采用近切面的偏移以及大小计算投影矩阵,根据投影矩阵确定投影的范围,透视除法后获取到规范化坐标之间; 矩形区域绘制单元,用于将所述投影矩阵缩小至需要更新的矩形区域中,绘制所述矩形区域对应的显示界面; 更新纹理生成单元,用于获取视口绘制的矩形区域对应的绘制结果,并生成对应的更新纹理。所述的3D应用的显示刷新系统,其中,所述纹理混合显示模块包括: 纹理混合单元,用于将所述更新纹理与源纹理混合,并绘制到所述视口 ; 屏幕显示更新单元,用于在上一次屏幕显示的基础上更新显示所述屏幕显示,以完成3D应用的显示刷新,并将刷新后的当前屏幕显示结果发送至PBO保存。本专利技术所提供的一种3D应用的显示刷新方法及系统,特别是基于OpenGL ES的3D应用显示的局部刷新方法,有效地解决了现有的嵌入式设备在显示3D应用显示时,3D应用刷新占用大量的CPU和GPU的资源导致嵌入式设备功耗增加、系统性能降低及耗电量大的问题,通过保存3D应用进行显示的上一次渲染结果,并根据所述上一次渲染结果生成对应的源纹理;计算所述3D应用的当前屏幕显示与上一次屏幕显示相比屏幕发生变化的矩形区域;根据所述矩形区域设置视口的偏移大小,重新计算投影矩阵,对所述矩形区域进行绘制,并将绘制结果生成对应的更新纹理;将所述更新纹理与源纹理混合,绘制到所述视口,并更新显示所述屏幕显示,以完成3D应用的显示刷新;通过动态投影矩阵的计算,确定局部刷新的窗口大小,只针对屏幕显示界面有所改动的区域进行刷新,提高了系统性能和用户交互的响应速度,较大程度的降低了 GPU的占用率,平衡CPU和GPU的负载,提高了嵌入式系统的有效使用率,大大提高了帧率,提高了动画的流畅度,显著提高3D UI (User’sInterface,用户界面,也称人机界面)场景的渲染效率,在嵌入式平台效果更加显著,带来了大大的方便。【附图说明】图1为本专利技术提供的3D应用的显示刷新方法较佳实施例的流程图。图2为本专利技术提供的3D应用的显示刷新方法的原理示意图。图3为全投影矩阵的原理示意图。图4为局部投影矩阵的原理示意图。图5为本专利技术提供的3D应用的显示刷新系统较佳实施例的结构框图。【具体实施方式】本专利技术提供一种3D应用的显示刷新方法及系统,为使本专利技术的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。请参阅图1,图1为本专利技术提供3D应用的显示刷新方法较佳实施例的流程图,如图所示,所述方法包括以下步骤: 步骤S100、保存3D应用进行显示的上一次渲染结果,并根据所述上一次渲染结果生成对应的源纹理; 步骤S200、计算所述3D应用的当前屏幕显示与上一次屏幕显示相比屏幕发生变化的矩本文档来自技高网...

【技术保护点】
一种3D应用的显示刷新方法,其特征在于,包括以下步骤:A、保存3D应用进行显示的上一次渲染结果,并根据所述上一次渲染结果生成对应的源纹理;B、计算所述3D应用的当前屏幕显示与上一次屏幕显示相比屏幕发生变化的矩形区域;C、根据所述矩形区域设置视口的偏移大小,重新计算投影矩阵,对所述矩形区域进行绘制,并将绘制结果生成对应的更新纹理;D、将所述更新纹理与源纹理混合,绘制到所述视口,并更新显示所述屏幕显示,以完成3D应用的显示刷新。

【技术特征摘要】

【专利技术属性】
技术研发人员:赵智宝卢伟超
申请(专利权)人:TCL集团股份有限公司
类型:发明
国别省市:广东;44

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

1