CN113259651A - 立体显示方法、设备、介质及计算机程序产品 - Google Patents
立体显示方法、设备、介质及计算机程序产品 Download PDFInfo
- Publication number
- CN113259651A CN113259651A CN202110765590.7A CN202110765590A CN113259651A CN 113259651 A CN113259651 A CN 113259651A CN 202110765590 A CN202110765590 A CN 202110765590A CN 113259651 A CN113259651 A CN 113259651A
- Authority
- CN
- China
- Prior art keywords
- stereoscopic display
- engine
- display
- eye image
- plug
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/302—Image reproducers for viewing without the aid of special glasses, i.e. using autostereoscopic displays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种立体显示方法、设备、介质及计算机程序产品,所述立体显示方法包括:获取所述3D引擎的编辑器对应的配置状态,若所述配置状态是立体显示状态,通过显示插件获取所述3D引擎对应的左眼图像和右眼图像,通过所述显示插件创建立体显示交换链,基于所述立体显示交换链,将所述左眼图像存入所述立体显示交换链的左眼后台缓冲区以及将所述右眼图像存入所述立体显示交换链的右眼后台缓冲区,将所述左眼后台缓冲区的左眼图像和所述右眼后台缓冲区的右眼图像以帧序列形式输出至显示屏幕以显示立体显示效果。本申请解决3D引擎调试效率低的技术问题。
Description
技术领域
本申请涉及立体显示技术领域,尤其涉及一种立体显示方法、设备、介质及计算机程序产品。
背景技术
随着计算机技术的发展,3D引擎的立体显示技术的应用越来越广泛。当前,在3D引擎的非头戴式立体显示中,在3D引擎的编辑器在进入播放模式后只支持呈现默认的2D显示效果,无法在编辑器中呈现出立体显示效果,也无法在编辑器下切换默认显示和立体显示,因此,在编辑器的程序编译过程中无法实时根据立体显示效果进行调试,只有在程序编译开发完成后,将3D引擎的程序发布到真机平台上才能验证立体显示效果,但是将3D引擎的程序编译发布到真机平台上进行测试显示效果需要花费较多时间,进而导致3D引擎调试效率低。
发明内容
本申请的主要目的在于提供一种立体显示方法、设备、介质及计算机程序产品,旨在解决现有技术中的3D引擎调试效率低的技术问题。
为实现上述目的,本申请提供一种立体显示方法,所述立体显示方法包括:
获取所述3D引擎的编辑器对应的配置状态;
若所述配置状态是立体显示状态,通过显示插件获取所述3D引擎对应的左眼图像和右眼图像;
通过所述显示插件创建立体显示交换链;
基于所述立体显示交换链,将所述左眼图像存入所述立体显示交换链的左眼后台缓冲区以及将所述右眼图像存入所述立体显示交换链的右眼后台缓冲区;
将所述左眼后台缓冲区的左眼图像和所述右眼后台缓冲区的右眼图像以帧序列形式输出至显示屏幕以显示立体显示效果。
可选地,所述通过所述显示插件获取所述3D引擎对应的左眼图像和右眼图像的步骤包括:
将所述3D引擎中的两个相机按照预设距离阈值进行放置,获得左眼相机以及右眼相机;
通过所述显示插件获取所述左眼相机拍摄的的左眼图像和所述右眼相机拍摄的的右眼图像。
可选地,所述通过所述显示插件获取所述左眼相机拍摄的的左眼图像和所述右眼相机拍摄的的右眼图像的步骤包括:
通过所述显示插件设置图像接口,其中,所述图像接口包括所述左眼图像对应的左眼指针参数和所述右眼图像对应的右眼指针参数;
调用所述图像接口对应的函数,获得所述左眼指针参数对应的左眼图像以及所述右眼指针参数对应的右眼图像。
可选地,所述通过所述显示插件创建立体显示交换链的步骤包括:
调用所述3D引擎的设备接口函数,获得所述3D引擎对应的运行设备;
若通过所述运行设备检测到所述3D引擎运用的显卡支持立体显示模式,则创建所述立体显示交换链。
可选地,在所述获取所述3D引擎的编辑器对应的配置状态的步骤之后,所述立体显示方法包括:
若所述配置状态是默认显示状态,则显示默认显示模式。
可选地,在所述获取所述3D引擎的编辑器对应的配置状态的步骤之前,所述立体显示方法还包括:
在所述3D引擎的编辑器中添加扩展菜单;
通过所述3D引擎保存所述扩展菜单对应的配置状态。
可选地,在所述获取所述3D引擎的编辑器对应的配置状态的步骤之前,所述立体显示方法还包括:
根据所述3D引擎的插件接口,创建所述显示插件;
将所述显示插件导入至所述3D引擎对应的立体显示程序中。
本申请还提供一种立体显示装置,所述立体显示装置为虚拟装置,所述立体显示装置包括:
第一获取模块,用于获取所述3D引擎的编辑器对应的配置状态;
第二获取模块,用于若所述配置状态是立体显示状态,通过显示插件获取所述3D引擎对应的左眼图像和右眼图像;
创建模块,用于通过所述显示插件创建立体显示交换链;
图像存储模块,用于基于所述立体显示交换链,将所述左眼图像存入所述立体显示交换链的左眼后台缓冲区以及将所述右眼图像存入所述立体显示交换链的右眼后台缓冲区;
显示模块,用于将所述左眼后台缓冲区的左眼图像和所述右眼后台缓冲区的右眼图像以帧序列形式输出至显示屏幕以显示立体显示效果。
可选地,所述第二获取模块还用于:
将所述3D引擎中的两个相机按照预设距离阈值进行放置,获得左眼相机以及右眼相机;
通过所述显示插件获取所述左眼相机拍摄的的左眼图像和所述右眼相机拍摄的的右眼图像。
可选地,所述第二获取模块还用于:
通过所述显示插件设置图像接口,其中,所述图像接口包括所述左眼图像对应的左眼指针参数和所述右眼图像对应的右眼指针参数;
调用所述图像接口对应的函数,获得所述左眼指针参数对应的左眼图像以及所述右眼指针参数对应的右眼图像。
可选地,所述创建模块还用于:
调用所述3D引擎的设备接口函数,获得所述3D引擎对应的运行设备;
若通过所述运行设备检测到所述3D引擎运用的显卡支持立体显示模式,则创建所述立体显示交换链。
可选地,所述立体显示装置还用于:
若所述配置状态是默认显示状态,则显示默认显示模式。
可选地,所述立体显示装置还用于:
在所述3D引擎的编辑器中添加扩展菜单;
通过所述3D引擎保存所述扩展菜单对应的配置状态。
可选地,所述立体显示装置还用于:
根据所述3D引擎的插件接口,创建所述显示插件;
将所述显示插件导入至所述3D引擎对应的立体显示程序中。
本申请还提供一种立体显示设备,所述立体显示设备为实体设备,所述立体显示设备包括:存储器、处理器以及存储在所述存储器上的立体显示程序,所述立体显示程序被所述处理器执行实现如上述的立体显示方法的步骤。
本申请还提供一种介质,所述介质为可读存储介质,所述可读存储介质上存储立体显示程序,所述立体显示程序被处理器执行实现如上述的立体显示方法的步骤。
本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的立体显示方法的步骤。
本申请提供了一种立体显示方法、设备、介质及计算机程序产品,相比于现有技术采用的在程序编译过程中无法实时根据立体显示效果进行调试的技术手段,本申请首先获取所述3D引擎的编辑器对应的配置状态,若所述配置状态是立体显示状态,通过显示插件获取所述3D引擎对应的左眼图像和右眼图像,通过所述显示插件创建立体显示交换链,基于所述立体显示交换链,将所述左眼图像存入所述立体显示交换链的左眼后台缓冲区以及将所述右眼图像存入所述立体显示交换链的右眼后台缓冲区,进一步地,将所述左眼后台缓冲区的左眼图像和所述右眼后台缓冲区的右眼图像以帧序列形式输出至显示屏幕以显示立体显示效果,实现了基于所述显示插件,当所述3D引擎的编辑器进入播放模式后,可呈现出通过所述显示插件实现的立体显示效果,同时根据所述显示插件,将所述3D引擎对应的立体显示程序发布到真机平台上进行运行也能呈现立体显示效果,也实现了基于所述配置状态,可选择性地呈现立体显示效果或者默认显示效果的目的,从而实时根据所述立体显示效果进行调试,克服了现有技术中在程序编译过程中无法实时根据立体显示效果进行调试,只有在程序编译开发完成后,将3D引擎的程序发布到真机平台才能验证立体显示效果,但是将3D引擎的程序编译发布到真机平台进行测试显示效果需要花费较多时间,进而导致3D引擎调试效率低的技术缺陷,从而提高了3D引擎调试效率的效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域默认技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请立体显示方法第一实施例的流程示意图;
图2为本申请立体显示方法第二实施例的流程示意图;
图3为本申请立体显示方法第三实施例的流程示意图;
图4为本申请立体显示方法第四实施例的流程示意图;
图5为本申请实施例中立体显示方法涉及的硬件运行环境的立体显示设备的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请实施例提供一种立体显示方法,在本申请立体显示方法的第一实施例中,参照图1,所述立体显示方法应用于3D引擎的非头戴式立体显示设备,所述立体显示方法包括:
步骤S10,获取所述3D引擎的编辑器对应的配置状态;
在本实施例中,需要说明的是,所述配置状态为在所述编辑器下进行选择呈现相应的显示效果的状态,其中,所述配置状态包括立体显示状态和默认显示状态等状态,进一步地,当所述3D引擎的编辑器进入播放模式以及当所述3D引擎对应的立体显示程序处于发行模式时均能够获取所述配置状态,其中,所述播放模式为所述3D引擎的编辑器进行编译运行以呈现立体显示效果或者默认显示效果的模式,所述发行模式为将所述3D引擎对应的立体显示程序发布到真机平台上运行的模式,所述真机平台包括智能手机,平板电脑等平台。
获取所述3D引擎的编辑器对应的配置状态,具体地,在所述3D引擎的编辑器中添加扩展菜单,需要说明的是,在所述3D引擎的编辑器中允许在顶层工具栏中创建新的扩展菜单,其中,所述扩展菜单为用于选择是否显示立体显示效果的的自定义菜单,获取所述扩展菜单对应的配置状态,从而实现了通过所述扩展菜单,自行选择立体显示对应的配置状态或者选择默认显示对应的配置状态,以使得根据所选择的配置状态呈现出所述配置状态对应的显示效果。例如,将所述扩展菜单的属性设置为布尔类型,也即,当选中立体显示时,则设置所述扩展菜单对应的配置状态为1,当取消选中立体显示时,则设置所述配置状态为0,当所述3D引擎的编辑器进入播放模式时或当所述3D引擎对应的立体显示程序处于所述发行模式时,读取当前选中的配置状态。
其中,在所述获取所述3D引擎的编辑器对应的配置状态的步骤之后,所述立体显示方法包括:
步骤A10,若所述配置状态是默认显示状态,则显示默认显示模式。
在本实施例中,需要说明的是,所述默认显示状态为呈现普通2D画面显示效果的状态。
若所述配置状态是默认显示状态,则显示默认显示模式,具体地,若在所述所述扩展菜单对应的配置状态选择呈现普通显示效果的默认显示状态,则显示二维画面。
步骤S20,若所述配置状态是立体显示状态,通过显示插件获取所述3D引擎对应的左眼图像和右眼图像;
在本实施例中,需要说明的是,所述立体显示状态为呈现立体显示效果的状态,包括所述3D引擎的编辑器呈现立体显示效果对应的状态和所述3D引擎对应的立体显示程序处于发布模式时呈现立体显示效果的状态等状态,所述显示插件为用开发语言预先编写实现呈现立体显示效果的程序库,所述显示插件包括C语言显示插件和C++显示插件等插件。
若所述配置状态是立体显示状态,通过显示插件获取所述3D引擎对应的左眼图像和右眼图像,具体地,通过所述显示插件设置获取显示状态接口,若所述配置状态为所述立体显示状态,调用所述显示插件中的获取显示状态接口对应的函数,获得所述立体显示状态,进而通过所述显示插件设置图像接口,其中,所述图像接口为获取所述3D引擎的图像的接口,包括所述左眼图像对应的左眼指针参数和所述右眼图像对应的右眼指针参数,进一步地,通过调用所述图像接口对应的函数,将所述左眼指针参数对应的左眼图像以及所述右眼指针参数对应的右眼图像传递至所述显示插件中,例如,在立体显示程序开始运行时,所述3D引擎对应的上层应用脚本调用所述显示插件预留的图像接口,进而将所述左眼图像和所述右眼图像传递至所述显示插件中。
步骤S30,通过所述显示插件创建立体显示交换链;
在本实施例中,需要说明的是,所述立体显示交换链为支持呈现立体显示效果的交换链,所述立体显示交换链包括前台缓冲区和后台缓冲区,所述前台缓冲区为存储当前显示在显示屏幕上的图像数据的缓冲区,所述后台缓冲区为存储所述左眼图像和所述右眼图像的缓冲区。
创建立体显示交换链,具体地,调用所述显示插件的初始化方法,以初始化所述显示插件,进而调用所述3D引擎的设备接口函数,获得所述3D引擎对应的运行设备,其中,所述运行设备包括D3D设备和OPENGL设备等设备,用于检测所述3D引擎对应的硬件信息,进而若通过所述运行设备检测到所述3D引擎运用的显卡支持所述立体显示模式,也即检测所述显卡支持呈现立体显示效果,进而创建所述立体显示交换链,以缓存所述显示插件获取的左眼图像和右眼图像。
其中,所述通过所述显示插件创建立体显示交换链的步骤包括:
步骤S31,调用所述3D引擎的设备接口函数,获得所述3D引擎对应的运行设备;
在本实施例中,调用所述3D引擎的设备接口函数,获得所述3D引擎对应的运行设备,具体地,调用所述3D引擎的设备接口函数,获得指向所述运行设备的指针,进而根据所述指针,调用所述指针对应的接口函数,获得所述运行设备。
步骤S32,若通过所述运行设备检测到所述3D引擎运用的显卡支持立体显示模式,则创建所述立体显示交换链。
在本实施例中,若通过所述运行设备检测到所述3D引擎运用的显卡支持立体显示模式,则创建所述立体显示交换链,具体地,通过所述运行设备能够遍历所述3D引擎所运用的显卡,根据预先编写好的测试编程代码对所述显卡进行测试,若检测所述显卡支持立体显示模式,则创建所述立体显示交换链。
步骤S40,基于所述立体显示交换链,将所述左眼图像存入所述立体显示交换链的左眼后台缓冲区以及将所述右眼图像存入所述立体显示交换链的右眼后台缓冲区;
在本实施例中,需要说明的是,所述左眼后台缓冲区为存储待显示的左眼图像的缓冲区,所述右眼后台缓冲区为待显示的右眼图像的缓冲区。
将所述左眼图像存入所述立体显示交换链的左眼后台缓冲区,将右眼图像存入所述立体显示交换链的右眼后台缓冲区,具体地,分别创建所述左眼图像对应的渲染视图以及创建所述右眼图像对应的渲染视图,将通过所述显示插件获取的左眼图像和右眼图像分别写入各自对应的渲染视图中,其中,所述左眼图像对应的渲染视图与所述左眼后台缓冲区进行绑定,所述右眼图像对应的渲染视图与所述右眼缓冲区进行绑定,进而所述左眼图像传递至所述左眼后台缓冲区以及将所述右眼传递至所述右眼后台缓冲区后,通过所述立体显示交换链对应的缓冲区进行存储待显示的图像,避免了当前图像显示在显示屏幕时,由于下一帧图像在渲染完成后直接显示在显示屏幕上,进而导致所述显示屏幕出现闪烁的情况,例如,在立体显示程序中的主循环函数中将拍摄的每一图像帧进行渲染后,进而通过所述3D引擎对应的上层应用脚本调用所述显示插件预留的图像接口,以将所述左眼图像和所述右眼图像分别写入各自对应的渲染视图中,以进行图像渲染,进而传递至所述左眼后台缓冲区和所述右眼后台缓冲区。
步骤S50,将所述左眼后台缓冲区的左眼图像和所述右眼后台缓冲区的右眼图像以帧序列形式输出至显示屏幕以显示立体显示效果。
在本实施例中,需要说明的是,所述帧序列形式为左右眼对应的图像画面帧以轮播的方式进行显示的形式。
将所述左眼后台缓冲区的左眼图像和所述右眼后台缓冲区的右眼图像以帧序列形式输出至显示屏幕以显示立体显示效果,具体地,将所述左眼后台缓冲区的左眼图像以帧序列形式输出呈现在所述显示屏幕的左侧,以及将所述右眼后台缓冲区的右眼图像以帧序列形式输出呈现在所述显示屏幕的右侧,从而呈现出立体显示效果,使得通过佩戴与所述显示屏幕配套的眼镜,即可看到具有立体显示效果的画面。
另外地,在现有技术中,存在不支持非头戴式立体显示的3D引擎的版本,也即,在所述3D引擎的编辑器中和将所述3D引擎对应的立体显示程序发布到真机平台上运行均不能呈现所述立体显示效果。
而在本申请中,通过所述3D引擎的编辑器加载所述显示插件以及将所述立体显示程序处于发行模式时加载所述显示插件,即可呈现出通过所述显示插件实现的立体显示效果,即使所述3D引擎不支持非头戴式立体显示时,也可通过所述显示插件呈现立体显示效果。
本申请实施例提供了一种立体显示方法,相比于现有技术采用的在程序编译过程中无法实时根据立体显示效果进行调试的技术手段,本申请首先获取所述3D引擎的编辑器对应的配置状态,若所述配置状态是立体显示状态,通过显示插件获取所述3D引擎对应的左眼图像和右眼图像,通过所述显示插件创建立体显示交换链,基于所述立体显示交换链,将所述左眼图像存入所述立体显示交换链的左眼后台缓冲区以及将所述右眼图像存入所述立体显示交换链的右眼后台缓冲区,进一步地,将所述左眼后台缓冲区的左眼图像和所述右眼后台缓冲区的右眼图像以帧序列形式输出至显示屏幕以显示立体显示效果,实现了基于所述显示插件,当所述3D引擎的编辑器进入播放模式后,可呈现出通过所述显示插件实现的立体显示效果,同时根据所述显示插件,将所述3D引擎对应的立体显示程序发布到真机平台上运行也能呈现立体显示效果,也实现了基于所述配置状态,可选择性地呈现立体显示效果或者默认显示效果的目的,从而实时根据所述立体显示效果进行调试,克服了现有技术中在程序编译过程中无法实时根据立体显示效果进行调试,只有在程序编译开发完成后,将3D引擎的程序发布到真机平台才能验证立体显示效果,但是将3D引擎的程序编译发布到真机平台进行测试显示效果需要花费较多时间,进而导致3D引擎调试效率低的技术缺陷,从而提高了3D引擎调试效率的效率。
进一步地,参照图2,基于本申请中第一实施例,在本申请的另一实施例中,在所述获取所述3D引擎的编辑器对应的配置状态的步骤之前,所述立体显示方法还包括:
步骤B10,在所述3D引擎的编辑器中添加扩展菜单;
在本实施例中,需要说明的是,在所述3D引擎的编辑器中允许在顶层工具栏中创建新的扩展菜单,其中,所述扩展菜单为用于选择是否显示立体显示效果的的自定义菜单。
在所述3D引擎的编辑器中添加扩展菜单,具体地,在所述3D引擎的编辑器中自定义添加用于选择是否显示立体显示效果的扩展菜单,例如,通过所述3D引擎创建一个扩展菜单脚本,使用所述3D引擎中的MenuItem属性来标识所述扩展菜单,例如,[MenuItem("扩展菜单/立体显示")],即为在工具栏中创建一个名为扩展菜单的菜单项目,并生成立体显示的按钮。
步骤B20,通过所述3D引擎保存所述扩展菜单对应的配置状态。
在本实施例中,通过所述3D引擎保存所述扩展菜单对应的配置状态,具体地,通过点击所述扩展菜单,选择所述扩展菜单对应的配置状态,也即选择所述立体显示状态或者选择所述默认显示状态,进而通过预设数据保存方式保存所述配置状态,其中,所述预设数据保存方式包括利用所述3D引擎的EditorPrefs函数和PlayerPrefs函数等方式进行保存。
本申请实施例提供了一种立体显示方法,也即,在所述3D引擎的编辑器中添加扩展菜单,进而通过所述3D引擎保存所述扩展菜单对应的配置状态,实现了基于所述扩展菜单,选择扩展菜单对应的配置状态,以使得根据所选择的配置状态呈现出所述配置状态对应的显示效果,也即,可选择性的呈现立体显示效果或者默认显示效果,为克服现有技术中在程序编译过程中无法实时根据立体显示效果进行调试,然而3D引擎编译发布到移动平台上进行测试显示效果需要花费较多时间,进而导致3D引擎调试效率低的技术缺陷奠定了基础。
进一步地,参照图3,基于本申请中第一实施例,在本申请的另一实施例中,在所述获取所述3D引擎的编辑器对应的配置状态的步骤之前,所述立体显示方法还包括:
步骤C10,根据所述3D引擎的插件接口,创建所述显示插件;
在本实施例中,需要说明的是,所述显示插件为用开发语言预先编写的实现呈现立体显示效果的程序库,所述显示插件包括C显示插件和C++显示插件等插件。
根据所述3D引擎的插件接口,创建所述显示插件,具体地,通过所述3D引擎预留了针对所述显示插件的插件接口,进而基于所述插件接口,创建用于实现所述立体显示效果的程序库,也即所述显示插件,例如,在Visual Studio编程软件中创建一个C++项目,进而基于所述3D引擎提供的插件接口,在所述C++项目中编写实现立体显示效果对应的代码程序库,将所述代码程序库进行编译输出编译日志,若所述编译日志未报错,即可获得所述显示插件。
步骤C20,将所述显示插件导入至所述3D引擎对应的立体显示程序中。
在本实施例中,将所述显示插件导入至所述3D引擎对应的立体显示程序中,具体地,将编译好的程序库拷贝至所述立体显示程序对应的文件夹中,也即将所述显示插件拷贝至所述3D引擎对应的文件夹中,例如,将所述显示插件拷贝进所述3D引擎对应的立体显示程序中的Plugins文件夹。
本申请实施例提供了一种立体显示方法,也即,根据所述3D引擎的插件接口,创建所述显示插件,将所述显示插件导入至所述3D引擎对应的立体显示程序中,实现了基于显示插件,使得通过所述3D引擎的编辑器加载所述显示插件以及当所述3D引擎对应的立体显示程序中发布到真机平台上运行时加载所述显示插件,均可呈现出所述显示插件创建的立体显示效果的目的,为克服现有技术中在程序编译过程中无法实时根据立体显示效果进行调试,然而将3D引擎的程序编译发布到移动平台上进行测试显示效果需要花费较多时间,进而导致3D引擎调试效率低的技术缺陷奠定了基础。
进一步地,参照图4,基于本申请中第一实施例,所述通过所述显示插件获取所述3D引擎对应的左眼图像和右眼图像的步骤包括:
步骤D10,将所述3D引擎中的两个相机按照预设距离阈值进行放置,获得左眼相机以及右眼相机;
在本实施例中,需要说明的是,所述预设距离阈值为事先设置两个相机之间的距离。
将所述3D引擎中的两个相机按照预设距离阈值进行放置,获得左眼相机以及右眼相机,具体地,将所述3D引擎中的两个相机分布在预设距离的左右两边,并将位于左边的相机作为所述左眼相机,以及将位于右边的相机作为所述右眼相机。
步骤D20,通过所述显示插件获取所述左眼相机拍摄的的左眼图像和所述右眼相机拍摄的的右眼图像;
在本实施例中,通过所述显示插件获取所述左眼相机拍摄的的左眼图像和所述右眼相机拍摄的的右眼图像,具体地,通过所述显示插件设置图像接口,所述图像接口包括所述左眼图像对应的左眼指针参数和所述右眼图像对应的右眼指针参数,进而通过所述3D引擎将所述左眼指针参数对应的左眼图像传递至所述显示插件以及将所述右眼指针参数对应的右眼图像传递至所述显示插件,即可通过所述显示插件获取所述左眼相机拍摄的的左眼图像和所述右眼相机拍摄的的右眼图像。
其中,所述通过所述显示插件获取所述左眼相机拍摄的的左眼图像和所述右眼相机拍摄的的右眼图像的步骤包括:
步骤D21,通过所述显示插件设置图像接口,其中,所述图像接口包括所述左眼图像对应的左眼指针参数和所述右眼图像对应的右眼指针参数;
在本实施例中,需要说明的是,所述图像接口为用于获取3D引擎中左眼相机和右眼相机拍摄的图像的接口。
通过所述显示插件设置图像接口,其中,所述图像接口包括所述左眼图像对应的左眼指针参数和所述右眼图像对应的右眼指针参数,具体地,通过所述显示插件设置图像接口,以通过调用所述图像接口,获取所述3D引擎中的图像。
步骤D22,调用所述图像接口对应的函数,获得所述左眼指针参数对应的左眼图像以及所述右眼指针参数对应的右眼图像。
在本实施例中,调用所述图像接口对应的函数,获得所述左眼指针参数对应的左眼图像以及所述右眼指针参数对应的右眼图像,具体地,调用所述图像接口对应的函数,进而通过所述3D引擎将所述左眼指针参数对应的左眼图像以及将所述右眼指针参数对应的右眼图像传递至所述显示插件中。
本申请实施例提供了一种立体显示方法,也即,将所述3D引擎中的两个相机按照预设距离阈值进行放置,获得左眼相机以及右眼相机,进而通过所述显示插件获取所述左眼相机拍摄的的左眼图像和所述右眼相机拍摄的的右眼图像,实现了通过所述显示插件获取的左眼图像和右眼图像,以将所述左眼图像和所述右眼图像以帧序列形式输出至显示屏幕,进而呈现立体显示效果的目的,为克服现有技术中在程序编译过程中无法实时根据立体显示效果进行调试,然而将3D引擎的程序编译发布到移动平台上进行测试显示效果需要花费较多时间,进而导致3D引擎调试效率低的技术缺陷奠定了基础。
参照图5,图5是本申请实施例中立体显示方法涉及的硬件运行环境的立体显示设备的结构示意图。
如图5所示,该立体显示设备可以包括:处理器1001,例如CPU,存储器1005,通信总线1002。其中,通信总线1002用于实现处理器1001和存储器1005之间的连接通信。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。
可选地,该立体显示设备还可以包括矩形用户接口、网络接口、相机、RF(RadioFrequency,射频)电路,传感器、音频电路、WiFi模块等等。矩形用户接口可以包括显示屏(Display)、输入子模块比如键盘(Keyboard),可选矩形用户接口还可以包括标准的有线接口、无线接口。网络接口可选的可包括标准的有线接口、无线接口(如WIFI接口)。
本领域技术人员可以理解,图5中示出的立体显示设备结构并不构成对立体显示设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图5所示,作为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块以及立体显示程序。操作***是管理和控制立体显示设备硬件和软件资源的程序,支持立体显示程序以及其它软件和/或,程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与立体显示***中其它硬件和软件之间通信。
在图5所示的立体显示设备中,处理器1001用于执行存储器1005中存储的立体显示程序,实现上述任一项所述的立体显示方法的步骤。
本申请立体显示设备具体实施方式与上述立体显示方法各实施例基本相同,在此不再赘述。
本申请还提供一种立体显示装置,所述立体显示装置包括:
第一获取模块,用于获取所述3D引擎的编辑器对应的配置状态;
第二获取模块,用于若所述配置状态是立体显示状态,通过显示插件获取所述3D引擎对应的左眼图像和右眼图像;
创建模块,用于通过所述显示插件创建立体显示交换链;
图像存储模块,用于基于所述立体显示交换链,将所述左眼图像存入所述立体显示交换链的左眼后台缓冲区以及将所述右眼图像存入所述立体显示交换链的右眼后台缓冲区;
显示模块,用于将所述左眼后台缓冲区的左眼图像和所述右眼后台缓冲区的右眼图像以帧序列形式输出至显示屏幕以显示立体显示效果。
可选地,所述第二获取模块还用于:
将所述3D引擎中的两个相机按照预设距离阈值进行放置,获得左眼相机以及右眼相机;
通过所述显示插件获取所述左眼相机拍摄的的左眼图像和所述右眼相机拍摄的的右眼图像。
可选地,所述第二获取模块还用于:
通过所述显示插件设置图像接口,其中,所述图像接口包括所述左眼图像对应的左眼指针参数和所述右眼图像对应的右眼指针参数;
调用所述图像接口对应的函数,获得所述左眼指针参数对应的左眼图像以及所述右眼指针参数对应的右眼图像。
可选地,所述创建模块还用于:
调用所述3D引擎的设备接口函数,获得所述3D引擎对应的运行设备;
若通过所述运行设备检测到所述3D引擎运用的显卡支持立体显示模式,则创建所述立体显示交换链。
可选地,所述立体显示装置还用于:
若所述配置状态是默认显示状态,则显示默认显示模式。
可选地,所述立体显示装置还用于:
在所述3D引擎的编辑器中添加扩展菜单;
通过所述3D引擎保存所述扩展菜单对应的配置状态。
可选地,所述立体显示装置还用于:
根据所述3D引擎的插件接口,创建所述显示插件;
将所述显示插件导入至所述3D引擎对应的立体显示程序中。
本申请立体显示装置的具体实施方式与上述立体显示方法各实施例基本相同,在此不再赘述。
本申请实施例提供了一种介质,所述介质为可读存储介质,且所述可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述任一项所述的立体显示方法的步骤。
本申请可读存储介质具体实施方式与上述立体显示方法各实施例基本相同,在此不再赘述。
本申请实施例提供了一种计算机程序产品,且所述计算机程序产品包括有一个或者一个以上计算机程序,所述一个或者一个以上计算机程序还可被一个或者一个以上的处理器执行以用于实现上述任一项所述的立体显示方法的步骤。
本申请计算机程序产品具体实施方式与上述立体显示方法各实施例基本相同,在此不再赘述。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利处理范围内。
Claims (10)
1.一种立体显示方法,其特征在于,所述立体显示方法应用于3D引擎的非头戴式立体显示设备,所述立体显示方法包括:
获取所述3D引擎的编辑器对应的配置状态;
若所述配置状态是立体显示状态,通过显示插件获取所述3D引擎对应的左眼图像和右眼图像;
通过所述显示插件创建立体显示交换链;
基于所述立体显示交换链,将所述左眼图像存入所述立体显示交换链的左眼后台缓冲区以及将所述右眼图像存入所述立体显示交换链的右眼后台缓冲区;
将所述左眼后台缓冲区的左眼图像和所述右眼后台缓冲区的右眼图像以帧序列形式输出至显示屏幕以显示立体显示效果。
2.如权利要求1所述立体显示方法,其特征在于,所述通过所述显示插件获取所述3D引擎对应的左眼图像和右眼图像的步骤包括:
将所述3D引擎中的两个相机按照预设距离阈值进行放置,获得左眼相机以及右眼相机;
通过所述显示插件获取所述左眼相机拍摄的的左眼图像和所述右眼相机拍摄的的右眼图像。
3.如权利要求2所述立体显示方法,其特征在于,所述通过所述显示插件获取所述左眼相机拍摄的的左眼图像和所述右眼相机拍摄的的右眼图像的步骤包括:
通过所述显示插件设置图像接口,其中,所述图像接口包括所述左眼图像对应的左眼指针参数和所述右眼图像对应的右眼指针参数;
调用所述图像接口对应的函数,获得所述左眼指针参数对应的左眼图像以及所述右眼指针参数对应的右眼图像。
4.如权利要求1所述立体显示方法,其特征在于,所述通过所述显示插件创建立体显示交换链的步骤包括:
调用所述3D引擎的设备接口函数,获得所述3D引擎对应的运行设备;
若通过所述运行设备检测到所述3D引擎运用的显卡支持立体显示模式,则创建所述立体显示交换链。
5.如权利要求1所述立体显示方法,其特征在于,在所述获取所述3D引擎的编辑器对应的配置状态的步骤之后,所述立体显示方法包括:
若所述配置状态是默认显示状态,则显示默认显示模式。
6.如权利要求1所述立体显示方法,其特征在于,在所述获取所述3D引擎的编辑器对应的配置状态的步骤之前,所述立体显示方法还包括:
在所述3D引擎的编辑器中添加扩展菜单;
通过所述3D引擎保存所述扩展菜单对应的配置状态。
7.如权利要求1所述立体显示方法,其特征在于,在所述获取所述3D引擎的编辑器对应的配置状态的步骤之前,所述立体显示方法还包括:
根据所述3D引擎的插件接口,创建所述显示插件;
将所述显示插件导入至所述3D引擎对应的立体显示程序中。
8.一种立体显示设备,其特征在于,所述立体显示设备包括:存储器、处理器以及存储在存储器上的立体显示程序,
所述立体显示程序被所述处理器执行实现如权利要求1至7中任一项所述立体显示方法的步骤。
9.一种介质,所述介质为可读存储介质,其特征在于,所述可读存储介质上存储有立体显示程序,所述立体显示程序被处理器执行实现如权利要求1至7中任一项所述立体显示方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述立体显示方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110765590.7A CN113259651B (zh) | 2021-07-07 | 2021-07-07 | 立体显示方法、设备、介质及计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110765590.7A CN113259651B (zh) | 2021-07-07 | 2021-07-07 | 立体显示方法、设备、介质及计算机程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113259651A true CN113259651A (zh) | 2021-08-13 |
CN113259651B CN113259651B (zh) | 2021-10-15 |
Family
ID=77190962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110765590.7A Active CN113259651B (zh) | 2021-07-07 | 2021-07-07 | 立体显示方法、设备、介质及计算机程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113259651B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117009016A (zh) * | 2023-07-12 | 2023-11-07 | 江西科骏实业有限公司 | 显示模式切换方法、***、终端设备以及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105282536A (zh) * | 2015-10-27 | 2016-01-27 | 成都斯斐德科技有限公司 | 一种基于Unity3D引擎的裸眼3D图文交互方法 |
CN105354872A (zh) * | 2015-11-04 | 2016-02-24 | 深圳墨麟科技股份有限公司 | 一种基于3d网页游戏的渲染引擎、实现方法及制作工具 |
CN106170085A (zh) * | 2016-08-02 | 2016-11-30 | 江苏维林苑影像科技有限公司 | 一种无镜立体引擎交互方法 |
CN109887097A (zh) * | 2019-02-01 | 2019-06-14 | 河南众诚信息科技股份有限公司 | 一种vr内容开发平台及方法 |
US20190187876A1 (en) * | 2017-12-18 | 2019-06-20 | Sony Interactive Entertainment America Llc | Three dimensional digital content editing in virtual reality |
WO2021081568A2 (en) * | 2021-02-23 | 2021-04-29 | Innopeak Technology, Inc. | Advanced stereoscopic rendering |
-
2021
- 2021-07-07 CN CN202110765590.7A patent/CN113259651B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105282536A (zh) * | 2015-10-27 | 2016-01-27 | 成都斯斐德科技有限公司 | 一种基于Unity3D引擎的裸眼3D图文交互方法 |
CN105354872A (zh) * | 2015-11-04 | 2016-02-24 | 深圳墨麟科技股份有限公司 | 一种基于3d网页游戏的渲染引擎、实现方法及制作工具 |
CN106170085A (zh) * | 2016-08-02 | 2016-11-30 | 江苏维林苑影像科技有限公司 | 一种无镜立体引擎交互方法 |
US20190187876A1 (en) * | 2017-12-18 | 2019-06-20 | Sony Interactive Entertainment America Llc | Three dimensional digital content editing in virtual reality |
CN109887097A (zh) * | 2019-02-01 | 2019-06-14 | 河南众诚信息科技股份有限公司 | 一种vr内容开发平台及方法 |
WO2021081568A2 (en) * | 2021-02-23 | 2021-04-29 | Innopeak Technology, Inc. | Advanced stereoscopic rendering |
Non-Patent Citations (3)
Title |
---|
G. D. D. DINECHIN AND A. PALJIC: "《Demonstrating COLIBRI VR, an Open-Source Toolkit to Render Real-World Scenes in Virtual Reality》", 《"DEMONSTRATING COLIBRI VR, AN OPEN-SOURCE TOOLKIT TO RENDER REAL-WORLD SCENES IN VIRTUAL REALITY," 2020 IEEE CONFERENCE ON VIRTUAL REALITY AND 3D USER INTERFACES ABSTRACTS AND WORKSHOPS (VRW), 2020, PP. 844-845, DOI: 10.1109/VRW50115.2020.00273.》 * |
江波等: "基于Unity3D的海战场三维态势实时显示***设计与实现", 《指挥控制与仿真》 * |
蒋宁等: "基于可视化的VR编辑引擎", 《计算机***应用》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117009016A (zh) * | 2023-07-12 | 2023-11-07 | 江西科骏实业有限公司 | 显示模式切换方法、***、终端设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113259651B (zh) | 2021-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107832108B (zh) | 3D canvas网页元素的渲染方法、装置及电子设备 | |
US10863168B2 (en) | 3D user interface—360-degree visualization of 2D webpage content | |
US10902663B2 (en) | Method and apparatus for displaying 2D application interface in virtual reality device | |
US11003305B2 (en) | 3D user interface | |
CN101059760B (zh) | Opengl到opengl│es翻译器和opengl│es仿真器 | |
KR101267120B1 (ko) | 성능 분석 동안 관련된 그래픽스 데이터에 대한 그래픽스 명령들의 매핑 | |
CN107506306B (zh) | 美术资源的测试方法和装置 | |
CN109840114A (zh) | 页面处理方法及移动终端 | |
CN113259651B (zh) | 立体显示方法、设备、介质及计算机程序产品 | |
CN110019464A (zh) | 页面处理方法及装置 | |
KR20150106846A (ko) | 표시 장치에서의 그래픽 렌더링 및 그와 관련된 개선 | |
US10623713B2 (en) | 3D user interface—non-native stereoscopic image conversion | |
CN105808220A (zh) | 应用程序显示三维立体效果的方法及装置 | |
CN111831497B (zh) | 一种设备仿真方法、装置、存储介质及仿真终端 | |
CN116360734A (zh) | 一种渲染方法、装置、存储介质及电子设备 | |
CN115174993B (zh) | 用于视频制作的方法、装置、设备和存储介质 | |
CN113676753B (zh) | Vr场景中展示视频的方法、装置、电子设备和存储介质 | |
CN113114955B (zh) | 一种视频的生成方法、装置及电子设备 | |
CN116958300A (zh) | 图像处理装置、方法、摄像装置及电子设备 | |
Lu et al. | Interactive augmented reality application design based on mobile terminal | |
CN117519686A (zh) | 三维ui的开发、三维ui的开发装置及存储介质 | |
CN114153539A (zh) | 前端应用界面生成方法、装置、电子设备和存储介质 | |
CN115996286A (zh) | 一种显示控制装置及方法、存储介质、电子设备 | |
CN116684747A (zh) | 图像滤镜应用方法及其装置、设备、介质、产品 | |
CN116109802A (zh) | 图像处理方法、装置、终端和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |