全液晶仪表图像渲染方法技术

技术编号:24124950 阅读:49 留言:0更新日期:2020-05-13 04:17
本发明专利技术的全液晶仪表图像渲染方法涉及一种图像渲染方法,目的是为了克服现有的渲染架构效率低下,还极大地浪费GPU资源的问题,方法中将所有素材中长度、宽度、X轴偏移坐标和Y轴偏移坐标存入数据缓冲区,素材的像素数据存入像素缓冲区;将数据缓冲区中数据和像素缓冲区中数据写入图片信息文件,生成整合后的图像;将整合后的图像整体绑定为材质文件,并将材质文件送至GPU显存进行解析;在渲染每帧图像前,以第一个元素的数据为基础,创建批次渲染指令;所有元素遍历完毕后,从渲染指令队列中依次取出批次渲染指令,根据批次渲染指令中的数据绑定对应材质,绘制完所有元素,完成图像的渲染。

Image rendering method of full LCD instrument

【技术实现步骤摘要】
全液晶仪表图像渲染方法
本专利技术涉及一种图像渲染方法,具体涉及以整合材质的方式进行液晶仪表图像渲染的方法。
技术介绍
随着全液晶仪表功能的日益丰富,客户对于界面效果提出更高的要求,传统的渲染架构已经无法满足需求。传统的渲染架构每渲染一个图形元素,都需要进行一次顶点绘制,以及材质的绑定,导致绘制一份图像,需要进行频繁的状态切换,不仅效率低下,还极大地浪费GPU资源造成发热。全液晶仪表作为车载嵌入式设备,具有局限性,无法拥有桌面级设备的高性能处理器,及散热条件,甚至其作为车载设备,出于安全和稳定性考虑,其性能相对手机芯片等商业级处理器也有不小的差距。而且随着大尺寸高分辨率液晶屏在车载领域的普及,对处理器的负担也越来越重,现有的渲染架构已经无法遇到了瓶颈。
技术实现思路
本专利技术的目的是为了克服现有的渲染架构效率低下,还极大地浪费GPU资源的问题,提供了一种全液晶仪表图像渲染方法。本专利技术的全液晶仪表图像渲染方法,方法包括如下步骤:步骤一、设置整合后图像的最大尺寸,遍历所有素材,将素材依据宽度由大到小排序;在不超出整合后图像的边缘前提下,将素材按照先底部优先、再左边缘优先的位置进行放置;步骤二、基于整合后图像建立平面直角坐标系,根据素材在整合后图像中放置位置得到素材的X轴偏移坐标和Y轴偏移坐标;步骤三、将所有素材中长度、宽度、X轴偏移坐标和Y轴偏移坐标存入数据缓冲区,素材的像素数据存入像素缓冲区;将数据缓冲区中数据和像素缓冲区中数据写入图片信息文件,生成整合后的图像;步骤四、将整合后的图像整体绑定为材质文件,并将材质文件送至GPU显存进行解析;步骤五、在渲染每帧图像前,以第一个元素的数据为基础,创建批次渲染指令;对所有要绘制的元素进行遍历,判断相邻的两个元素是否具有相同的材质;如果相邻的两个元素具有相同的材质,则将相邻的两个元素合并;如果相邻的两个元素不具有相同的材质,则将上一个批次渲染指令加入到渲染指令队列中,并基于后一个元素的数据创建新的批次渲染指令;步骤六、所有元素遍历完毕后,从渲染指令队列中依次取出批次渲染指令,根据批次渲染指令中的数据绑定对应材质,绘制完所有元素,完成图像的渲染。本专利技术的有益效果是:本专利技术通过对传统图像渲染技术的改进,对材质信息进行了整合,减少每次渲染的绘制次数,以及状态切换,并且整合后的信息更有利于GPU进行并行计算,充分利用GPU资源,减少渲染一帧图像所用的时间,提高了渲染效率,在同等的硬件条件,及相同的软件平台下,拥有更高的帧率和更少的发热量。在不增加成本的基础上,带来更好的表现,使当前平台可以支持更大屏幕及更高分辨率的设备,节约了成本。附图说明图1为本专利技术的全液晶仪表图像渲染方法的流程图;图2为图1中步骤一的原理示意图;图3为渲染指令的结构示意图;图4为图1中步骤六的原理示意图。具体实施方式具体实施方式一,本实施方式的全液晶仪表图像渲染方法,方法包括如下步骤:步骤一、设置整合后图像的最大尺寸,遍历所有素材,将素材依据宽度由大到小排序;在不超出整合后图像的边缘前提下,将素材按照先底部优先、再左边缘优先的位置进行放置;步骤二、基于整合后图像建立平面直角坐标系,根据素材在整合后图像中放置位置得到素材的X轴偏移坐标和Y轴偏移坐标;步骤三、将所有素材中长度、宽度、X轴偏移坐标和Y轴偏移坐标存入数据缓冲区,素材的像素数据存入像素缓冲区;将数据缓冲区中数据和像素缓冲区中数据写入图片信息文件,生成整合后的图像;步骤四、将整合后的图像整体绑定为材质文件,并将材质文件送至GPU显存进行解析;步骤五、在渲染每帧图像前,以第一个元素的数据为基础,创建批次渲染指令;对所有要绘制的元素进行遍历,判断相邻的两个元素是否具有相同的材质;如果相邻的两个元素具有相同的材质,则将相邻的两个元素合并;如果相邻的两个元素不具有相同的材质,则将上一个批次渲染指令加入到渲染指令队列中,并基于后一个元素的数据创建新的批次渲染指令;步骤六、所有元素遍历完毕后,从渲染指令队列中依次取出批次渲染指令,根据批次渲染指令中的数据绑定对应材质,绘制完所有元素,完成图像的渲染。具体地,首先,确定整合后图像的最大尺寸,将素材按照宽度由大到小排序,宽度越大的素材越先进行处理,在确保不超过设定的整合图像边缘的情况下,按照左下角优先放置的原则,即越靠近底部越好,在已经达到可以放置的最底部时,越靠近左边缘越好。如图1所示,数字为素材放入的序号,遵从左下角优先放置的原则,第二个要放入的素材的宽度太大,无法放到最底部,所以由下到上遍历寻找可以放置该素材的最靠近底部的位置,靠左放置该素材。如图2所示,按照上述方法,遍历所有素材,并记录素材在整幅图像中摆放的偏移位置,素材的按照长度,宽度,X轴偏移坐标,Y轴偏移坐标的顺序写入数据缓冲区,素材的像素数据存入像素缓冲区,等待所有素材读取完毕后,将数值缓冲区数据写入到图片信息文件,供后续程序调用还原出每个独立图像。并将像素缓冲区的数据写入文件,生成整合后的图像。程序运行后,读取整合图像步骤中生成的文件,并将整合后的图片整体绑定为材质文件,将数据传送到GPU显存。如图4所示,在渲染每帧画面前,以首个元素的数据为基础,创建批次渲染指令,并对所有要绘制的元素进行遍历,判断相邻的元素是否具有相同的材质,即元素的材质ID是否相同。如果不是同一材质,则创建则以该元素的数据为基础创建新的批次渲染指令,并将上一个批次渲染命令加入到渲染指令队列中。合并元素的顶点信息,在内存中开辟2个缓存区,将元素的顶点坐标存入顶点缓存区,顶点索引存入索引缓存区,并对顶点数量和索引数量进行累加。实现对渲染命令按不同材质进行的分类操作。遍历完所有的元素后,从渲染指令队列中依次取出合并后的批次渲染指令,根据指令中的数据绑定对应材质,根据顶点缓冲区和索引缓冲区中的数据进行绘制,每次绘制完成后将缓冲区中的数据偏移对应的顶点数量和索引数量。依次执行完所有渲染指令队列,绘制完所有元素后,交换显示缓冲区,显示出下一帧画面。最佳实施例,本实施例是对实施方式一的进一步说明,本实施例中,步骤四中将材质文件送至GPU显存解析的具体方法为:将材质文件传送到GPU显存,解析出单个素材的长度、宽度,以及素材X轴偏移坐标和Y轴偏移坐标,并以素材的绝对路径为键值将解析出的信息缓冲。具体地,通过解析出单个素材的长度,宽度,X轴偏移坐标,Y轴偏移坐标,并以素材的绝对路径为键值将解析出的信息缓冲的方式,在下次解析素材时,如果查询到相应键值,就省去了再次解析素材的过程,节省了时间。并且因为绑定材质和解析素材是两个互不影响的操作,所以采用不同的线程分别进行处理,充分利用CPU多核心的特点,加快加载速度。最佳实施例,本实施例是对实施方式一的进一步说明,本实施例中,批次渲染指令包括元素的着色器信息、顶本文档来自技高网...

