一种图像绘制方法、装置及设备的制造方法

文档序号:10489688阅读:221来源:国知局
一种图像绘制方法、装置及设备的制造方法
【专利摘要】本发明实施例公开了一种图像绘制方法、装置及设备,实现了提高绘图效率,节约系统资源的目的。其中,所述方法包括:获取单平面图像的绘图指令和所述绘图指令的初始绘图参数,绘图指令包括第一绘图指令,所述初始绘图参数包括与所述第一绘图指令对应的第一初始绘图参数;根据所述第一绘图指令的初始绘图参数,确定所述第一绘图指令在待绘制双平面图像中分别对应的第一实际绘图参数和第二实际绘图参数,所述第一实际绘图参数和所述第二实际绘图参数相同;在帧缓存中建立第一视口和第二视口;利用一个线程调用所述第一绘图指令,结合所述第一实际绘图参数或所述第二实际绘图参数,同时在所述第一视口和所述第二视口中进行绘制,以得到双平面图像。
【专利说明】
一种图像绘制方法、装置及设备
技术领域
[0001]本发明涉及图像处理领域,尤其涉及一种图像绘制方法、装置及设备。
【背景技术】
[0002]本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
[0003]虚拟现实(Virtual Reality,简称VR)技术是一种可以创建和体验虚拟世界的计算机仿真技术,通过利用多源信息实现融合的交互式的三维动态视景和实体行为的仿真,来生成一种模拟环境,使得用户沉浸到该模拟环境中。
[0004]3D(Three Dimens1n)显示技术是虚拟现实技术中的一个核心的技术分支,所谓3D显示技术是利用人眼立体视觉原理使人眼看到的画面变得立体逼真,让观众有身临其境的感觉。人们之所以能够轻易的判断出物体在空间中的位置以及不同物体之间的相对位置,是因为人眼具有立体视觉。人的双眼之间距离大概在6厘米左右,在观察现实世界的物体时,由于存在这6厘米的间距,两个眼睛所观察到的影像会存在细微的差距。这细微的差距叫做像差。两个眼睛观察到的两副具有相差的图像,在转换成电信号后传递到人的大脑,大脑通过对两副图像进行比对,获取物体的深度信息,经过复杂的处理最终在大脑中形成物体的立体影像。人眼成像的过程如图1所示。为了将一个平面图像在人的大脑中形成立体影像,我们需要将该平面图像设计为具有相差的两个平面图像,人的双眼同时看这两个平面图像时,就可以在大脑中形成立体影像。
[0005]基于上述原理,现有技术在获取到单平面图像后,利用两个线程来根据所述单平面图像绘制出具有相差的双平面图像。其中一个线程负责绘制所述双平面图像中的其中一个平面图像,另一个线程负责绘制另外一个平面图像。发明人发现,在绘制双平面图像过程中,经常会发生同一个图像绘制指令被两个线程分别调用一次,即一共需要调用两次才能完成双平面图像的绘制的情况,且一个线程在执行过程中,另外一个线程是处于等待状态的,因此导致图像绘制效率低下。此外,现有技术由于通过两个线程来绘制双平面图像,线程之间需要频繁切换,所以会消耗大量的系统资源。

【发明内容】

