请问这个视频是怎么做出来的?上面的视频无进度条解决方法啊和动态背景,怎么合成的

本发明涉及数字仪表盘领域特別涉及一种基于OpenGL-ES的动态视频无进度条解决方法绘制方法。

随着时代的进步汽车驾驶、航空航天等领域也得到了飞速的发展,其智能化程喥越来越高仪表盘中所需要包含的信息也越来越多;而传统机械仪表盘可视区域有限,难以包含日益增长的显示信息因此数字仪表盘莋为一种可视区域以及显示信息可编程更改的方案,必定是未来相关领域的发展趋势而在众多的信息中,速度、油量以及温度等信息优先级较高面对大量的显示信息,使用者的注意力常会被低优先级的信息所分散影响使用者的驾驶安全。

OpenGL-ES是一种免授权费跨平台的图形应用程序接口,主要应用于嵌入式平台上是一个功能强大,调用方便的底层图形API虽然它提供了一系列的功能函数,但是对于数字仪表盘显示相关的技术还没有直接的显示方法一般采用图1的流程进行绘制。但是这种方法有着诸多缺陷一是绘制动态视频无进度条解决方法效率低,帧率刷新速度和CPU/GPU占用率之间相互制衡不适合实时性强且任务众多的数字仪表盘的绘制;二是面对数字仪表盘上众多的显示信息,代码绘制量大处理复杂,开发效率低

本发明的目的是提出一种基于OpenGL-ES的动态视频无进度条解决方法绘制方法,以解决目前在使用OpenGL-ES繪制数字仪表盘中动态视频无进度条解决方法时直接使用原生API绘制所带来的绘制效率低,屏幕帧率低代码量大以及开发难度复杂的问題。

为实现上述目的本发明具体包括以下步骤:

步骤一:在指定位置绘制着色器,包含顶点着色器和片段着色器;

步骤二:读取纹理图爿将其以数组形式存储在代码中;

步骤三:将读取的纹理与着色器进行纹理绑定;

步骤四:将绘制的画面渲染到屏幕上,刷新屏幕;

步驟五:读取实时数据;

步骤六:根据读取的实时数据变换纹理对应的映射矩阵,并跳转至步骤三

优选地,在步骤二中所读取的纹理圖片包含视频无进度条解决方法纹理以及掩膜纹理mask1~n(n>=1),将其以数组的形式存储在工程代码中

优选地,上述所读取的视频无进度条解决方法纹理为满量程的完整视频无进度条解决方法图片除了要显示的视频无进度条解决方法部分,其他部分均为透明背景

优选地,上述所采用的掩膜纹理mask1~n颜色应该与屏幕背景颜色保持一致,其他部分都采用透明背景;并且所有的掩膜纹理mask1~n初始位置拼凑在一起其大尛、角度、形状应该都与满量程视频无进度条解决方法保持一致,使其能够遮挡满量程的视频无进度条解决方法图片纹理

优选地,在步驟五中实时读取的数据源可以是车速、发动机转速、油量、水量、温度信息。

作为第一优选在步骤六中,当读取数据大小为X(0~A)时针對满量程范围(0~B)的圆弧形视频无进度条解决方法,掩膜纹理mask1~n的变换过程包含以下步骤:

步骤61:当数据X大于0小于A/n时其掩膜纹理mask1旋转角度為B*X/A度,掩膜纹理mask2~n保持静止;

步骤62:当数据X大于A/n小于A*2/n时其掩膜纹理mask1旋转角度为B*X/A度,掩膜纹理mask2旋转B/n度掩膜纹理mask3~n保持静止;

作为第二优選,在步骤六中当读取数据大小为X(0~A)时,针对满量程范围(0~B)的直线形视频无进度条解决方法掩膜纹理mask1~n的变换过程包含以下步骤:

步驟61’:数据X大于0小于A/n时,其掩膜纹理mask1在视频无进度条解决方法同方向上平行移动距离为B*X/A掩膜纹理mask2~n保持静止;

步骤62’:数据X大于A/n小于A*2/n时,其掩膜纹理mask1在视频无进度条解决方法同方向上平行移动距离为B*X/A掩膜纹理mask2平行移动距离为B/n,掩膜纹理mask3~n保持静止;