【技术保护点】
1.全液晶仪表图像渲染方法,其特征在于,所述方法包括如下步骤:/n步骤一、设置整合后图像的最大尺寸,遍历所有素材,将所述素材依据宽度由大到小排序;在不超出整合后图像的边缘前提下,将所述素材按照先底部优先、再左边缘优先的位置进行放置;/n步骤二、基于整合后图像建立平面直角坐标系,根据所述素材在整合后图像中放置位置得到所述素材的X轴偏移坐标和Y轴偏移坐标;/n步骤三、将所有素材中长度、宽度、X轴偏移坐标和Y轴偏移坐标存入数据缓冲区,所述素材的像素数据存入像素缓冲区;将数据缓冲区中数据和像素缓冲区中数据写入图片信息文件,生成整合后的图像;/n步骤四、将整合后的图像整体绑定为材质文件,并将材质文件送至GPU显存进行解析;/n步骤五、在渲染每帧图像前,以第一个元素的数据为基础,创建批次渲染指令;/n对所有要绘制的元素进行遍历,判断相邻的两个元素是否具有相同的材质;/n如果相邻的两个元素具有相同的材质,则将相邻的两个元素合并;/n如果相邻的两个元素不具有相同的材质,则将上一个批次渲染指令加入到渲染指令队列中,并基于后一个元素的数据创建新的批次渲染指令;/n步骤六、所有元素遍历完毕后,从渲染指令队列中依次取出批次渲染指令,根据所述批次渲染指令中的数据绑定对应材质,绘制完所有元素,完成图像的渲染。/n...

【技术特征摘要】
1.全液晶仪表图像渲染方法,其特征在于,所述方法包括如下步骤:
步骤一、设置整合后图像的最大尺寸,遍历所有素材,将所述素材依据宽度由大到小排序;在不超出整合后图像的边缘前提下,将所述素材按照先底部优先、再左边缘优先的位置进行放置;
步骤二、基于整合后图像建立平面直角坐标系,根据所述素材在整合后图像中放置位置得到所述素材的X轴偏移坐标和Y轴偏移坐标;
步骤三、将所有素材中长度、宽度、X轴偏移坐标和Y轴偏移坐标存入数据缓冲区,所述素材的像素数据存入像素缓冲区;将数据缓冲区中数据和像素缓冲区中数据写入图片信息文件,生成整合后的图像;
步骤四、将整合后的图像整体绑定为材质文件,并将材质文件送至GPU显存进行解析;
步骤五、在渲染每帧图像前,以第一个元素的数据为基础,创建批次渲染指令;
对所有要绘制的元素进行遍历,判断相邻的两个元素是否具有相同的材质...

【专利技术属性】
技术研发人员:韩季秋王耀文安京京李慧
申请(专利权)人:航天科技控股集团股份有限公司
类型:发明
国别省市:黑龙;23

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

1