基于色彩模式变化率的图形分层实时渲染方法

2021-01-30 05:30王蒙董蕾郭建磊
电子技术与软件工程 2020年22期
关键词:计算资源变化率图层

王蒙 董蕾 郭建磊

(山东电子职业技术学院 山东省济南市 250200)

在图形绘制渲染领域,实时图形绘制渲染的速度要求较高,图形变形、绘制速度慢、硬件配置依赖度较高等情况时有发生,丰富多彩的图形变换给用户多维视觉感受的同时也给图形绘制渲染领域带来了很大的挑战,无论是硬件产品还是软件产品,图形绘制渲染速度的快慢直接关系到产品质量的好坏。近年来,图形绘制渲染方面的文章相继发表,针对不同的应用,使用的技术也不相同,主要的图形绘制渲染方法有并行图形绘制渲染方法和基于可编程GPU的图形绘制方法。针对并行图形绘制渲染方法,在文献[1]中,美国Alamos 国家实验室采用流水线并行、数据并行和作业并行方法,在PC 集群环境下实现了对海洋模拟数据的并行绘制,在文献[3]中,实现了基于PC 机群的并行渲染系统,在文献[14]中,利用CPU 多核多线程并行计算能力,实现多窗体图形绘制的并行处理等。针对基于可编程GPU 的图形绘制方法,文献[5]通过GPU 构造遮罩体阴影线数据集, 提出了一种基于GPU 构造阴影线的软阴影绘制算法,文献[6]采用基于GPU 的大气散射运算,完成了地球大气层和三维体积云仿真,文献[13]利用流函数的性质求解河流的速度场,基于GPU 和GLSL 着色器实现大尺度河流表面的渲染。这些方法使得图形的实时绘制渲染水平有了较大的提升,然而无论是并行图形绘制渲染方法还是基于可编程GPU 的图形绘制方法,均未对图形实时色彩变化特征进行分析和管理,从而过度依赖硬件资源(GPU、CPU、内存等)的消耗。

本文介绍了分层式图形实时绘制渲染方法的原理,通过计算动态图形的色彩模式变化率,分析图形实时色彩变化特征,分层管理图形中各个元素,图形绘制渲染过程中,通过CPU 绑定技术[10],将各图层绘制分配到多个线程上并绑定在不同CPU 核上,将有限的计算资源优先分配给色彩模式变化率较高的图层,变化率较低的图层避免了多次重复绘制,计算资源得到了较好的利用。在实验中,与传统实时图形绘制渲染方法相比,新方法绘制图形的速度和质量较好,因此具有较好的实用性。

图2:图形绘制渲染流程示意图

1 改进方法

图3:三种不同的绘制颜色

图4:Bunny(20085 个点)三种图形的绘制效果

图5:lion(100604 个点)三种图形的绘制效果

图6:dragon(581390 个点)三种图形实时绘制效果

不同图形元素的模型大小、材质参数、纹理复杂度、光照参数等因素都直接关系到图形绘制渲染的速度,而针对当前图形绘制速度慢、变形、硬件配置依赖度高等情况,基于色彩模式变化率的图形分层实时渲染方法采用了“分而治之”的思想,以色彩模式变化率作为分层的依据,分析图形实时色彩变化特征,通过分层式图形管理方法有序开展图形绘制渲染,根据不同图形帧的色彩模式变化率,通过线程与CPU 内核绑定,将有限的计算资源优先分配给变化率较高的图层,变化率较低的图层避免了多次重复绘制,从而减少了计算资源的浪费,节省了不变或少变的图层因重绘耗费的时间。经过图形实时色彩变化特征分析,将图形元素分层管理,优化了传统图形绘制渲染过程,减轻了对硬件的依赖。关于图形分层管理的用户视线观看示意图如图1所示。

1.1 图形分层绘制流程

关于基于色彩模式变化率的图形分层绘制渲染方法包括以下流程:

(1)提取一段时间内任意两个图像的应用帧,通过皮尔逊相关系数,计算应用帧的关联性;

(2)如相关系数在极强范围内,则将所有图形元素设置为同一图层,结束流程;如不在范围内,则开始下面的步骤;

(3)在所述图形的应用帧之间重新获取多个应用帧,将重新获取后的所有应用帧,面积均等划分为N 个区域,获取各个区域内W 个采样点的色彩模式变化率;

(4)计算每个区域内的平均色彩模式变化率,并根据平均变化率的大小,将图形元素分配到各图层中,设计图层绘制优先级,分层绑定CPU 内核,实现对不同图层差异化绘制渲染。图形绘制渲染流程示意图如图2所示。

表1:Bunny(20085 个点)图形实时绘制情况

表2:lion(100604 个点)图形实时绘制情况

表3:dragon(581390 个点)图形实时绘制情况

1.2 绘制过程的计算方法

在分层式图形绘制渲染方法中,色彩模式变化率决定着图形分层的效果,通过对图形应用帧的色彩变化特征进行分析,图形中的不同元素被划分到不同图层中,经过分层差异化绘制渲染,从而更加高效完成图形的绘制过程。色彩模式变化率计算方法如下:

提取过去一段时间内任意图像两个应用帧,通过获取(xi,yi)样本点像素、色彩值(RGB),采用皮尔逊相关系数,计算两个应用帧图像的相关性,相关系数公式如下:

其中(xi,yi)分别表示不同应用帧的第i 个像素点,n 表示区域内的样本数量。

若相关系数在极强相关范围内(0.8-1.0),则将所有图形元素设置为同一图层;若相关系数超过阈值,则在开始帧和结束帧之间重新获取多个应用帧,即重新获取后的帧数大于两个,从而精确的获取图形元素变化区域。

将重新获取后的所有应用帧M 个,每个均等面积划分为N 个区域,在区域内随机选取W 个像素点,表示a-1 帧中第i 个像素点,表示a 帧中对应的第i 个像素点,则两个对应像素点之间差异计算公式如下:

其中,R,G,B 分别表示红、绿、蓝三个通道的颜色值。根据经验值设置像素间差异程度阈值DT,一般设定为5.2,即当差异小于5.2,则认为是差异度小,对随机选取的W 个位置 结束帧与开始帧距离与DT进行比较,统计差异较大像素点个数,色彩模式变化率δ 计算如下:

通过相邻两个应用帧之间的色彩模式变化率的计算,可得到每个区域内的平均变化率,这样计算每个区域内的平均变化率公式为:

S平均为平均色彩模式变化率,Sj为第j 个应用帧与第j+1 个应用帧之间的色彩模式变化率δ。最后根据平均变化率的大小进行分层,具体为:获取最大平均色彩模式变化率和最小平均色彩模式变化率,计算分割差

将平均色彩模式变化率处于相同区间范围内的图形元素进行合并,处于同 一图层,以此完成分层,并根据具体需要,进行分层管理,根据不同需求绑定CPU 内核,从而高效绘制渲染相应的图层。

1.3 改进方法的优点

实时绘制渲染图形过程的方法中,图形中各个元素叠加、各元素动态变化差异增加了实时绘制渲染图形的难度,如不能差异化对待图形元素的绘制,将会造成计算机硬件(GPU、CPU、内存等)资源的浪费,也会增加图形绘制的成本,不利于计算机资源的合理使用,本文所提出的改进方法通过对图形实时色彩变化特征进行分析和管理,将图形元素逐一分层解决了这个问题。通过计算应用帧的色彩模式变化率、计算N 个区域内的平均色彩模式变化率,根据色彩模式变化率的大小进行分层,建立多线程并绑定CPU 内核,将有限的计算资源优先分配给色彩模式变化率较高的图层,避免了变化率较低图层重绘而造成的资源浪费,此方法拓宽了多核CPU并行绘制图形的适用范围。

2 实验及结果分析

在Linux 平台下(Intel Core 四核CPU i7-6700 主频3.4GHz,内存16GB),编程语言为C++,加载OpenGL 渲染库,通过基于色彩模式变化率的图形绘制方法,将图形中的元素动态分配到不同的图层中并行绘制。

针对不同的点云图形Bunny(20085 个点)、lion(100604 个点)、dragon(581390 个点),采用分层式图形实时渲染方法,从白色(模型原色)分别变换成三种不同的颜色如图3,图4-图6 分别列出了Bunny、lion、dragon 变换绘制效果,表1-表3 分别列出了Bunny、lion、dragon 三种绘制效果中元素数、分层数、传统未分层图形绘制时间、分层法图形绘制时间等情况,通过实验数据分析,本文改进方法与传统未分层方法对比,能够高效、保质地完成图形绘制渲染。

3 结束语

本文对传统实时图形渲染方法的不足之处做了分析,对分层式图形绘制渲染方法的原理进行了研究,通过皮尔逊相关系数判断应用帧的关联性,计算N 个区域内的平均色彩模式变化率,对图形实时色彩变化特征进行分析和分层管理,通过绑定CPU 内核并行绘制渲染图形,将有限的计算资源优先分配给色彩模式变化率较高的图层,避免了变化率较低图层重复绘制、图形元素逐一绘制而造成的计算资源浪费。实验表明:在图形的实时绘制渲染方面,与传统图形绘制方法相比,改进方法的实时绘制和渲染的速度快,计算机内部中的计算资源得到了较好的利用,效果令人满意,此方法对图形绘制领域有一定的参考价值。

猜你喜欢
计算资源变化率图层
基于电流变化率的交流滤波器失谐元件在线辨识方法
基于模糊规划理论的云计算资源调度研究
例谈中考题中的变化率问题
改进快速稀疏算法的云计算资源负载均衡
基于Wi-Fi与Web的云计算资源调度算法研究
耦合分布式系统多任务动态调度算法
巧用混合图层 制作抽象动感森林
利用基波相量变化率的快速选相方法
图层法在地理区域图读图中的应用
川滇地区地壳应变能密度变化率与强震复发间隔的数值模拟