步骤6n’:数据X大于A*(n-1)/n小於A时其掩膜纹理mask1在视频无进度条解决方法同方向上平行移动距离为B*X/A,掩膜纹理mask2平行移动距离为B*(n-1)/n掩膜纹理maskn平行移动距离为B*(n-(n-1))/n。

本发明为了解决现有技术中存在的性能缺陷提出了一种基于OpenGL-ES的动态视频无进度条解决方法绘制方法,与现有技术对比本专利具有以下有益效果:

1.夲发明采用纹理贴图进行相互遮挡的方法实现动态视频无进度条解决方法效果,降低了对于CPU/GPU的占用率提高了系统整体性能,实现了数字儀表中视频无进度条解决方法响应实时性高、显示准确性高、并行任务多等优点

2.本发明所采用的纹理图片为预先按照需求处理好的图片,加载一次即可大大减少了数字仪表盘UI的开发难度以及代码量,降低了开发成本提高了开发效率。

3.本发明由于采用的纹理图片像素大尛可控使得整体渲染效果可控,相比于OpenGL-ES默认的抗锯齿功能本方法绘制的线条抗锯齿效果好,流畅度高

图1是传统方法绘制动态视频无進度条解决方法的流程图;

图2是本发明基于OpenGL-ES的动态视频无进度条解决方法的绘制流程图;

图3是本发明视频无进度条解决方法纹理图片示意圖;

图4是本发明掩膜纹理图片示意图;

图5是本发明第一实施例流程图示意图;

图6是本发明第一实施例实物效果图示意图;

图7是本发明第二實施例实物效果图示意图;

图8是本发明与传统API绘制视频无进度条解决方法在实物上的性能测试对比图。

以下结合附图对本发明进行更全面嘚描述

如图2所示,本发明提出的一种基于OpenGL-ES的动态视频无进度条解决方法绘制方法具体包括以下步骤:

步骤一:在指定位置绘制着色器,包含顶点着色器和片段着色器;

步骤二:读取纹理图片将其以数组形式存储在代码中,该读取的纹理图片包含视频无进度条解决方法紋理以及掩膜纹理mask1~n(n>=1)其中视频无进度条解决方法纹理为满量程的完整视频无进度条解决方法图片,除了要显示的视频无进度条解决方法部分其他部分均为透明背景;掩膜纹理mask1~n颜色应该与屏幕背景颜色保持一致,其他部分都采用透明背景并且所有的掩膜纹理mask1~n初始位置拼凑在一起,其大小、角度、形状应该都与满量程视频无进度条解决方法保持一致使其能够遮挡满量程的视频无进度条解决方法图爿纹理。

步骤三:将读取的纹理与着色器进行纹理绑定;

步骤四:将绘制的画面渲染到屏幕上刷新屏幕;

步骤五:读取实时数据,实时讀取的数据源可以是车速、发动机转速、油量、水量、温度等信息;

步骤六:根据读取的实时数据变换纹理对应的映射矩阵,并跳转至步骤三

参照说明书附图3和4,本发明以汽车数字仪表盘中圆弧形视频无进度条解决方法以及直线型视频无进度条解决方法两类作为较佳的實施例但是,本发明可以应用于许多场景中以不同的形式进行表现,并不局限于本文所描述的实施例

如附图3所示,所读取的视频无進度条解决方法纹理为满量程的完整视频无进度条解决方法图片除了要显示的视频无进度条解决方法部分,其他部分均为透明背景;其Φ(a)图为直线型视频无进度条解决方法纹理示意图(b)图为圆弧形视频无进度条解决方法纹理示意图。

如附图4所示所采用的掩膜纹理mask1~n,颜銫应该与屏幕背景颜色保持一致其他部分都采用透明背景;并且所有的掩膜纹理mask1~n初始位置拼凑在一起,其大小、角度、形状应该都与滿量程视频无进度条解决方法保持一致使其能够遮挡满量程的视频无进度条解决方法图片纹理。其中(a)图为直线型视频无进度条解决方法所采用的掩膜纹理mask示意图(b)图为圆弧形视频无进度条解决方法所采用的掩膜纹理mask示意图。

在本实施例中取掩膜纹理mask的个数n=4,读取数据源为汽车速度以圆弧形视频无进度条解决方法作为显示方式,具体包含以下步骤:

此处只要图片背景为透明背景格式且能配合后面的紋理载入函数实现图片的载入即可,并不局限于tga格式可采用png、jpg等格式,但是由于tga格式图片是目前国际图形图像工业较为通用的文件格式故采用tga格式图片。

在所述结构体数组中包含了图片的左下角位置坐标以及图片宽高,图片格式以及纹理数据。

3.将所载入的视频无进喥条解决方法纹理作为纹理贴图将其与着色器一起渲染到屏上,同时读取实时的速度值X将其作为参数传给指针绘制函数以及掩膜纹理繪制函数,这两个函数将变换指针以及掩膜的视角矩阵其纹理位置矩阵与视角矩阵相乘之后的值作为指针以及掩膜贴图的坐标,然后将指针以及掩膜共同渲染到屏幕上具体处理流程如图5所示。

如下表所示为掩膜纹理mask1~4的角度位置θ与传入速度值X之间的对应关系,其中θ=θ0+Δθ,θ0为掩膜纹理初始角度位置Δθ为掩膜纹理旋转角度,速度值X大小范围为0~A,取A=240km/h掩膜纹理mask角度位置范围为0~B,取B=240°。

参照圖6掩膜纹理mask1~4的位置随着传入速度值实时变换。速度X在0~60km/h时mask1随速度值做圆周旋转,旋转角度值为X而mask2~4处于初始位置不动;速度X在60~120km/h時,mask1继续随速度值做圆周旋转旋转角度值为X,而mask2直接旋转60度与mask3重合,此时mask3~4处于初始位置不动;在速度X在120~160km/h时mask1随速度值做圆周旋转,旋转角度值为X而mask2与mask3分别旋转120度和60度,与mask4重合而mask4处于初始位置不动;在速度X在180~240km/h时,mask1随速度值做圆周旋转旋转角度值为X,而mask2~4分别旋转180度、120度和60度位于视频无进度条解决方法的满量程之外。

4.将上述视频无进度条解决方法纹理以及掩膜纹理mask同步渲染到屏幕上在指定幀率的情况下,实时刷新屏幕

经过上述过程,由于mask颜色与屏幕背景颜色保持一致且与视频无进度条解决方法纹理渲染在同一位置,就能实现对视频无进度条解决方法的动态掩盖而所有纹理的其他部分均为透明背景,则不会对其他位置的绘制有掩盖效果就能实现视频無进度条解决方法跟随指针动态移动的效果,其实物合成效果如图6所示

同样的,在本实施例中其纹理载入以及纹理绑定步骤类似于实施例1中所述,读取数据源为汽车水温掩膜纹理mask个数取n=1,以直线型视频无进度条解决方法作为显示方式

在直线型视频无进度条解决方法中,掩膜纹理mask与视频无进度条解决方法纹理进行平行移动实现动态遮挡效果读取的水温值X范围为0~A,取A=100;视频无进度条解决方法满量程范围为0~B取B=100;则掩膜纹理mask移动距离为X*B/A,即X个刻度

由于掩膜纹理mask颜色与屏幕背景颜色一致,且其与完整的直线型视频无进度条解決方法纹理位于同一位置当其按照数据大小做平行移动时,将会对视频无进度条解决方法纹理进行实时的遮挡从而实现视频无进度条解决方法动态增减的效果。其实物合成效果如图7所示

参照图8,经过实物测试使用OpenGL-ES原生API进行直接绘制时,其CPU占用率为15.4%其GPU占用率为61%;而使用本发明的视频无进度条解决方法绘制方法时,其CPU和GPU的占用率仅为7.3%和36%可知本发明可以显著的降低绘制动态视频无进度条解决方法时CPU和GPU的占用率,释放处理器资源并且由于本方法使用的纹理图片均为预处理过的纹理图片,使得其抗锯齿性能较好且可控添加静態控件方便,代码量以及工程开发难度得到了显著的降低

本发明的保护内容不局限于以上实施例。在不脱离本发明构思的前提下还可鉯做出若干变化和应用,这些都属于本发明的保护范围

该楼层疑似违规已被系统折叠 

这種视频指的是整个视频还是视频里的视频表达欠佳。


我要回帖

更多关于 视频无进度条解决方法 的文章

 

随机推荐