[0006]为了解决现有技术中存在的图像绘制效率低下、系统资源消耗较大的技术问题,本发明提供了一种图像绘制方法、装置和设备,实现了提高图像绘制效率、节约系统资源的目的。
[0007]本发明提供一种图像绘制方法,所述方法包括:
[0008]获取单平面图像的绘图指令和所述绘图指令的初始绘图参数,所述绘图指令包括第一绘图指令,所述初始绘图参数包括与所述第一绘图指令对应的第一初始绘图参数;
[0009]根据所述第一绘图指令的初始绘图参数,确定所述第一绘图指令在待绘制双平面图像中分别对应的第一实际绘图参数和第二实际绘图参数,所述第一实际绘图参数和所述第二实际绘图参数相同;
[0010]在帧缓存中建立第一视口和第二视口;
[0011]利用一个线程调用所述第一绘图指令,结合所述第一实际绘图参数或所述第二实际绘图参数,同时在所述第一视口和所述第二视口中进行绘制,以得到双平面图像。
[0012]优选的,所述绘图指令还包括第二绘图指令,所述初始绘图参数还包括与所述第二绘图指令对应的第二初始绘图参数;所述方法还包括:
[0013]根据所述第二绘图指令的初始绘图参数,确定所述第二绘图指令在所述待绘制双平面图像中分别对应的第三实际绘图参数和第四实际绘图参数,所述第三实际绘图参数和所述第四实际绘图参数不同;
[0014]利用所述一个线程调用所述第二绘图指令,结合所述第三实际绘图参数,在所述第一视口中进行绘制;
[0015]利用所述一个线程调用所述第二绘图指令,结合所述第四实际绘图参数,在所述第二视口中进行绘制,以得到所述双平面图像。
[0016]优选的,所述第二绘图指令的初始绘图参数包括绘图对象的初始位置坐标;
[0017]所述根据所述第二绘图指令的初始绘图参数,确定所述第二绘图指令在所述待绘制双平面图像中分别对应的第三实际绘图参数和第四实际绘图参数包括:
[0018]按照第一预设规则,对所述绘图对象的初始位置坐标进行处理,得到第三实际位置坐标;
[0019]按照第二预设规则,对所述绘图对象的初始位置坐标进行处理,得到第四实际位置坐标;
[0020]所述第一预设规则和所述第二预设规则符合人眼立体视觉原理。
[0021 ]优选的,所述绘图对象的初始位置坐标根据所述绘图对象的原始位置坐标和变换矩阵进行确定;
[0022]所述按照第一预设规则,对所述绘图对象的初始位置坐标进行处理,得到第三实际位置坐标包括:
[0023]按照第一预设规则,对所述绘图对象的变换矩阵进行处理,根据所述原始位置坐标和按照所述第一预设规则处理后的位置变换矩阵得到第三实际位置坐标;
[0024]所述按照第二预设规则,对所述绘图对象的初始位置坐标进行处理,得到第四实际位置坐标包括:
[0025]按照第二预设规则,对所述绘图对象的变换矩阵进行处理,根据所述原始位置坐标和按照所述第二预设规则处理后的位置变换矩阵得到第四实际位置坐标。
[0026]优选的,所述双平面图像包括第一双平面图像和第二双平面图像,所述第一双平面图像根据来自预设线程的单平面图像的绘图指令和所述绘图指令的初始绘图参数得到,所述第二双平面图像根据预设单平面图像的预设绘图指令和预设初始绘图参数得到;
[0027]所述方法还包括:
[0028]将所述第一双平面图像粘贴在所述第二双平面图像上;
[0029]显示粘贴后的第一双平面图像和所述第二双平面图像。
[0030]优选的,所述预设线程的单平面图像的绘图指令和所述绘图指令的初始绘图参数通过如下步骤得到:[0031 ]获取系统正在运行的线程的标识;
[0032]判断所述正在运行的线程的标识是否与所述预设线程的标识相同;
[0033]若是,则从所述正在运行的线程中提取所述单平面图像的绘图指令和所述绘图指令的初始绘图参数。
[0034]本发明还提供了一种图像绘制装置,所述装置包括:指令和参数获取单元、第一实际参数确定单元、视口建立单元和第一绘制单元;
[0035]其中,所述指令和参数获取单元,用于获取单平面图像的绘图指令和所述绘图指令的初始绘图参数,所述绘图指令包括第一绘图指令,所述初始绘图参数包括与所述第一绘图指令对应的第一初始绘图参数;
[0036]所述第一实际参数确定单元,用于根据所述第一绘图指令的初始绘图参数,确定所述第一绘图指令在待绘制双平面图像中分别对应的第一实际绘图参数和第二实际绘图参数,所述第一实际绘图参数和所述第二实际绘图参数相同;
[0037]所述视口建立单元,用于在帧缓存中建立第一视口和第二视口;
[0038]所述第一绘制单元,用于利用一个线程调用所述第一绘图指令,结合所述第一实际绘图参数或所述第二实际绘图参数,同时在所述第一视口和所述第二视口中进行绘制,以得到双平面图像。
[0039]优选的,所述绘图指令还包括第二绘图指令,所述初始绘图参数还包括与所述第二绘图指令对应的第二初始绘图参数;
[0040]所述装置还包括:第二实际参数确定单元、第二绘制单元和第三绘制单元;
[0041]所述第二实际参数确定单元,用于根据所述第二绘图指令的初始绘图参数,确定所述第二绘图指令在所述待绘制双平面图像中分别对应的第三实际绘图参数和第四实际绘图参数,所述第三实际绘图参数和所述第四实际绘图参数不同;
[0042]所述第二绘制单元,用于利用所述一个线程调用所述第二绘图指令,结合所述第三实际绘图参数,在所述第一视口中进行绘制;
[0043]所述第三绘制单元,用于利用所述一个线程调用所述第二绘图指令,结合所述第四实际绘图参数,在所述第二视口中进行绘制,以得到所述双平面图像。
[0044]优选的,所述第二绘图指令的初始绘图参数包括绘图对象的初始位置坐标;
[0045]所述第二实际参数确定单元,具体用于按照第一预设规则,对所述绘图对象的初始位置坐标进行处理,得到第三实际位置坐标;按照第二预设规则,对所述绘图对象的初始位置坐标进行处理,得到第四实际位置坐标;所述第一预设规则和所述第二预设规则符合人眼立体视觉原理。
[0046]优选的,所述绘图对象的初始位置坐标根据所述绘图对象的原始位置坐标和变换矩阵进行确定;
[0047]所述第二实际参数确定单元,具体用于按照第一预设规则,对所述绘图对象的变换矩阵进行处理,根据所述原始位置坐标和按照所述第一预设规则处理后的位置变换矩阵得到第三实际位置坐标;按照第二预设规则,对所述绘图对象的变换矩阵进行处理,根据所述原始位置坐标和按照所述第二预设规则处理后的位置变换矩阵得到第四实际位置坐标;所述第一预设规则和所述第二预设规则符合人眼立体视觉原理。
[0048]优选的,所述双平面图像包括第一双平面图像和第二双平面图像,所述第一双平面图像根据来自预设线程的单平面图像的绘图指令和所述绘图指令的初始绘图参数得到,所述第二双平面图像根据预设单平面图像的预设绘图指令和预设初始绘图参数得到;
[0049]所述装置还包括:粘贴单元和显示单元;
[0050]所述粘贴单元,用于将所述第一双平面图像粘贴在所述第二双平面图像上;
[0051]所述显示单元,用于显示粘贴后的第一双平面图像和所述第二双平面图像。
[0052]优选的,所述装置还包括:标识获取单元、判断单元和提取单元;
[0053]所述标识获取单元,用于获取系统正在运行的线程的标识;
[0054]所述判断单元,用于判断所述正在运行的线程的标识是否与所述预设线程的标识相同,若是,则激活所述提取单元;
[0055]所述提取单元,用于从所述正在运行的线程中提取所述单平面图像的绘图指令和所述绘图指令的初始绘图参数。
[0056]本发明还提供了一种图像绘制设备,所述设备包括:处理器、用于存储所述处理器可执行指令的存储器、显示器;
[0057]其中,所述处理器被配置为:
[0058]获取单平面图像的绘图指令和所述绘图指令的初始绘图参数,所述绘图指令包括第一绘图指令,所述初始绘图参数包括与所述第一绘图指令对应的第一初始绘图参数;
[0059]根据所述第一绘图指令的初始绘图参数,确定所述第一绘图指令在待绘制双平面图像中分别对应的第一实际绘图参数和第二实际绘图参数,所述第一实际绘图参数和所述第二实际绘图参数相同;
[0060]在帧缓存中建立第一视口和第二视口;
[0061]利用一个线程调用所述第一绘图指令,结合所述第一实际绘图参数或所述第二实际绘图参数,同时在所述第一视口和所述第二视口中进行绘制,以得到双平面图像,并将所述双平面图像发送到所述显示器进行显示。
[0062]首先本发明由于所述第一绘制指令在所述待绘制双平面图像中分别对应的所述第一实际绘制参数和所述第二实际绘图参数相同,因此只需要调用一次所述第一绘制指令,就可以实现同时在所述第一视口和所述第二视口进行绘制,得到所述双平面图像的目的,相对于现有技术采用两个线程调用两次绘图指令的图像绘制方式,本实施例提高了绘制效率。
[0063]其次,由于本发明采用一个线程绘制所述双平面图像,无需线程之间的切换,因而节约了系统资源。
[0064]另外,现有技术中采用两个线程进行双平面图像的绘制,需要建立两个窗口,每个窗口对应一个线程,然后分别在这两个窗口中各自建立帧缓存和视口。但是因为通常情况下,应用程序在设计时只设计一个窗口,因此要实现增加一个窗口就需要对应用程序的代码进行修改。而本发明由于只采用一个线程完成对双平面图像的绘制,因此只需要建立一个窗口即可,在该窗口中完成建立帧缓存和视口的工作,而无需对应用程序的代码进行修改,减少了开发人员的工作量。
【附图说明】
[0065]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0066]图1为人眼成像的原理图;
[0067]图2为本发明实施例一提供的一种图像绘制方法的流程图
[0068]图3为本发明实施例二提供的一种图像绘制方法的流程图;
[0069]图4a为本发明实施例二中绘图对象X在单平面图像的视口的位置示意图;
[0070]图4b为本发明实施例二中不考虑人眼立体视图原理的前提下,绘图对象X在双平面图像的第一视口和第二视口中的位置示意图;
[0071]图4c为本发明实施例二中不考虑人眼立体视图原理的前提下,绘图对象X’在双平面图像的第一视口中的位置示意图,以及绘图对象X”在双平面图像的第二视口中的位置示意图;
[0072]图5为现有技术双平面图像占不满整个显示屏幕的示意图;
[0073]图6为本发明实施例三中第一双平面图像粘贴在第二双平面图像中的效果示意图;
[0074]图7为本发明实施例四提供的一种图像绘制装置的结构框图;
[0075]图8为本发明实施例五提供的一种图像绘制装置的结构框图。
【具体实施方式】
[0076]现有技术在获取到单平面图像后,利用两个线程来根据所述单平面图像绘制出具有相差的双平面图像。假设线程A负责绘制双平面图像中的平面图像A,线程B负责绘制双平面图像中的平面图像B。在绘制平面图像A和B的过程中,同一个绘图指令被调用两次才能完成平面图像A和平面图像B的绘制,一个线程在工作过程中,另外一个线程处于闲置状态。例如,绘图指令C被线程A调用,以对平面图像A进行上色,这时线程B处于闲置状态。而当对平面图像A上色完毕后,线程B调用所述绘图指令C对平面图像B进行上色,这时线程A处于闲置状态。因此,现有技术中的双平面图像绘制方法绘制双平面图像需要花费较长的时间,效率较低。
[0077]另外,现有技术在通过两个线程绘制双平面图像的过程中,线程之间需要频繁切换,所以会消耗大量的系统资源。例如,线程A在对平面图像A进行上色后,切换至线程B,由线程B对平面图像B进行上色,上色完毕后,再切换回线程A,由线程A对平面图像A进行纹理处理,最后再切换至线程B,由线程B对平面图像B进行纹理处理。这种线程A和线程B之间经常性的切换会导致消耗很多的系统资源,甚至进一步导致双平面图像绘制效率的降低。
[0078]为了克服上述技术问题,本发明提供了一种图像绘制方法,该方法将所述单平面图像的绘图指令分为两类,即第一绘图指令和第二绘图指令,根据第一绘图指令的初始绘图参数得到的在待绘制双平面图像中分别对应的第一实际绘图参数和第二实际绘图参数是相同的,而根据第二绘图指令的初始绘图参数得到的在待绘制双平面图像中分别对应的第三实际绘图参数和第四实际绘图参数是不同的。对于这两类绘图指令,本发明给出了两种不同的处理办法,但是相同之处在于,本发明利用一个线程来执行所述第一绘图指令和所述第二绘图指令,对于所述第一绘图指令,只调用一次就可以实现同时在两个视口(第一视口和第二视口)绘制的目的,有效的节约了绘图时间,提高了绘图效率。而且,由于只有一个线程,不存在现有技术线程之间切换的操作,因而大大节约了系统资源。
[0079]为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0080]实施例一:
[0081]参见图2,该图为本发明实施例一提供的一种图像绘制方法的流程图。
[0082]本实施例提供的图像绘制方法包括如下步骤:
[0083]步骤SlOl:获取单平面图像的绘图指令和所述绘图指令的初始绘图参数,所述绘图指令包括第一绘图指令,所述初始绘图参数包括与所述第一绘图指令对应的第一初始绘图参数。
[0084]在本实施例中,所述单平面图像是指单个的平面图像,就内容而言,所述平面图像可以是平面二维图像,也可以是平面三维图像。所述单个的平面图像中可以包括一个画面,也可以包括多个画面,本发明不做具体限定。
[0085]所述单平面图像是相对于双平面图像而言,所述单平面图像是指未经3D显示技术处理的普通平面图像,而所述双平面图像是指经过3D显示技术处理后的平面图像,即所述双平面图像是符合人眼立体视觉原理的、通过3D眼镜等装置能够看到立体景象的图像。
[0086]在实际应用中,通常需要对多帧单平面图像连续播放,以形成动态的画面。所述单平面图像的绘图指令和所述绘图指令的初始绘图参数可以通过静态的方式获取,也可以通过动态的方式获取。所谓静态获取是指将所述多帧单平面图像分别对应的绘图指令以及与所述绘图指令对应的初始绘图参数分一次或几次从存储器拷贝而来,或者从服务器下载而来。所谓动态获取是指从系统正在运行的绘图线程中实时获取各帧单平面图像的绘图指令和对应的初始绘图参数。具体根据所述绘图指令的来源来对获取的方式进行选择。例如,若所述绘图指令和所述初始绘图参数是自定义的,或者所述绘图指令的代码可以获取到,那么可以采用静态的方式获取;若所述绘图指令和所述初始绘图参数并非是自定义的,且考虑到绘图指令代码获取和破解的难度,可以通过动态的方式进行获取。目前常用的绘图应用编程接口有OpenGUDirect X等,通过所述绘图应用编程接口调用绘图驱动程序,应用软件(例如游戏类软件、教学类软件等)可以绘制向用户展示的单平面图像。具体的,用户将这些应用软件下载到终端设备上,在打开所述应用软件后,系统给所述应用软件分配线程以利用所述绘图应用编程接口对所述应用软件待展示的单平面图像进行绘制。这时,就可以在正在运行的绘图线程中实时提取所述单平面图像的绘图指令和对应的初始绘图参数。由此可见,动态获取方式无需获取到所述代码,只要应用软件运行,就可以从系统分配给应用软件的绘图线程提取到所述单平面图像的绘图指令和初始绘图参数。
[0087]动态获取详细执行步骤见步骤SlOl I至步骤S1013:
[0088]步骤SlOll:获取系统正在运行的线程的标识。
[0089]步骤S1012:判断所述正在运行的线程的标识是否与所述预设线程的标识相同,若是,则执行步骤S1013。
[0090]步骤S1013:从所述正在运行的线程中提取所述单平面图像的绘图指令和所述绘图指令的初始绘图参数。
[0091]在本实施例中,系统在分配线程的时候为每个线程都设置有标识,以与其他线程区别开来,所述线程的标识可以是线程的名称、序号等,本发明不做具体限定。此外,本实施例可以事先建立一个线程数据库,所述线程数据库中存储有需要提取的绘图指令的线程标识,即预设线程的标识。通过获取系统正在运行的线程的标识,并判断所述正在运行的线程是否与所述线程数据库中的预设线程的标识相同,若是,则从所述正在运行的线程中提取所述单平面图像的绘图指令和对应的初始绘图参数。在一种优选的实现方式中,我们不需要对系统所有正在运行的线程进行监控,即获取所有正在运行的线程的标识,而只获取与绘图有关的线程即可,例如,只在系统为OpenGL ES等绘图软件分配线程时再获取对应的标识,这样可以提高监控效率,节约系统资源。
[0092]接下来,我们继续介绍步骤S102。
[0093]步骤S102:根据所述第一绘图指令的初始绘图参数,确定所述第一绘图指令在待绘制双平面图像中分别对应的第一实际绘图参数和第二实际绘图参数,所述第一实际绘图参数和所述第二实际绘图参数相同。
[0094]本发明将所述单平面图像的绘图指令分为两种,即所述第一绘图指令和所述第二绘图指令。所述第一绘图指令为在待绘制双平面图像中对应的实际绘图参数相同的绘图指令,例如对绘图对象进行上色(同一个绘图对象在所述双平面图像中的颜色应当相同)、对绘图对象的纹理进行处理(同一个绘图对象在所述双平面图像中的纹理信息应当相同)等。所述第二绘图指令为在待绘制双平面图像中对应的实际绘图参数不同的绘图指令,关于所述第二绘图指令,实施例二将详细描述,此处不再赘述。
[0095]所述单平面图像对应的初始绘图参数和所述待绘制双平面图像对应的实际绘图参数之间的关系取决于所述初始绘图参数的类型,若所述初始绘图参数的类型为颜色、纹理等,这类初始绘图参数和所述实际绘图参数是一致的,例如单平面图像中的苹果是红色的,那么其在绘制出来的双平面图像中也为红色。所述第一绘图指令对应的初始绘图参数通常为这类绘图参数。而若所述初始绘图参数的类型与绘图对象的位置坐标相关,那么初始绘图参数和实际绘图参数一般是不一样的,具体请见实施例二。所述第二绘图指令对应的初始绘图参数的类型通常为后者。
[0096]步骤S103:在帧缓存中建立第一视口和第二视口。
[0097]帧缓存(Frame Bufffer),又称帧缓冲存储器、显存等,是显示屏幕所显示画面的一个直接映像,帧缓存的每个存储单元对应显示屏幕上的一个像素,整个帧缓存对应一帧图像。通过在帧缓存中写入数据,显示控制器就可以自动从所述帧缓存中取出数据并显示出来。
[0098]在实际应用中,所述第一视口和第二视口可以建立在同一个帧缓存中,也可以建立在两个帧缓存中,每个帧缓存分别对应一个视口。所谓视口(View Port)是与终端设备显示屏幕相关的一个矩形区域,视口的坐标系与显示屏幕的大小是相适应的。在本实施例中,所述第一视口用于绘制待绘制双平面图像中的其中一个平面图像,所述第二视口用于绘制所述待绘制双平面图像中的另一个平面图像。
[0099]步骤S104:利用一个线程调用所述第一绘图指令,结合所述第一实际绘图参数或所述第二实际绘图参数,同时在所述第一视口和所述第二视口中进行绘制,以得到双平面图像。
[0100]由于所述第一绘制指令在所述待绘制双平面图像中分别对应的所述第一实际绘制参数和所述第二实际绘图参数相同,因此只需要调用一次所述第一绘制指令,就可以实现同时在所述第一视口和所述第二视口进行绘制,得到所述双平面图像的目的,相对于现有技术采用两个线程对双平面图像进行绘制的方法,本实施例提高了绘制效率,且节约了系统资源。
[0101]另外,现有技术中采用两个线程进行双平面图像的绘制,需要建立两个窗口,每个窗口对应一个线程,然后分别在这两个窗口中各自建立帧缓存和视口。但是因为通常情况下,应用程序在设计时只设计一个窗口,因此要实现增加一个窗口就需要对应用程序的代码进行修改。而本实施例提供的图像绘制方法由于只采用一个线程完成对双平面图像的绘制,因此只需要建立一个窗口即可,在该窗口中完成建立帧缓存和视口的工作,而无需对应用程序的代码进行修改,减少了开发人员的工作量。
[0102]需要注意的是,本实施例的步骤执行顺序并不构成对本发明技术方案的限定,例如,所述步骤S103还可以在步骤SlOl之前执行。
[0103]实施例二
[0104]参见图3,该图为本发明实施例二提供的一种图像绘制方法的流程图。
[0105]本实施例提供的图像绘制方法包括如下步骤:
[0106]步骤S201:在帧缓存中建立第一视口和第二视口。
[0107]步骤S202:获取单平面图像的绘图指令和所述绘图指令的初始绘图参数,所述绘图指令包括第一绘图指令和第二绘图指令,所述初始绘图参数包括与所述第一绘图指令对应的第一初始绘图参数,和与所述第二绘图指令对应的第二初始绘图参数。
[0108]步骤S203:根据所述第一绘图指令的初始绘图参数,确定所述第一绘图指令在待绘制双平面图像中分别对应的第一实际绘图参数和第二实际绘图参数,所述第一实际绘图参数和所述第二实际绘图参数相同。
[0109]步骤S204:利用一个线程调用所述第一绘图指令,结合所述第一实际绘图参数或所述第二实际绘图参数,同时在所述第一视口和所述第二视口中进行绘制。
[0110]步骤S205:根据所述第二绘图指令的初始绘图参数,确定所述第二绘图指令在所述待绘制双平面图像中分别对应的第三实际绘图参数和第四实际绘图参数,所述第三实际绘图参数和所述第四实际绘图参数不同。
[0111]如所述实施例一所述,所述第二绘图指令的初始绘图参数一般与绘图对象的位置坐标相关,同一个绘图对象在单平面图像中的位置坐标与其在双平面图像中的位置坐标是不一样的。而且,所述第二绘制指令在所述待绘制双平面图像中分别对应的两个实际绘图参数也不同。
[0112]假设先不考虑由于人眼立体视图原理导致的双平面图像的差异,参见图4a,假设所述单平面图像对应的视口的横坐标范围为Ocm—10cm,纵坐标范围为Ocm—5cm,绘图对象X在所述单平面图像的视口的初始位置坐标为(2.5,5)。参见图4b,假设所述待绘制双平面图像的第一视口(点A、B、C、D的范围)的横坐标范围为Ocm—5cm,所述第一视口的纵坐标范围为Ocm—5cm,所述第二视口的横坐标范围为5cm—10cm,所述第二视口的纵坐标范围也为Ocm—5cm,那么所述绘图对象X在所述第一视口的位置坐标就可能为(2.5,2.5),所述绘图对象X在所述第二视口的位置坐标就可能为(7.5,2.5)。
[0113]考虑到人眼立体视图原理,需要按照第一预设规则对绘图对象X的初始位置坐标进行处理,以得到第三实际位置坐标,并按照第二预设规则对所述绘图对象X的初始位置坐标进行处理,以得到第四实际位置坐标。本发明不对所述第一预设规则和所述第二预设规则进行限定,本领域技术人员可以根据实际情况自行设计。例如,在所述图4b的基础上,所述第一预设规则可以是在所述绘图对象X在所述第一视口的横坐标减去预设值,所述第二预设规则可以是在所述绘图对象X在所述第二视口的横坐标加上所述预设值,例如,参见图4c,该图中的绘图对象X’由位于第一视口的绘图对象对安照第一预设规则处理后得到,绘图对象X”由位于第二视口的绘图对象对安照第二预设规则处理后得到。
[0114]另外,在实际应用中,所述绘图对象的初始位置坐标可以根据所述绘图对象的原始位置坐标和变换矩阵进行确定,也就是说,若给定了所述绘图对象的原始位置坐标,那么只要改变所述变换矩阵中的参数,就可以将绘图对象绘制在任意位置,或者对绘图对象进行大小的缩放。因此,对所述绘图对象的初始位置坐标的处理就可以简化为对所述变换矩阵的处理,具体的,所述按照第一预设规则,对所述绘图对象的初始位置坐标进行处理,得到第三实际位置坐标,可以为:按照第一预设规则,对所述绘图对象的变换矩阵进行处理,根据所述原始位置坐标和按照所述第一预设规则处理后的位置变换矩阵得到第三实际位置坐标;所述按照第二预设规则,对所述绘图对象的初始位置坐标进行处理,得到第四实际位置坐标,可以为:按照第二预设规则,对所述绘图对象的变换矩阵进行处理,根据所述原始位置坐标和按照所述第二预设规则处理后的位置变换矩阵得到第四实际位置坐标。
[0115]步骤S206:利用所述一个线程调用所述第二绘图指令,结合所述第三实际绘图参数,在所述第一视口中进行绘制。
[0116]步骤S207:利用所述一个线程调用所述第二绘图指令,结合所述第四实际绘图参数,在所述第二视口中进行绘制,以得到双平面图像。
[0117]在本实施例中,利用一个线程调用所述第一绘图指令和所述第二绘图指令,对于所述第二绘图指令,由于所述第二绘图指令对应的第三实际绘图参数和第四实际绘图参数不同,因此需要调用两次,来完成在所述第一视口和所述第二视口的绘制。而对于所述第一绘图指令,其对应的第一实际绘图参数和所述第二实际绘图参数相同,因此只需要调用一次即可实现同时在所述第一视口和所述第二视口的绘制。总的来说,相对于现有技术,本实施例有效提高了所述双平面图像的绘制效率,而且无需线程之间的切换,大大节约了系统资源。
[0118]需要注意的是,上述实施例的步骤执行顺序并不构成对本发明技术方案的限定,本领域技术人员可以根据实际情况作适当的调整。
[0119]实施例三
[0120]在目前的技术中,为了满足人眼观看图像的最佳长宽比(一般为16:9),当所述单平面图像处理为所述双平面图像后,存在着双平面图像占不满整个显示屏幕的情况,现有技术将显示屏幕其余部分的像素点均填充为黑色,例如图5,造成用户在利用3D智能设备观看所述双平面图像时,观看体验较差。
[0121]为了克服该技术问题,在本实施例中,我们可以通过本发明提供的图像绘制方法得到两个双平面图像,即第一双平面图像和第二双平面图像,所述第一双平面图像根据来自预设线程的单平面图像的绘图指令和所述绘图指令的初始绘图参数得到,所述第二双平面图像根据预设单平面图像的预设绘图指令和预设初始绘图参数得到。所述第一双平面图像可以作为前景图像,所述第二双平面图像可以作为背景图像。然后,将所述第一双平面图像粘贴在所述第二双平面图像上,并显示粘贴后的第一双平面图像和所述第二双平面图像。也就是说,显示屏幕中除所述第一双平面图像以外的黑色区域用所述第二双平面图像填充。所述第二双平面图像可以是与所述第一双平面图像相关的背景图像,也可以是与所述双平面图像无关的其他背景图像,例如现实世界。举个例子,用户在通过3D智能眼镜观看移动设备显示屏幕上的第一双平面图像时,开启所述移动设备的摄像头,由所述摄像头来对现实世界进行拍摄,并将拍摄到的图像作为所述预设单平面图像,利用本发明提供的图像绘制方法将所述预设单平面图像处理为所述第二双平面图像,用户就可以在观看显示屏幕播放的画面的同时,对现实的周围环境也有所掌握,提高了用户体验。
[0122]所谓将所述第一双平面图像粘贴在所述第二双平面图像上,在实际应用中可以通过很多种手段实现,例如在第一帧缓存中绘制所述第一双平面图像,在第二帧缓存中绘制所述第二双平面图像,在粘贴时,可以以帧缓存为单位进行粘贴,即将所述第一帧缓存中的所述第一双平面图像粘贴在所述第二帧缓存中的预设位置,所述预设位置可以是所述第二双平面图像的中央位置。或者,还可以以视口为单位进行粘贴,即从所述第一帧缓存中的第一视口中提取所述第一双平面图像中的其中一幅平面图像,粘贴在所述第二帧缓存中的第一视口的第一位置,并从所述第一帧缓存中的第二视口中提取所述第一双平面图像中的另外一幅图像,粘贴在所述第二帧缓存中的第二视口的第二位置。等等。粘贴后的效果图参见图6,在该图中,所述第一双平面图像为游戏画面,所述第二双平面图像为模拟游戏厅画面。所述第二平面图像可以是静止图像,也可是动态图像,本发明不做具体限定。另外,如何将所述第一双平面图像粘贴在所述第二双平面图像上,本发明也不做具体限定,目前通常采用纹理贴图的方式进行粘贴,所谓纹理贴图是指把一副图像映射到一个多边形的表面上,所述多边形可以是二维的,也可以是三维的。另外还可以通过显存复制等方式进行粘贴,由于该点属于本领域技术人员公知的常识,此处不做过多的描述。
[0123]基于以上实施例提供的一种图像绘制方法,本发明实施例还提供了一种图像绘制装置,下面结合附图来详细说明其工作原理。
[0124]实施例四
[0125]参见图7,该图为本实施例提供的一种图像绘制装置的结构框图。
[0126]本实施例提供的图像绘制装置包括:
[0127]指令和参数获取单元101、第一实际参数确定单元102、视口建立单元103和第一绘制单元104;
[0128]其中,所述指令和参数获取单元101,用于获取单平面图像的绘图指令和所述绘图指令的初始绘图参数,所述绘图指令包括第一绘图指令,所述初始绘图参数包括与所述第一绘图指令对应的第一初始绘图参数;
[0129]所述第一实际参数确定单元102,用于根据所述第一绘图指令的初始绘图参数,确定所述第一绘图指令在待绘制双平面图像中分别对应的第一实际绘图参数和第二实际绘图参数,所述第一实际绘图参数和所述第二实际绘图参数相同;
[0130]所述视口建立单元103,用于在帧缓存中建立第一视口和第二视口;
[0131]所述第一绘制单元104,用于利用一个线程调用所述第一绘图指令,结合所述第一实际绘图参数或所述第二实际绘图参数,同时在所述第一视口和所述第二视口中进行绘制,以得到双平面图像。
[0132]由于所述第一绘制指令在所述待绘制双平面图像中分别对应的所述第一实际绘制参数和所述第二实际绘图参数相同,因此只需要调用一次所述第一绘制指令,就可以实现同时在所述第一视口和所述第二视口进行绘制,得到所述双平面图像的目的,相对于现有技术采用两个线程对双平面图像进行绘制的方法,本实施例提高了绘制效率,且节约了系统资源。
[0133]另外,现有技术中采用两个线程进行双平面图像的绘制,需要建立两个窗口,每个窗口对应一个线程,然后分别在这两个窗口中各自建立帧缓存和视口。但是因为通常情况下,应用程序在设计时只设计一个窗口,因此要实现增加一个窗口就需要对应用程序的代码进行修改。而本实施例提供的图像绘制方法由于只采用一个线程完成对双平面图像的绘制,因此只需要建立一个窗口即可,在该窗口中完成建立帧缓存和视口的工作,而无需对应用程序的代码进行修改,减少了开发人员的工作量。
[0134]实施例五
[0135]参见图8,该图为本实施例提供的一种图像绘制装置的结构框图。
[0136]在本实施例中,所述绘图指令还包括第二绘图指令,所述初始绘图参数还包括与所述第二绘图指令对应的第二初始绘图参数。因此,在所述实施例四的基础上,本实施例提供的图像绘制装置还包括:
[0137]第二实际参数确定单元105、第二绘制单元106和第三绘制单元107;
[0138]所述第二实际参数确定单元105,用于根据所述第二绘图指令的初始绘图参数,确定所述第二绘图指令在所述待绘制双平面图像中分别对应的第三实际绘图参数和第四实际绘图参数,所述第三实际绘图参数和所述第四实际绘图参数不同;
[0139]所述第二绘制单元106,用于利用所述一个线程调用所述第二绘图指令,结合所述第三实际绘图参数,在所述第一视口中进行绘制;
[0140]所述第三绘制单元107,用于利用所述一个线程调用所述第二绘图指令,结合所述第四实际绘图参数,在所述第二视口中进行绘制,以得到所述双平面图像。
[0141]在本实施例中,利用一个线程调用所述第一绘图指令和所述第二绘图指令,对于所述第二绘图指令,由于所述第二绘图指令对应的第三实际绘图参数和第四实际绘图参数不同,因此需要调用两次,来完成在所述第一视口和所述第二视口的绘制。而对于所述第一绘图指令,其对应的第一实际绘图参数和所述第二实际绘图参数相同,因此只需要调用一次即可实现同时在所述第一视口和所述第二视口的绘制。总的来说,相对于现有技术,本实施例有效提高了所述双平面图像的绘制效率,而且无需线程之间的切换,大大节约了系统资源。
[0142]在另外一个实施例中,所述第二绘图指令的初始绘图参数包括绘图对象的初始位置坐标;
[0143]所述第二实际参数确定单元105,具体用于按照第一预设规则,对所述绘图对象的初始位置坐标进行处理,得到第三实际位置坐标;按照第二预设规则,对所述绘图对象的初始位置坐标进行处理,得到第四实际位置坐标;所述第一预设规则和所述第二预设规则符合人眼立体视觉原理。
[0144]在另外一个实施例中,所述绘图对象的初始位置坐标根据所述绘图对象的原始位置坐标和变换矩阵进行确定;
[0145]所述第二实际参数确定单元105,具体用于按照第一预设规则,对所述绘图对象的变换矩阵进行处理,根据所述原始位置坐标和按照所述第一预设规则处理后的位置变换矩阵得到第三实际位置坐标;按照第二预设规则,对所述绘图对象的变换矩阵进行处理,根据所述原始位置坐标和按照所述第二预设规则处理后的位置变换矩阵得到第四实际位置坐标;所述第一预设规则和所述第二预设规则符合人眼立体视觉原理。
[0146]在另外一个实施例中,所述双平面图像包括第一双平面图像和第二双平面图像,所述第一双平面图像根据来自预设线程的单平面图像的绘图指令和所述绘图指令的初始绘图参数得到,所述第二双平面图像根据预设单平面图像的预设绘图指令和预设初始绘图参数得到;
[0147]所述装置还包括:粘贴单元和显示单元;
[0148]所述粘贴单元,用于将所述第一双平面图像粘贴在所述第二双平面图像上;
[0149]所述显示单元,用于显示粘贴后的第一双平面图像和所述第二双平面图像。
[0150]在另外一个实施例中,所述装置还包括:标识获取单元、判断单元和提取单元;
[0151]所述标识获取单元,用于获取系统正在运行的线程的标识;
[0152]所述判断单元,用于判断所述正在运行的线程的标识是否与所述预设线程的标识相同,若是,则激活所述提取单元;
[0153]所述提取单元,用于从所述正在运行的线程中提取所述单平面图像的绘图指令和所述绘图指令的初始绘图参数。
[0154]所述实施例四和实施例五提供的图像绘制装置可以应用在图像绘制设备或者任何具有处理器(特别是图像处理器)的电子设备上,所述电子设备可以是现有的、正在研发的或将来研发的任何电子设备,包括但不限于:现有的、正在研发的或将来研发的台式计算机、膝上型计算机、移动终端(包括智能手机、非智能手机、各种平板电脑)等。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在图像绘制的设备或带有处理器的电子设备的处理器将存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,除了处理器、内存、网络接口、以及存储器之外,实施例中装置所在的图像绘制的设备或带有处理器的电子设备通常根据该设备的实际功能,还可以包括其他硬件,例如显示器,对此不再赘述。
[0155]其中,存储器中可以存储有图像绘制方法对应的逻辑指令,该存储器例如可以是非易失性存储器(non-volatile memory),处理器可以调用执行存储器中的保存的逻辑指令,以执行上述的图像绘制方法,显示器可以显示得到的双平面图像。
[0156]图像绘制方法对应的逻辑指令的功能,如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(R0M,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0157]基于上述实施例提供的一种图像绘制方法和装置,本发明还提供一种图像绘制设备实施例,下面结合附图来详细说明其工作原理。
[0158]实施例六
[0159]一种图像绘制设备,其特征在于,所述设备包括:处理器、用于存储所述处理器可执行指令的存储器、显示器;
[0160]其中,所述处理器被配置为:
[0161]获取单平面图像的绘图指令和所述绘图指令的初始绘图参数,所述绘图指令包括第一绘图指令,所述初始绘图参数包括与所述第一绘图指令对应的第一初始绘图参数;
[0162]根据所述第一绘图指令的初始绘图参数,确定所述第一绘图指令在待绘制双平面图像中分别对应的第一实际绘图参数和第二实际绘图参数,所述第一实际绘图参数和所述第二实际绘图参数相同;
[0163]在帧缓存中建立第一视口和第二视口;
[0164]利用一个线程调用所述第一绘图指令,结合所述第一实际绘图参数或所述第二实际绘图参数,同时在所述第一视口和所述第二视口中进行绘制,以得到双平面图像,并将所述双平面图像发送到所述显示器进行显示。
[0165]由于所述第一绘制指令在所述待绘制双平面图像中分别对应的所述第一实际绘制参数和所述第二实际绘图参数相同,因此只需要调用一次所述第一绘制指令,就可以实现同时在所述第一视口和所述第二视口进行绘制,得到所述双平面图像的目的,相对于现有技术采用两个线程对双平面图像进行绘制的方法,本实施例提高了绘制效率,且节约了系统资源。
[0166]另外,现有技术中采用两个线程进行双平面图像的绘制,需要建立两个窗口,每个窗口对应一个线程,然后分别在这两个窗口中各自建立帧缓存和视口。但是因为通常情况下,应用程序在设计时只设计一个窗口,因此要实现增加一个窗口就需要对应用程序的代码进行修改。而本实施例提供的图像绘制方法由于只采用一个线程完成对双平面图像的绘制,因此只需要建立一个窗口即可,在该窗口中完成建立帧缓存和视口的工作,而无需对应用程序的代码进行修改,减少了开发人员的工作量。
[0167]当介绍本发明的各种实施例的元件时,冠词“一”、“一个”、“这个”和“所述”都意图表示有一个或多个元件。词语“包括”、“包含”和“具有”都是包括性的并意味着除了列出的元件之外,还可以有其它元件。
[0168]需要说明的是,本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccess Memory ,RAM)等。
[0169]本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元及模块可以是或者也可以不是物理上分开的。另外,还可以根据实际的需要选择其中的部分或者全部单元和模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0170]以上所述仅是本发明的【具体实施方式】,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
【主权项】
1.一种图像绘制方法,其特征在于,所述方法包括: 获取单平面图像的绘图指令和所述绘图指令的初始绘图参数,所述绘图指令包括第一绘图指令,所述初始绘图参数包括与所述第一绘图指令对应的第一初始绘图参数; 根据所述第一绘图指令的初始绘图参数,确定所述第一绘图指令在待绘制双平面图像中分别对应的第一实际绘图参数和第二实际绘图参数,所述第一实际绘图参数和所述第二实际绘图参数相同; 在帧缓存中建立第一视口和第二视口 ; 利用一个线程调用所述第一绘图指令,结合所述第一实际绘图参数或所述第二实际绘图参数,同时在所述第一视口和所述第二视口中进行绘制,以得到双平面图像。2.根据权利要求1所述的方法,其特征在于,所述绘图指令还包括第二绘图指令,所述初始绘图参数还包括与所述第二绘图指令对应的第二初始绘图参数;所述方法还包括: 根据所述第二绘图指令的初始绘图参数,确定所述第二绘图指令在所述待绘制双平面图像中分别对应的第三实际绘图参数和第四实际绘图参数,所述第三实际绘图参数和所述第四实际绘图参数不同; 利用所述一个线程调用所述第二绘图指令,结合所述第三实际绘图参数,在所述第一视口中进行绘制; 利用所述一个线程调用所述第二绘图指令,结合所述第四实际绘图参数,在所述第二视口中进行绘制,以得到所述双平面图像。3.根据权利要求2所述的方法,其特征在于,所述第二绘图指令的初始绘图参数包括绘图对象的初始位置坐标; 所述根据所述第二绘图指令的初始绘图参数,确定所述第二绘图指令在所述待绘制双平面图像中分别对应的第三实际绘图参数和第四实际绘图参数包括: 按照第一预设规则,对所述绘图对象的初始位置坐标进行处理,得到第三实际位置坐标; 按照第二预设规则,对所述绘图对象的初始位置坐标进行处理,得到第四实际位置坐标; 所述第一预设规则和所述第二预设规则符合人眼立体视觉原理。4.根据权利要求3所述的方法,其特征在于,所述绘图对象的初始位置坐标根据所述绘图对象的原始位置坐标和变换矩阵进行确定; 所述按照第一预设规则,对所述绘图对象的初始位置坐标进行处理,得到第三实际位置坐标包括: 按照第一预设规则,对所述绘图对象的变换矩阵进行处理,根据所述原始位置坐标和按照所述第一预设规则处理后的位置变换矩阵得到第三实际位置坐标; 所述按照第二预设规则,对所述绘图对象的初始位置坐标进行处理,得到第四实际位置坐标包括: 按照第二预设规则,对所述绘图对象的变换矩阵进行处理,根据所述原始位置坐标和按照所述第二预设规则处理后的位置变换矩阵得到第四实际位置坐标。5.根据权利要求1至4任意一项所述的方法,其特征在于,所述双平面图像包括第一双平面图像和第二双平面图像,所述第一双平面图像根据来自预设线程的单平面图像的绘图指令和所述绘图指令的初始绘图参数得到,所述第二双平面图像根据预设单平面图像的预设绘图指令和预设初始绘图参数得到; 所述方法还包括: 将所述第一双平面图像粘贴在所述第二双平面图像上; 显示粘贴后的第一双平面图像和所述第二双平面图像。6.根据权利要求5所述的方法,其特征在于,所述预设线程的单平面图像的绘图指令和所述绘图指令的初始绘图参数通过如下步骤得到: 获取系统正在运行的线程的标识; 判断所述正在运行的线程的标识是否与所述预设线程的标识相同; 若是,则从所述正在运行的线程中提取所述单平面图像的绘图指令和所述绘图指令的初始绘图参数。7.—种图像绘制装置,其特征在于,所述装置包括:指令和参数获取单元、第一实际参数确定单元、视口建立单元和第一绘制单元; 其中,所述指令和参数获取单元,用于获取单平面图像的绘图指令和所述绘图指令的初始绘图参数,所述绘图指令包括第一绘图指令,所述初始绘图参数包括与所述第一绘图指令对应的第一初始绘图参数; 所述第一实际参数确定单元,用于根据所述第一绘图指令的初始绘图参数,确定所述第一绘图指令在待绘制双平面图像中分别对应的第一实际绘图参数和第二实际绘图参数,所述第一实际绘图参数和所述第二实际绘图参数相同; 所述视口建立单元,用于在帧缓存中建立第一视口和第二视口 ; 所述第一绘制单元,用于利用一个线程调用所述第一绘图指令,结合所述第一实际绘图参数或所述第二实际绘图参数,同时在所述第一视口和所述第二视口中进行绘制,以得到双平面图像。8.根据权利要求7所述的装置,其特征在于,所述绘图指令还包括第二绘图指令,所述初始绘图参数还包括与所述第二绘图指令对应的第二初始绘图参数; 所述装置还包括:第二实际参数确定单元、第二绘制单元和第三绘制单元; 所述第二实际参数确定单元,用于根据所述第二绘图指令的初始绘图参数,确定所述第二绘图指令在所述待绘制双平面图像中分别对应的第三实际绘图参数和第四实际绘图参数,所述第三实际绘图参数和所述第四实际绘图参数不同; 所述第二绘制单元,用于利用所述一个线程调用所述第二绘图指令,结合所述第三实际绘图参数,在所述第一视口中进行绘制; 所述第三绘制单元,用于利用所述一个线程调用所述第二绘图指令,结合所述第四实际绘图参数,在所述第二视口中进行绘制,以得到所述双平面图像。9.根据权利要求8所述的装置,其特征在于,所述第二绘图指令的初始绘图参数包括绘图对象的初始位置坐标; 所述第二实际参数确定单元,具体用于按照第一预设规则,对所述绘图对象的初始位置坐标进行处理,得到第三实际位置坐标;按照第二预设规则,对所述绘图对象的初始位置坐标进行处理,得到第四实际位置坐标;所述第一预设规则和所述第二预设规则符合人眼立体视觉原理。10.根据权利要求9所述的装置,其特征在于,所述绘图对象的初始位置坐标根据所述绘图对象的原始位置坐标和变换矩阵进行确定; 所述第二实际参数确定单元,具体用于按照第一预设规则,对所述绘图对象的变换矩阵进行处理,根据所述原始位置坐标和按照所述第一预设规则处理后的位置变换矩阵得到第三实际位置坐标;按照第二预设规则,对所述绘图对象的变换矩阵进行处理,根据所述原始位置坐标和按照所述第二预设规则处理后的位置变换矩阵得到第四实际位置坐标;所述第一预设规则和所述第二预设规则符合人眼立体视觉原理。11.根据权利要求7至10任意一项所述的装置,其特征在于,所述双平面图像包括第一双平面图像和第二双平面图像,所述第一双平面图像根据来自预设线程的单平面图像的绘图指令和所述绘图指令的初始绘图参数得到,所述第二双平面图像根据预设单平面图像的预设绘图指令和预设初始绘图参数得到; 所述装置还包括:粘贴单元和显示单元; 所述粘贴单元,用于将所述第一双平面图像粘贴在所述第二双平面图像上; 所述显示单元,用于显示粘贴后的第一双平面图像和所述第二双平面图像。12.根据权利要求11所述的装置,其特征在于,所述装置还包括:标识获取单元、判断单元和提取单元; 所述标识获取单元,用于获取系统正在运行的线程的标识; 所述判断单元,用于判断所述正在运行的线程的标识是否与所述预设线程的标识相同,若是,则激活所述提取单元; 所述提取单元,用于从所述正在运行的线程中提取所述单平面图像的绘图指令和所述绘图指令的初始绘图参数。13.一种图像绘制设备,其特征在于,所述设备包括:处理器、用于存储所述处理器可执行指令的存储器、显示器; 其中,所述处理器被配置为: 获取单平面图像的绘图指令和所述绘图指令的初始绘图参数,所述绘图指令包括第一绘图指令,所述初始绘图参数包括与所述第一绘图指令对应的第一初始绘图参数; 根据所述第一绘图指令的初始绘图参数,确定所述第一绘图指令在待绘制双平面图像中分别对应的第一实际绘图参数和第二实际绘图参数,所述第一实际绘图参数和所述第二实际绘图参数相同; 在帧缓存中建立第一视口和第二视口 ; 利用一个线程调用所述第一绘图指令,结合所述第一实际绘图参数或所述第二实际绘图参数,同时在所述第一视口和所述第二视口中进行绘制,以得到双平面图像,并将所述双平面图像发送到所述显示器进行显示。
【文档编号】G06T1/20GK105844581SQ201610232433
【公开日】2016年8月10日
【申请日】2016年4月14日
【发明人】刘庆
【申请人】北京极维客科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1