CN106249857A - 一种显示转换方法、装置及终端设备 - Google Patents

一种显示转换方法、装置及终端设备 Download PDF

Info

Publication number
CN106249857A
CN106249857A CN201511028163.1A CN201511028163A CN106249857A CN 106249857 A CN106249857 A CN 106249857A CN 201511028163 A CN201511028163 A CN 201511028163A CN 106249857 A CN106249857 A CN 106249857A
Authority
CN
China
Prior art keywords
assembly
display
mark
stereo
parameter
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
Application number
CN201511028163.1A
Other languages
English (en)
Other versions
CN106249857B (zh
Inventor
刘江
杨雷
李晓鸣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Super Technology Co Ltd
Original Assignee
深圳超多维光电子有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 深圳超多维光电子有限公司 filed Critical 深圳超多维光电子有限公司
Priority to CN201511028163.1A priority Critical patent/CN106249857B/zh
Publication of CN106249857A publication Critical patent/CN106249857A/zh
Application granted granted Critical
Publication of CN106249857B publication Critical patent/CN106249857B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/012Walk-in-place systems for allowing a user to walk in a virtual environment while constraining him to a given position in the physical environment

Abstract

本发明实施例提供一种显示转换方法、装置和终端设备,为实现对2D应用进行非线性的显示转换从而将2D应用转换为3D应用而发明。所述显示转换方法应用于设置在第一终端的第一应用,所述第一终端上还设置有需要进行显示转换的应用程序,所述方法包括:获取所述应用程序的虚拟场景的组件的组件标识;将所述获取的组件标识发送给设置在第二终端的第二应用;接收所述第二应用发送的显示配置文件;根据所述显示配置文件中的组件标识和与所述组件标识对应的立体显示参数,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像,从而实现将所述应用程序的虚拟场景中的组件转换为立体显示。本发明可以用于裸眼3D显示技术领域。

Description

一种显示转换方法、装置及终端设备
技术领域
本发明涉及立体显示技术领域,特别涉及一种显示转换方法、装置及终端设备。
背景技术
随着立体显示技术和虚拟与现实VR(Virtual Reality)技术的不断完善和成熟,广大民众对于立体应用,例如3D(3维,3Dimensions)游戏等的兴趣和需求也在不断的增加。然而,对于立体应用而言,通常开发难度较高,而且开发周期较长,难以满足民众不断增加的兴趣和需求。
为了较为快速地提供立体应用,现有技术中,可以通过技术手段将普通2D应用转换为立体应用,在具体的转换过程中,通常是将2D应用的虚拟场景图像线性地进行偏转从而形成用于呈现立体图像的视差图,进而将2D应用的虚拟场景以立体的方式呈现出来,所谓的线性,即为使用同样的视差值对不同的场景图像进行偏转。
但是,这种转换方式由于采用线性的方式将普通2D应用转换为立体应用,那么不可避免的会出现部分虚拟场景或者虚拟场景中的组件的立体效果较差或立体效果错误的问题,用户体验欠佳。
发明内容
本发明的目的在于提供一种显示转换方法、装置及终端设备,能够对2D应用的虚拟场景进行非线性的显示转换从而将2D应用转换为3D应用,能够有效避免出现显示转换后立体效果不佳、立体效果错误等问题。
为了达到上述目的,第一方面,本发明实施例提供一种显示转换方法,所述方法应用于第一应用,所述第一应用设置在第一终端,所述第一终端上还设置有需要进行显示转换的应用程序,所述方法包括:
获取所述应用程序的虚拟场景的组件的组件标识;
将所述获取的组件标识发送给设置在第二终端的第二应用,以使所述第二应用获取与所述组件标识对应的组件的立体显示参数,并根据所述组件标识和所述立体显示参数生成显示配置文件;
接收所述第二应用发送的显示配置文件,所述显示配置文件中包括所述组件标识和与所述组件标识对应的立体显示参数;
根据所述显示配置文件中的组件标识和与所述组件标识对应的立体显示参数,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像,从而实现将所述应用程序的虚拟场景中的组件转换为立体显示。
结合第一方面,在第一方面的第一种可实施方式中:
所述获取所述应用程序的虚拟场景的组件的组件标识包括:
获取所述应用程序的虚拟场景的组件的着色器数据,根据所述组件的着色器数据,获取所述组件的组件标识;
在获取所述组件的组件标识后,所述方法还包括:
记录所述组件标识与所述着色器数据的关联关系;
所述根据所述显示配置文件中的组件标识和与所述组件标识对应的立体显示参数,构建并显示所述组件的立体图像包括:
根据预先记录的所述组件标识与所述着色器数据的关联关系和所述显示配置文件中的组件标识,在所述应用程序调用与所述组件标识对应的着色器数据时,对所述调用进行重定向,从而执行根据所述显示配置文件中的与所述组件标识对应的立体显示参数,构建并显示所述组件的立体图像。
结合第一方面的第一种可实施方式中,在第一方面的第二种可实施方式中,所述根据所述组件的着色器数据,获取所述组件的组件标识包括:
对所述着色器数据进行循环冗余校验码CRC处理,从而获取与所述着色器数据关联的着色器哈希值,将所述着色器哈希值作为所述组件的组件标识。
结合第一方面或第一方面的第一种可实施方式或第一方面的第二种可实施方式,在第一方面的第三种实施方式中:
所述显示配置文件中,所述组件标识所对应的立体显示参数中包括用于指示所述组件标识对应的组件隐藏的隐藏指示信息;
所述根据所述显示配置文件中的组件标识和与所述组件标识对应的立体显示参数,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像包括:
根据所述隐藏指示消息,隐藏所述虚拟场景中的与所述组件标识对应的组件的立体图像。
结合第一方面或第一方面的第一种至第三种可实施方式中的任意一种可实施方式,在第一方面的第四种实施方式中:
所述显示配置文件中,所述组件标识所对应的立体显示参数中包括用于确定所述组件标识对应的组件是否进行显示转换的转换指示参数;
所述根据所述显示配置文件中的组件标识和与所述组件标识对应的立体显示参数,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像包括:
根据所述转换指示参数,确定与所述组件标识对应的组件是否需要进行显示转换;
在确定与所述组件标识对应的组件需要进行显示转换时,根据所述显示配置文件中的组件标识和与所述组件标识对应的立体显示参数,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像。
结合第一方面或第一方面的第一种至第四种可实施方式中的任意一种可实施方式,在第一方面的第五种实施方式中:
所述显示配置文件中,包括至少一个组件标识和所述至少一个组件标识所对应的立体显示参数,还包括全局立体显示参数;
所述接收所述第二应用发送的显示配置文件后,所述方法还包括:
根据所述显示配置文件中的全局立体显示参数,构建并显示所述虚拟场景中除与所述显示配置文件中的组件标识对应的组件之外的组件的立体图像,从而实现将所述应用程序的虚拟场景中,除与所述显示配置文件中的组件标识对应的组件之外的组件转换为立体显示。
结合第一方面的第五种可实施方式,在第一方面的第六种实施方式中:
所述全局立体显示参数包括虚拟摄像机到前控制面的距离;
所述根据所述显示配置文件中的全局立体显示参数,构建并显示所述虚拟场景中除与所述显示配置文件中的组件标识对应的组件之外的组件的立体图像包括:
计算所述虚拟场景中除与所述显示配置文件中的组件标识对应的组件之外的组件的原始深度信息;
根据所述原始深度信息和所述虚拟摄像机到前控制面的距离,在所述原始深度信息大于所述虚拟摄像机到前控制面的距离时,根据所述全局立体显示参数,构建并显示所述虚拟场景中所述原始深度信息所属的组件的立体图像。
结合第一方面或第一方面的第一种至第六种可实施方式中的任意一种可实施方式,在第一方面的第七种实施方式中:
所述显示配置文件中,所述立体显示参数包括视间距和虚拟摄像机到零视差平面的距离;
所述根据所述显示配置文件中的组件标识和与所述组件标识对应的立体显示参数,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像包括:
根据所述视间距,对所述虚拟场景中的与所述组件标识对应的组件的原观察矩阵进行变换,得到新的观察矩阵,以及,根据所述视间距和所述虚拟摄像机到零视差平面的距离,对所述虚拟场景中的与所述组件标识对应的组件的原投影矩阵进行变换,得到新的投影矩阵;
根据所述新的观察矩阵和新的投影矩阵,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像。
结合第一方面或第一方面的第一种至第七种可实施方式中的任意一种可实施方式,在第一方面的第八种实施方式中:
在所述将所述获取的组件标识发送给设置在第二终端的第二应用前,所述方法还包括:
接收所述第二应用发送的组件标识发送指示;
所述将所述获取的组件标识发送给设置在第二终端的第二应用包括:
根据所述组件标识发送指示,将所述获取的组件标识发送给所述第二应用。
为了达到上述目的,第二方面,本发明实施例提供一种显示转换方法,所述方法应用于第二应用,所述第二应用设置在第二终端,所述方法包括:
接收设置在第一终端的第一应用发送的、所述第一终端上设置的应用程序的虚拟场景的组件的组件标识;
获取与所述组件标识对应的组件的立体显示参数;
根据所述接收的组件标识和所述获取的立体显示参数,生成显示配置文件,所述显示配置文件中包括所述组件标识和与所述组件标识对应的立体显示参数;
将所述显示配置文件发送给所述第一应用,以使所述第一应用根据所述显示配置文件中的组件标识和与所述组件标识对应的立体显示参数,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像,从而实现将所述应用程序的虚拟场景中的组件转换为立体显示。
结合第二方面,在第二方面的第一种可实施方式中:
在所述获取与所述组件标识对应的组件的立体显示参数前,所述方法还包括:
提供人机交互界面,所述人机交互界面上设置有用于参数设置的用户输入框;
所述获取与所述组件标识对应的组件的立体显示参数包括:
根据用户在所述用户输入框中输入的设置数据,获取与所述组件标识对应的组件的立体显示参数。
结合第二方面或第二方面的第一种可实施方式,在第二方面的第二种可实施方式中:
所述立体显示参数中包括用于指示所述组件标识对应的组件隐藏的隐藏指示信息。
结合第二方面或第二方面的第一种可实施方式或第二方面的第二种可实施方式,在第二方面的第三种实施方式中:
所述立体显示参数中包括用于确定所述组件标识对应的组件是否进行显示转换的转换指示参数。
结合第二方面或第二方面的第一种至第三种可实施方式中的任意一种可实施方式,在第二方面的第四种实施方式中:
在所述根据所述接收的组件标识和所述获取的立体显示参数,生成显示配置文件前,所述方法还包括:
获取所述应用程序的虚拟场景的组件的全局立体显示参数;
所述根据所述接收的组件标识和所述获取的立体显示参数,生成显示配置文件包括:
根据所述接收的组件标识,所述获取的立体显示参数以及所述获取的全局立体显示参数,生成显示配置文件,所述显示配置文件中包括所述组件标识和所述组件标识对应的立体显示参数,还包括所述全局立体显示参数,以使所述第一应用根据所述显示配置文件中的组件标识和与所述组件标识对应的立体显示参数,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像,根据所述显示配置文件中的全局立体显示参数,构建并显示所述虚拟场景中除与所述显示配置文件中的组件标识对应的组件之外的组件的立体图像。
结合第二方面的第四种可实施方式,在第二方面的第五种实施方式中:
所述全局立体显示参数包括虚拟摄像机到前控制面的距离。
结合第二方面或第二方面的第一种至第五种可实施方式中的任意一种可实施方式,在第二方面的第六种实施方式中,所述立体显示参数包括视间距和虚拟摄像机到零视差平面的距离。
结合第二方面或第二方面的第一种至第六种可实施方式中的任意一种可实施方式,在第二方面的第七种实施方式中:
在所述接收设置在第一终端的第一应用发送的、所述第一终端上设置的应用程序的虚拟场景的组件的组件标识前,所述方法还包括:
向所述第一应用发送组件标识发送指示,以使所述第一应用根据所述组件标识发送指示,发送所述应用程序的虚拟场景的组件的组件标识。
为了达到上述目的,第三方面,本发明实施例提供一种显示转换装置,所述装置设置在第一终端,所述第一终端上还设置有需要进行显示转换的应用程序,所述装置包括:
组件标识获取模块,用于获取所述应用程序的虚拟场景的组件的组件标识;
发送模块,用于将所述组件标识获取模块获取的组件标识发送给设置在第二终端的第二应用,以使所述第二应用获取与所述组件标识对应的组件的立体显示参数,并根据所述组件标识和所述立体显示参数生成显示配置文件;
接收模块,用于接收所述第二应用发送的显示配置文件,所述显示配置文件中包括所述组件标识和与所述组件标识对应的立体显示参数;
显示转换模块,用于根据所述接收模块接收的显示配置文件中的组件标识和与所述组件标识对应的立体显示参数,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像,从而实现将所述应用程序的虚拟场景中的组件转换为立体显示。
结合第三方面,在第三方面的第一种可实施方式中:
所述组件标识获取模块用于:
获取所述应用程序的虚拟场景的组件的着色器数据,根据所述组件的着色器数据,获取所述组件的组件标识;
所述装置还包括记录模块,用于在所述组件标识获取模块获取所述组件的组件标识后,记录所述组件标识与所述着色器数据的关联关系;
所述显示转换模块用于:
根据所述记录模块预先记录的所述组件标识与所述着色器数据的关联关系和所述接收模块接收的显示配置文件中的组件标识,在所述应用程序调用与所述组件标识对应的着色器数据时,对所述调用进行重定向,从而执行根据所述显示配置文件中的与所述组件标识对应的立体显示参数,构建并显示所述组件的立体图像。
结合第三方面的第一种可实施方式中,在第三方面的第二种可实施方式中:
所述组件标识获取模块用于:
对所述着色器数据进行循环冗余校验码CRC处理,从而获取与所述着色器数据关联的着色器哈希值,将所述着色器哈希值作为所述组件的组件标识。
结合第三方面或第三方面的第一种可实施方式或第三方面的第二种可实施方式,在第三方面的第三种实施方式中:
所述显示配置文件中,所述组件标识所对应的立体显示参数中包括用于指示所述组件标识对应的组件隐藏的隐藏指示信息;
所述显示转换模块用于:根据所述隐藏指示消息,隐藏所述虚拟场景中的与所述组件标识对应的组件的立体图像。
结合第三方面或第三方面的第一种至第三种可实施方式中的任意一种可实施方式,在第三方面的第四种实施方式中:
所述显示配置文件中,所述组件标识所对应的立体显示参数中包括用于确定所述组件标识对应的组件是否进行显示转换的转换指示参数;
所述显示转换模块用于:
根据所述转换指示参数,确定与所述组件标识对应的组件是否需要进行显示转换;
在确定与所述组件标识对应的组件需要进行显示转换时,根据所述显示配置文件中的组件标识和与所述组件标识对应的立体显示参数,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像。
结合第三方面或第三方面的第一种至第四种可实施方式中的任意一种可实施方式,在第三方面的第五种实施方式中:
所述显示配置文件中,包括至少一个组件标识和所述至少一个组件标识所对应的立体显示参数,还包括全局立体显示参数;
所述显示转换模块还用于:
根据所述显示配置文件中的全局立体显示参数,构建并显示所述虚拟场景中除与所述显示配置文件中的组件标识对应的组件之外的组件的立体图像,从而实现将所述应用程序的虚拟场景中,除与所述显示配置文件中的组件标识对应的组件之外的组件转换为立体显示。
结合第三方面的第五种可实施方式,在第三方面的第六种实施方式中:
所述全局立体显示参数包括虚拟摄像机到前控制面的距离;
所述显示转换模块用于:
计算所述虚拟场景中除与所述显示配置文件中的组件标识对应的组件之外的组件的原始深度信息;
根据所述原始深度信息和所述虚拟摄像机到前控制面的距离,在所述原始深度信息大于所述虚拟摄像机到前控制面的距离时,根据所述全局立体显示参数,构建并显示所述虚拟场景中所述原始深度信息所属的组件的立体图像。
结合第三方面或第三方面的第一种至第六种可实施方式中的任意一种可实施方式,在第三方面的第七种实施方式中:
所述显示配置文件中,所述立体显示参数包括视间距和虚拟摄像机到零视差平面的距离;
所述显示转换模块用于:
根据所述视间距,对所述虚拟场景中的与所述组件标识对应的组件的原观察矩阵进行变换,得到新的观察矩阵,以及,根据所述视间距和所述虚拟摄像机到零视差平面的距离,对所述虚拟场景中的与所述组件标识对应的组件的原投影矩阵进行变换,得到新的投影矩阵;
根据所述新的观察矩阵和新的投影矩阵,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像。
结合第三方面或第三方面的第一种至第七种可实施方式中的任意一种可实施方式,在第三方面的第八种实施方式中:
所述接收模块还用于:接收所述第二应用发送的组件标识发送指示;
所述发送模块用于:
根据所述组件标识发送指示,将所述获取的组件标识发送给所述第二应用。
为了达到上述目的,第四方面,本发明实施例提供一种显示转换装置,所述装置设置在第二终端,所述装置包括:
接收模块,用于接收设置在第一终端的第一应用发送的、所述第一终端上设置的应用程序的虚拟场景的组件的组件标识;
参数获取模块,用于获取与所述组件标识对应的组件的立体显示参数;
文件生成模块,用于根据所述接收的组件标识和所述获取的立体显示参数,生成显示配置文件,所述显示配置文件中包括所述组件标识和与所述组件标识对应的立体显示参数;
发送模块,用于将所述显示配置文件发送给所述第一应用,以使所述第一应用根据所述显示配置文件中的组件标识和与所述组件标识对应的立体显示参数,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像,从而实现将所述应用程序的虚拟场景中的组件转换为立体显示。
结合第四方面,在第四方面的第一种可实施方式中:
所述装置还包括界面提供模块,用于提供人机交互界面,所述人机交互界面上设置有用于参数设置的用户输入框;
所述参数获取模块用于:根据用户在所述用户输入框中输入的设置数据,获取与所述组件标识对应的组件的立体显示参数。
结合第四方面或第四方面的第一种可实施方式,在第四方面的第二种可实施方式中:
所述立体显示参数中包括用于指示所述组件标识对应的组件隐藏的隐藏指示信息。
结合第四方面或第四方面的第一种可实施方式或第四方面的第二种可实施方式,在第四方面的第三种实施方式中:
所述立体显示参数中包括用于确定所述组件标识对应的组件是否进行显示转换的转换指示参数。
结合第四方面或第四方面的第一种至第三种可实施方式中的任意一种可实施方式,在第四方面的第四种实施方式中:
所述参数获取模块还用于:
获取所述应用程序的虚拟场景的组件的全局立体显示参数;
所述文件生成模块用于:
根据所述接收模块接收的组件标识,所述参数获取模块获取的立体显示参数以及所述获取的全局立体显示参数,生成显示配置文件,所述显示配置文件中包括所述组件标识和所述组件标识对应的立体显示参数,还包括所述全局立体显示参数,以使所述第一应用根据所述显示配置文件中的组件标识和与所述组件标识对应的立体显示参数,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像,根据所述显示配置文件中的全局立体显示参数,构建并显示所述虚拟场景中除与所述显示配置文件中的组件标识对应的组件之外的组件的立体图像。
结合第四方面的第四种可实施方式,在第四方面的第五种实施方式中:
所述全局立体显示参数包括虚拟摄像机到前控制面的距离。
结合第四方面或第四方面的第一种至第五种可实施方式中的任意一种可实施方式,在第四方面的第六种实施方式中,所述立体显示参数包括视间距和虚拟摄像机到零视差平面的距离。
结合第四方面或第四方面的第一种至第六种可实施方式中的任意一种可实施方式,在第四方面的第七种实施方式中:
所述发送模块还用于:
向所述第一应用发送组件标识发送指示,以使所述第一应用根据所述组件标识发送指示,发送所述应用程序的虚拟场景的组件的组件标识。
为了达到上述目的,第五方面,本发明实施例提供一种终端设备,包括壳体、处理器、存储器、显示器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:
获取所述应用程序的虚拟场景的组件的组件标识;
将所述获取的组件标识发送给设置在第二终端的第二应用,以使所述第二应用获取与所述组件标识对应的组件的立体显示参数,并根据所述组件标识和所述立体显示参数生成显示配置文件;
接收所述第二应用发送的显示配置文件,所述显示配置文件中包括所述组件标识和与所述组件标识对应的立体显示参数;
根据所述显示配置文件中的组件标识和与所述组件标识对应的立体显示参数,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像,从而实现将所述应用程序的虚拟场景中的组件转换为立体显示。
为了达到上述目的,第六方面,本发明实施例提供一种终端设备,包括壳体、处理器、存储器、显示器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:
接收设置在第一终端的第一应用发送的、所述第一终端上设置的应用程序的虚拟场景的组件的组件标识;
获取与所述组件标识对应的组件的立体显示参数;
根据所述接收的组件标识和所述获取的立体显示参数,生成显示配置文件,所述显示配置文件中包括所述组件标识和与所述组件标识对应的立体显示参数;
将所述显示配置文件发送给所述第一应用,以使所述第一应用根据所述显示配置文件中的组件标识和与所述组件标识对应的立体显示参数,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像,从而实现将所述应用程序的虚拟场景中的组件转换为立体显示。
本发明的上述技术方案至少具有如下有益效果:本发明实施例的显示转换方法、装置和终端设备,通过组件标识来标记出需要转换的应用程序的虚拟场景的组件,第一应用获取组件标识并发送给第二应用,第二应用为每个组件设置立体显示参数,并在显示配置文件中利用组件标识和立体显示参数的对应关系将各个组件分别对应的立体显示参数反馈给第一应用,第一应用根据组件标识就可获知各个组件分别的立体显示参数,并按照各组件的立体显示参数分别对各组件进行立体显示,从而实现将应用程序的虚拟场景中的组件转换成立体显示。也就是说,本发明实施例通过组件标识的设计,可以分别为每个组件设置立体显示参数从而进行显示转换,即可以对2D应用的虚拟场景进行非线性的显示转换从而将2D应用转换为3D应用,能够有效避免出现显示转换后立体效果不佳、立体效果错误等问题,有效提升将2D应用转换为3D应用的立体显示效果。
附图说明
图1表示本发明实施例一提供的显示转换方法的流程图;
图2表示本发明实施例二提供的显示转换方法的流程图;
图3表示本发明实施例三提供的显示转换装置的结构框图;
图4表示本发明实施例四提供的显示转换装置的结构框图;
图5表示将2D显示转换为3D显示的原理光路示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
针对现有技术中采用线性的方式将普通2D应用转换为3D应用时,2D部分虚拟场景或者虚拟场景中的组件的立体效果较差或立体效果错误,用户体验欠佳的问题,本发明实施例提供一种显示转换方法,能够将对2D应用的虚拟场景进行非线性的显示转换从而将2D应用转换为3D应用,能够有效避免出现显示转换后立体效果不佳、立体效果错误等问题,有效提升用户体验。
以下对本发明实施例提供的显示转换方法、装置和终端设备进行详细说明。
本发明实施例提供一种显示转换方法,该方法应用于第一应用,该第一应用设置在第一终端,即该方法由设置在第一终端上的第一应用所执行,第一终端上还设置有需要进行显示转换的应用程序,第一应用能够通过本发明实施例提供的显示转换方法将应用程序的2D显示转换为3D显示。其中,第一终端可以是手机,个人计算机、平板电脑、游戏机等具有显示功能的电子设备(也称终端设备),进行显示转换的应用程序包括游戏应用,视频应用等具有2D显示场景的应用程序,本发明对此不做限定。如图1所示,本发明实施例提供的显示转换方法,包括:
步骤10,获取应用程序的虚拟场景的组件的组件标识。
其中,虚拟场景在应用程序运行时显示给用户,例如,用户使用游戏应用时游戏应用展示的游戏场景,该场景由至少一个组件所组成,组件例如可以为UI(用户界面)控件、人物、背景、文字、图标等等。具体的,本发明实施例中所称的虚拟场景的组件,是指应用程序在绘制虚拟场景的图像显示给用户时所需要分别绘制的对象,比如,一个虚拟场景包括文字、背景和人物,应用程序在绘制该应用场景时需要分别绘制该虚拟场景的背景、人物、文字,那么这些背景、文字、人物均为该虚拟场景的组件。
本发明实施例中,为了能实现非线性的显示转换,即对应用程序的虚拟场景的组件分别进行显示转换,亦即利用各组件分别适用的立体显示参数进行3D显示,第一应用将获取各组件的组件标识,该组件标识对于组件而言的唯一性的,即组件标识是与组件一一对应的,后续第一应用将组件标识发送给第二应用,第二应用将利用组件标识来标记各个组件的立体显示参数从而将立体显示参数反馈给第一应用。针对某组件,利用组件标识的标记作用,第一应用可以明确根据其组件标识从第二应用反馈的内容中找到该组件的立体显示参数,进而利用该立体显示参数对该组件进行立体显示,从而实现了该组件的显示转换。针对任意场景、针对任意场景的任意组件,都可采用本发明实施例提供的这种显示转换方式,从而能够实现应用程序的整体显示转换。
举例而言,如果应用程序是基于OpenGL等开发的,本步骤中,可以获取应用程序的虚拟场景的组件的着色器数据(也称着色器语言),根据组件的着色器数据,获取组件的组件标识,即利用组件的原始着色器数据得到组件标识。具体的,可对着色器数据进行循环冗余校验码CRC(Cyclic Redundancy Check)处理,从而获取与着色器数据关联的着色器哈希值,将着色器哈希值作为组件的组件标识。
步骤11,将获取的组件标识发送给设置在第二终端的第二应用,以使第二应用获取与组件标识对应的组件的立体显示参数,并根据组件标识和立体显示参数生成显示配置文件。
本步骤中,第一应用首先和第二应用建立通信连接,然后将获取的组件标识发送给设置在第二终端的第二应用。
其中,第二终端可以是手机,个人计算机、平板电脑、个人数字助理PDA(Personal Digital Assistant)等电子设备(也可称终端设备)。
需要说明的是,本发明实施例中,第二终端和第一终端可以是两个不同的终端,当然也可以是同一终端。
第二应用获取到组件标识后,将获取组件标识对应的组件的立体显示参数,并将按照立体显示参数与组件即立体显示参数与组件标识的对应关系,生成显示配置文件,并将显示配置文件返回给第一应用。
具体实施中,第二应用可以称为编辑端,开发或编辑人员通过第二应用可以为每个组件配置立体显示参数,第二应用将为每个组件配置的立体显示参数按照参数与组件的对应关系,即参数与组件标识的对应关系,通过显示配置文件反馈给第一应用,其中,显示配置文件中,可以包括至少一个组件标识和所述至少一个组件标识所对应的立体显示参数。即,第二应用可以将应用程序的所有场景的所有组件的立体显示参数通过显示配置文件反馈给第一应用,当然也可以仅仅反馈部分组件的例如一个组件或者几个组件的立体显示参数。
具体的,立体显示参数可包括视间距Sep和虚拟摄像机到零视差平面的距离Con。
步骤12,接收第二应用发送的显示配置文件,显示配置文件中包括组件标识和与组件标识对应的立体显示参数。
步骤13,根据显示配置文件中的组件标识和与组件标识对应的立体显示参数,构建并显示虚拟场景中的与组件标识对应的组件的立体图像,从而实现将应用程序的虚拟场景中的组件转换为立体显示。
利用组件标识的标记作用,第一应用可以根据组件标识从显示配置文件中找到该组件的立体显示参数,进而利用该立体显示参数对该组件进行立体显示,从而实现了该组件的显示转换。
具体实施中,在应用程序的自运行过程中,如果应用程序需要绘制某组件时,第一应用将重定向绘制过程,从而利用显示配置文件中该组件的立体显示参数构建并显示该组件的立体图像,例如,重定向到第一应用自定义的显示函数中,该显示函数利用显示配置文件中该组件的立体显示参数作为参数,执行构建并显示立体图像的工作。
举例来讲,在一种具体实施中,在步骤10中根据组件的着色器数据,获取组件的组件标识,则在获取组件标识后,可记录组件标识和着色器数据的关联关系,然后本步骤中,根据预先记录的组件标识与着色器数据的关联关系和显示配置文件中的组件标识,在应用程序调用与所述组件标识对应的着色器数据时,对所述调用进行重定向,例如,在应用程序编译着色器阶段,通过Hook技术进行拦截,然后重定向到第一应用自定义的函数中,从而执行根据所述显示配置文件中的与所述组件标识对应的立体显示参数,构建并显示所述组件的立体图像。
具体的,若立体显示参数中包括视间距Sep和虚拟摄像机到零视差平面的距离Con,本步骤中,将根据视间距,对虚拟场景中的与组件标识对应的组件的原观察矩阵进行变换,得到新的观察矩阵,根据视间距和虚拟摄像机到零视差平面的距离,对虚拟场景中的与所述组件标识对应的组件的原投影矩阵进行变换,得到新的投影矩阵;然后,根据新的观察矩阵和新的投影矩阵,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像。
本发明实施例的显示转换方法,通过组件标识来标记出需要转换的应用程序的虚拟场景的组件,第一应用获取组件标识并发送给第二应用,第二应用为每个组件设置立体显示参数,并在显示配置文件中利用组件标识和立体显示参数的对应关系将各个组件分别对应的立体显示参数反馈给第一应用,第一应用根据组件标识就可获知各个组件分别的立体显示参数,并按照各组件的立体显示参数分别对各组件进行立体显示,从而实现将应用程序的虚拟场景中的组件转换成立体显示。也就是说,本发明实施例通过组件标识的设计,可以分别为每个组件设置立体显示参数从而进行显示转换,即可以对2D应用的虚拟场景进行非线性的显示转换从而将2D应用转换为3D应用,能够有效避免出现显示转换后立体效果不佳、立体效果错误等问题,有效提升将2D应用转换为3D应用的立体显示效果。
也就是说,本发明实施例通过组件标识的设计,从技术人员(如开发或编辑人员)的角度,技术人员可以通过第一应用和第二应用的配合,将2D应用转换为3D应用。
具体实施中,在开发或编辑人员利用第二应用为应用程序的虚拟场景的组件配置立体显示参数时,单凭组件标识开发或编辑人员并不能明确组件标识与组件的对应关系,因此,针对这种情况,在本发明的一个实施例中,在第二应用反馈的显示配置文件中,组件标识所对应的立体显示参数中包括用于指示所述组件标识对应的组件隐藏的隐藏指示信息,该隐藏指示信息可以为一特殊值。这样,在步骤13中,第一应用对组件进行立体显示时,可以根据隐藏指示消息,隐藏虚拟场景中的与该隐藏指示消息对应的组件标识对应的组件的立体图像,即不显示该组件。这样,其他组件正常进行立体显示而该组件隐藏,而隐藏指示消息是与组件标识对应的,那么,就可获知组件标识与组件的对应关系。举例说明,假设组件A的组件标识为950407069,第二应用接收到该组件标识后,设置该组件标识对应的立体显示参数中包括指示组件隐藏的隐藏指示H,即第二应用反馈给第一应用的显示配置文件中,包括组件标识950407069和组件标识950407069对应的隐藏指示H,第一应用接收到该配置文件进行立体显示时,组件A被隐藏,因此,第二应用端即已知950407069对应H,即开发或编辑人员明确950407069对应H,而A被隐藏,据此可知A的组件标识为950407069。在通过这种方式明确组件标识和组件的对应关系后,开发或编辑人员可进一步通过第二应用配置组件的立体显示参数,从而得到较好的立体显示效果。
具体实施中,对于应用程序的虚拟场景而言,有些组件是不需要进行立体显示的,即不需要进行显示转换,针对这种情况,在本发明的一个实施例中,第二应用为组件设置的立体显示参数可包括用于确定组件是否进行显示转换的转换指示参数,即显示配置文件中,组件标识所对应的立体显示参数中包括用于确定所述组件标识对应的组件是否进行显示转换的转换指示参数,这样,在步骤13中,首先根据转换指示参数,确定与组件标识对应的组件是否需要进行显示转换,在确定与组件标识对应的组件需要进行显示转换时,根据显示配置文件中的组件标识和与组件标识对应的立体显示参数,构建并显示虚拟场景中的与组件标识对应的组件的立体图像。其中,可选的,转换指示参数可以为一特殊值,例如,该值为1表示需要进行显示转换,该值为0表示该值不需要进行显示转换。在转换指示参数指示不需要进行显示转换时,在应用程序绘制该不需要显示转换的组件时,不进行拦截,使应用程序正常绘制并显示该组件。可选的,转换指示参数可以为虚拟摄像机到前控制面的距离,这时,在步骤13中,首先计算虚拟场景中组件的原始深度信息,然后将原始深度信息与转换指示参数进行比对,即与虚拟摄像机到前控制面的距离进行比对,在原始深度信息小于虚拟摄像机到前控制面的距离时,不进行显示转换,而在原始深度信息大于虚拟摄像机到前控制面的距离时,构建并显示虚拟场景中原始深度信息所属的组件的立体图像。
具体实施中,对于应用程序的虚拟场景而言,可能部分组件需要进行非线性的显示转换,而部分组件进行线性转换即可,即部分组件使用同样的立体显示参数进行转换即可达到较好的立体显示效果,不需要所有组件都配置单独的立体显示参数。针对这种情况,在本发明的一个实施例中,第二应用反馈的显示配置文件中,包括至少一个组件标识和至少一个组件标识所对应的立体显示参数,还包括全局立体显示参数,该全局立体显示参数是针对不需要配置单独的立体显示参数的组件而言的,第一应用接收到第二应用发送的显示配置文件后,在步骤13中,根据显示配置文件中的组件标识和与组件标识对应的立体显示参数,构建并显示虚拟场景中的与组件标识对应的组件的立体图像。并且,第一应用将根据显示配置文件中的全局立体显示参数,构建并显示虚拟场景中除与显示配置文件中的组件标识对应的组件之外的组件的立体图像,从而实现将应用程序的虚拟场景中,除与显示配置文件中的组件标识对应的组件之外的组件转换为立体显示。
可选的,在一种具体实施中,对于应用程序的虚拟场景而言,有些组件是不需要进行立体显示的,即不需要进行显示转换,例如一些文字,针对这种情况,全局立体显示参数也可包括转换指示参数,例如虚拟摄像机到前控制面的距离,这时,在利用全局立体显示参数进行显示转换时,可首先据转换指示参数,确定组件是否需要进行显示转换,在组件需要进行显示转换时,根据全局立体显示参数构建并显示组件的立体图像。具体的,可首先计算虚拟场景中除与显示配置文件中的组件标识对应的组件之外的组件的原始深度信息,然后根据原始深度信息和虚拟摄像机到前控制面的距离,在原始深度信息大于虚拟摄像机到前控制面的距离时,根据全局立体显示参数,构建并显示虚拟场景中原始深度信息所属的组件的立体图像。
可选的,为了更加智能化,在本发明的一个实施例中,第一应用可以获取组件标识,在得到第二应用的指令后,才将组件标识发送给第二应用,即第一应用将获取的组件标识发送给设置在第二终端的第二应用前,先接收第二应用发送的组件标识发送指示,根据组件标识发送指示,将获取的组件标识发送给第二应用。
与图1所示实施例相对应,本发明的实施例又提供一种显示转换方法,该方法应用于第二应用,第二应用设置在第二终端,即该方法由设置在第二终端上的第二应用执行。其中,第二终端可以是手机,个人计算机、平板电脑、个人数字助理PDA等电子设备,本发明对此不做限定。如图2所示,本发明实施例提供的显示转换方法包括:
步骤20,接收设置在第一终端的第一应用发送的、第一终端上设置的应用程序的虚拟场景的组件的组件标识。
第二应用和第一应用需要首先建立通信连接,然后,第一应用将其获取的组件标识发送给第二应用。
可选的,第二应用可以对第一应用进行控制,向第一应用发送各种指令,第一应用在第二应用的指令指示下执行各种行为,例如,第二应用可以指示第一应用获取组件标识,第二应用可以指示第一应用发送组件标识,第二应用也可以指示第一应用执行其他动作。
本步骤之前,第二应用可以向第一应用发送组件标识发送指示,以使第一应用接收到组件标识发送指示后,根据组件标识发送指示,发送应用程序的虚拟场景的组件的组件标识,本步骤中,第二应用接收组件标识。
第二应用可以在用户(例如开发或编辑人员)的指示下向第一应用发送指示,具体的,第二应用可以提供与用户进行交互的图形用户界面(即人机交互界面),图形用户界面中设置有供用户操作的控件,例如按钮、输入栏、滚动条等等,用户可以通过操作控件,向第二应用发送指示,第二应用基于用户的指示,向第一应用发送指示,例如,用户点击按钮告知第二应用指示第一应用获取组件标识,接收到用户的指示后,第二应用向第一应用发送指令,指示第一应用获取组件标识。
步骤21,获取与组件标识对应的组件的立体显示参数。
本发明实施例对于本步骤中如何获取立体显示参数不做限定,本领域技术人员可以任意选择合理的方式,例如,这些参数可以预先存储在第二终端,第二应用根据组件标识查找并获取,例如,这些参数可以由编辑或开发人员进行配置,例如,这些参数可以通过计算得到……任意合理的方式都是可行的。
举例而言,在一种具体实施中,第二应用可提供人机交互界面,人机交互界面上设置有用于参数设置的用户输入框,然后用户在输入框中输入设置数据,第二应用根据用户在用户输入框中输入的设置数据,获取与组件标识对应的组件的立体显示参数。第二应用可以将组件标识显示在人机交互界面上,该界面上每一个组件标识均对应有立体显示参数的用户输入框,用户在输入框中输入参数值,从而为各组件配置了立体显示参数。
步骤22,根据接收的组件标识和获取的立体显示参数,生成显示配置文件,显示配置文件中包括组件标识和与组件标识对应的立体显示参数。
需要说明的是,本步骤所生成的显示配置文件中,包括至少一个组件的立体显示参数,即包括至少一个组件标识和该至少一个组件标识对应的立体显示参数,亦即显示配置文件中可以只包括所有虚拟场景的所有组件的立体显示参数,也可以包括部分虚拟场景的全部或部分组件的立体显示参数。
步骤23,将显示配置文件发送给第一应用,以使第一应用根据显示配置文件中的组件标识和与组件标识对应的立体显示参数,构建并显示虚拟场景中的与组件标识对应的组件的立体图像,从而实现将应用程序的虚拟场景中的组件转换为立体显示。
本发明实施例的显示转换方法,通过组件标识来标记出需要转换的应用程序的虚拟场景的组件,第一应用获取组件标识并发送给第二应用,第二应用为每个组件设置立体显示参数,并在显示配置文件中利用组件标识和立体显示参数的对应关系将各个组件分别对应的立体显示参数反馈给第一应用,第一应用根据组件标识就可获知各个组件分别的立体显示参数,并按照各组件的立体显示参数分别对各组件进行立体显示,从而实现将应用程序的虚拟场景中的组件转换成立体显示。也就是说,本发明实施例通过组件标识的设计,可以分别为每个组件设置立体显示参数从而进行显示转换,即可以对2D应用的虚拟场景进行非线性的显示转换从而将2D应用转换为3D应用,能够有效避免出现显示转换后立体效果不佳、立体效果错误等问题,有效提升将2D应用转换为3D应用的立体显示效果。
进一步的,具体实施中,在开发或编辑人员利用第二应用为应用程序的虚拟场景的组件配置立体显示参数时,单凭组件标识开发或编辑人员并不能明确组件标识与组件的对应关系,因此,针对这种情况,在本发明的一个实施例中,在第二应用反馈的显示配置文件中,组件标识所对应的立体显示参数中包括用于指示所述组件标识对应的组件隐藏的隐藏指示信息,该隐藏指示信息可以为一特殊值。这样,第一应用对组件进行立体显示时,可以根据隐藏指示消息,隐藏虚拟场景中的与该隐藏指示消息对应的组件标识对应的组件的立体图像,即不显示该组件。这样,其他组件正常进行立体显示而该组件隐藏,而隐藏指示消息是与组件标识对应的,那么,就可获知组件标识与组件的对应关系。其中,该隐藏指示信息可以是用户通过第二应用设置,例如用户通过第二应用提供的输入框输入的,并作为立体显示参数随着显示配置文件发送给第一应用。
进一步的,具体实施中,为了获得更好的立体显示效果,部分组件是不需要进行立体显示的,例如某些文字,因此,在第二应用获取的立体显示参数中,还可包括用于确定组件标识对应的组件是否进行显示转换的转换指示参数,该转换指示参数也可以是用户通过第二应用设置,例如用户通过第二应用提供的输入框输入的。其中,可选的,转换指示参数可以为一特殊值,例如,该值为1表示需要进行显示转换,该值为0表示该值不需要进行显示转换。可选的,转换指示参数可以为虚拟摄像机到前控制面的距离。第一应用可以根据转换指示参数,确定与组件标识对应的组件是否需要进行显示转换,在确定与组件标识对应的组件需要进行显示转换时,根据显示配置文件中的组件标识和与组件标识对应的立体显示参数,构建并显示虚拟场景中的与组件标识对应的组件的立体图像。
具体实施中,对于应用程序的虚拟场景而言,可能部分组件需要进行非线性的显示转换,而部分组件进行线性转换即可,即部分组件使用同样的立体显示参数进行转换即可达到较好的立体显示效果,不需要所有组件都配置单独的立体显示参数。针对这种情况,在本发明的一个实施例中,在步骤22前,第二应用获取应用程序的虚拟场景的组件的全局立体显示参数,该全局立体显示参数是针对不需要配置单独的立体显示参数的所有组件而言的,在步骤22中,根据接收的组件标识、获取的立体显示参数以及获取的全局立体显示参数,生成显示配置文件,从而使得显示配置文件中包括组件标识和组件标识对应的立体显示参数,还包括全局立体显示参数。第一应用接收到显示配置文件后,根据显示配置文件中的组件标识和与组件标识对应的立体显示参数,构建并显示虚拟场景中的与组件标识对应的组件的立体图像,根据显示配置文件中的全局立体显示参数,构建并显示虚拟场景中除与显示配置文件中的组件标识对应的组件之外的组件的立体图像。
其中,该全局立体显示参数也可以是用户通过第二应用设置,例如用户通过第二应用提供的输入框输入的,第二应用根据用户输入获取该全局立体显示参数,当然,该全局立体显示参数也可以是预先设定好的,第二应用根据预先设定获取该全局立体显示参数。
具体的,为实现组件的显示转换,将组件由2D显示转换为3D显示,立体显示参数中通常需要包括视间距Sep和虚拟摄像机到零视差平面的距离Con,即第二应用需要获取这两个参数并发送给第一应用。
下面对本发明实施例中所涉及的一些参数和立体显示原理进行简要介绍。
本领域技术人员所熟知的,人们通常通过双眼同时观看物体,由于人的双眼间存在眼间距,左右眼之间大约相隔65cm,因此,双眼的注视角度不同,造成左右眼接收到的视觉图像存在一定程度的水平差异,这种微小的水平差异可称为视差,由于左右眼接收到的视觉图像不同,大脑通过眼球的运动、调整,综合了左右眼两幅图像的信息,从而产生立体感。而产生立体图像的算法依据即为模拟人的双眼所看到的图像状况,在构建立体图像时,就要构建具有水平视差的两幅图像,分别对应人的左右眼,视差是产生深度的依据,这样构建出来的立体图像让人眼所感知,最后产生立体的感觉。
基于上述说明,在进行显示的转换,即将2D图像转换为3D图像时,从原理上讲可以理解为将原始构建2D图像的虚拟摄像机进行移动,产生左右摄像机,变换原始视景体(视锥)使得左右摄像机的观察范围一致,从而利用左右虚拟摄像机构建出两幅具有水平视差的图像。从实际实施来讲,在算法上,上述的移动和变换可以利用对观察矩阵(也称视图矩阵)和投影矩阵的修改来实现。
图5示出了将2D显示转换为3D显示的原理光路示意图。如图5所示,为了进行立体显示,将虚拟单眼摄像机进行左右移动,产生左右眼摄像机,左眼摄像机和右眼摄像机之间的距离为视间距Sep。如图5中光路所示,图5中虚拟屏幕的位置位于左右视景体汇聚的位置,虚拟屏幕所在的平面为零视差平面,零视差平面距离虚拟摄像机的距离为Con。
在实际的算法实现上,摄像机和视景体的移动和变换是可以利用观察矩阵和投影矩阵的变换来实现的。
具体的,根据Sep,对需要转换的应用程序的虚拟场景的组件的原始观察矩阵P进行变换,得到左观察矩阵PL和右观察矩阵PR,利用视间距Sep和Con,对该组件的原始投影矩阵V进行变换,得到左投影矩阵VL和右投影矩阵VR,进而利用PL和VL得到左视图变换矩阵ML,利用PR和VR得到右视图变换矩阵,利用ML和MR对组件的原始坐标进行变换,进而构建出组件的左眼图像和右眼图像,进而进行立体成像。设X,Y,Z,W为经过投影变换和视图观察变换后的坐标值,x,y,z,w为原始坐标值(齐次坐标表示),XL,YL,ZL,WL为左视图变换矩阵后的坐标,XR,YR,ZR,WR为右视图变换矩阵后的坐标,则:
X L Y L Z L W L = M L * x y z w
X R Y R Z R W R = M R * x y z w
还需要说明的是,参见图5可知,在距离摄像机Z1的范围内,双眼摄像机的可视区域彼此之间存在缺失,即一部分区域仅可由左眼或右眼摄像机中的一个摄像机所捕捉,因此,这部分区域的内容的立体视觉并不完整,因此,在构建立体图像时,从人眼到距离为Z1的范围内的内容的立体效果可以不被考虑或关注,而且,一些组件,例如UI控件,文字等内容,由于不需要立体效果,因此,在构建立体图像时,是放置在距离摄像机较近的位置上,例如可放在距离摄像机的距离小于Z1的范围内。基于此,本发明实施例中,提成了前控制面的概念,前控制面表示,在前控制面前面的内容不转换立体,在前控制面以后的内容转换立体。具体的,前控制面位于摄像机与零视差平面之间,与零视差平面平行,前控制面距离摄像机的距离大于等于Z1。
在本发明的一个实施例中,在进行立体转换时,可在立体显示参数中增加转换指示参数,该转换指示参数可以为前控制面到摄像机的距离这个参数,在第一应用对组件进行显示转换时,首先计算组件的原始深度,利用原始深度与前控制面到摄像机的距离进行比较,当原始深度大于该距离时,对组件进行立体显示,反之,当原始深度小于该距离时,不对组件进行显示转换,使组件正常2D显示。
举例而言,组件的原始深度可通过以下方式进行计算:
在应用程序是基于OpenGL开发的情况下,在进行成像时,利用原始观察矩阵和投影矩阵对原始坐标(x、y、z、w)进行变换,假设组件的坐标值经过观察矩阵和投影矩阵的变换后,原始坐标由(x、y、z、w)变换为(X、Y、Z、W),组件的原始深度Zdepth为:
Zdepth=Z/W
需要说明的是,(x、y、z、w)为齐次坐标表达形式,这里不再详述。本发明实施例对于如何计算原始深度不做限制,本领域技术人员可以任意选择。
与前述方法实施例相对应,本发明实施例又提供一种显示转换装置,该装置与前述方法实施例中的第一应用相对应,该装置设置在第一终端,第一终端上还设置有需要进行显示转换的应用程序,如图3所示,本发明实施例提供的显示转换装置包括:
组件标识获取模块30,用于获取应用程序的虚拟场景的组件的组件标识;
发送模块31,用于将组件标识获取模块30获取的组件标识发送给设置在第二终端的第二应用,以使第二应用获取与组件标识对应的组件的立体显示参数,并根据组件标识和立体显示参数生成显示配置文件;
接收模块32,用于接收第二应用发送的显示配置文件,显示配置文件中包括组件标识和与组件标识对应的立体显示参数;
显示转换模块33,用于根据接收模块32接收的显示配置文件中的组件标识和与组件标识对应的立体显示参数,构建并显示虚拟场景中的与组件标识对应的组件的立体图像,从而实现将应用程序的虚拟场景中的组件转换为立体显示。
本发明实施例提供的显示转换装置,通过组件标识来标记出需要转换的应用程序的虚拟场景的组件,获取组件标识并发送给第二应用,第二应用为每个组件设置立体显示参数,并在显示配置文件中利用组件标识和立体显示参数的对应关系将各个组件分别对应的立体显示参数反馈给显示转换装置,显示转换装置根据组件标识就可获知各个组件分别的立体显示参数,并按照各组件的立体显示参数分别对各组件进行立体显示,从而实现将应用程序的虚拟场景中的组件转换成立体显示。也就是说,本发明实施例通过组件标识的设计,可以分别为每个组件设置立体显示参数从而进行显示转换,即可以对2D应用的虚拟场景进行非线性的显示转换从而将2D应用转换为3D应用,能够有效避免出现显示转换后立体效果不佳、立体效果错误等问题,有效提升将2D应用转换为3D应用的立体显示效果。
可选的,在本发明的一个实施例中:
组件标识获取模块30用于获取应用程序的虚拟场景的组件的着色器数据,根据组件的着色器数据,获取组件的组件标识;
所述装置还包括记录模块(图中未显示),用于在组件标识获取模块30获取组件的组件标识后,记录组件标识与着色器数据的关联关系;
显示转换模块33用于:
根据记录模块预先记录的组件标识与着色器数据的关联关系和接收模块接收的显示配置文件中的组件标识,在应用程序调用与组件标识对应的着色器数据时,对调用进行重定向,从而执行根据显示配置文件中的与组件标识对应的立体显示参数,构建并显示组件的立体图像。
进一步的,在本发明的一个实施例中,组件标识获取模块30用于对着色器数据进行循环冗余校验码CRC处理,从而获取与着色器数据关联的着色器哈希值,将着色器哈希值作为组件的组件标识。
可选的,在本发明的一个实施例中:
显示配置文件中,组件标识所对应的立体显示参数中包括用于指示组件标识对应的组件隐藏的隐藏指示信息;
显示转换模块33用于:根据隐藏指示消息,隐藏虚拟场景中的与组件标识对应的组件的立体图像。
可选的,在本发明的一个实施例中:
显示配置文件中,组件标识所对应的立体显示参数中包括用于确定组件标识对应的组件是否进行显示转换的转换指示参数;
显示转换模块33用于:
根据转换指示参数,确定与组件标识对应的组件是否需要进行显示转换;
在确定与组件标识对应的组件需要进行显示转换时,根据显示配置文件中的组件标识和与组件标识对应的立体显示参数,构建并显示虚拟场景中的与组件标识对应的组件的立体图像。
可选的,在本发明的一个实施例中:
显示配置文件中,包括至少一个组件标识和至少一个组件标识所对应的立体显示参数,还包括全局立体显示参数;
显示转换模块33还用于:
根据显示配置文件中的全局立体显示参数,构建并显示虚拟场景中除与显示配置文件中的组件标识对应的组件之外的组件的立体图像,从而实现将应用程序的虚拟场景中,除与显示配置文件中的组件标识对应的组件之外的组件转换为立体显示。
具体的,全局立体显示参数可包括虚拟摄像机到前控制面的距离;
显示转换模块33用于:
计算虚拟场景中除与显示配置文件中的组件标识对应的组件之外的组件的原始深度信息;
根据原始深度信息和虚拟摄像机到前控制面的距离,在原始深度信息大于虚拟摄像机到前控制面的距离时,根据全局立体显示参数,构建并显示虚拟场景中原始深度信息所属的组件的立体图像。
具体的,在本发明的一个实施例中:
显示配置文件中,立体显示参数包括视间距和虚拟摄像机到零视差平面的距离;
显示转换模块33用于:
根据视间距,对虚拟场景中的与组件标识对应的组件的原观察矩阵进行变换,得到新的观察矩阵,以及,根据视间距和虚拟摄像机到零视差平面的距离,对虚拟场景中的与组件标识对应的组件的原投影矩阵进行变换,得到新的投影矩阵;
根据新的观察矩阵和新的投影矩阵,构建并显示虚拟场景中的与组件标识对应的组件的立体图像。
可选的,在本发明的一个实施例中:
接收模块32还用于:接收第二应用发送的组件标识发送指示;
发送模块31用于:
根据组件标识发送指示,将获取的组件标识发送给第二应用。
与前述方法实施例相对应,本发明实施例又提供一种显示转换装置,该装置与前述方法实施例中的第二应用相对应,该装置设置在第二终端,如图4所示,该装置包括:
接收模块40,用于接收设置在第一终端的第一应用发送的、第一终端上设置的应用程序的虚拟场景的组件的组件标识;
参数获取模块41,用于获取与组件标识对应的组件的立体显示参数;
文件生成模块42,用于根据接收的组件标识和获取的立体显示参数,生成显示配置文件,显示配置文件中包括组件标识和与组件标识对应的立体显示参数;
发送模块43,用于将显示配置文件发送给第一应用,以使第一应用根据显示配置文件中的组件标识和与组件标识对应的立体显示参数,构建并显示虚拟场景中的与组件标识对应的组件的立体图像,从而实现将应用程序的虚拟场景中的组件转换为立体显示。
进一步的,在本发明的一个实施例中,显示转换装置还包括界面提供模块(图中未显示),用于提供人机交互界面,人机交互界面上设置有用于参数设置的用户输入框;
参数获取模块41用于:根据用户在用户输入框中输入的设置数据,获取与组件标识对应的组件的立体显示参数。
可选的,在本发明的一个实施例中,立体显示参数中包括用于指示组件标识对应的组件隐藏的隐藏指示信息。
可选的,在本发明的一个实施例中,立体显示参数中包括用于确定组件标识对应的组件是否进行显示转换的转换指示参数。
进一步的,在本发明的一个实施例中:
参数获取模块41还用于:获取应用程序的虚拟场景的组件的全局立体显示参数;
文件生成模块42用于:
根据接收模块40接收的组件标识,参数获取模块41获取的立体显示参数以及获取的全局立体显示参数,生成显示配置文件,显示配置文件中包括组件标识和组件标识对应的立体显示参数,还包括全局立体显示参数,以使第一应用根据显示配置文件中的组件标识和与组件标识对应的立体显示参数,构建并显示虚拟场景中的与组件标识对应的组件的立体图像,根据显示配置文件中的全局立体显示参数,构建并显示虚拟场景中除与显示配置文件中的组件标识对应的组件之外的组件的立体图像。
具体的,全局立体显示参数可包括虚拟摄像机到前控制面的距离。
具体的,在本发明的一个实施例中,立体显示参数包括视间距和虚拟摄像机到零视差平面的距离。
可选的,在本发明的一个实施例中,发送模块43还用于:
向所述第一应用发送组件标识发送指示,以使所述第一应用根据所述组件标识发送指示,发送所述应用程序的虚拟场景的组件的组件标识。
本发明实施例提供的显示转换装置,通过组件标识来标记出需要转换的应用程序的虚拟场景的组件,第一应用获取组件标识并发送给显示转换装置,显示装换装置为每个组件设置立体显示参数,并在显示配置文件中利用组件标识和立体显示参数的对应关系将各个组件分别对应的立体显示参数反馈给第一应用,第一应用根据组件标识就可获知各个组件分别的立体显示参数,并按照各组件的立体显示参数分别对各组件进行立体显示,从而实现将应用程序的虚拟场景中的组件转换成立体显示。也就是说,本发明实施例通过组件标识的设计,可以分别为每个组件设置立体显示参数从而进行显示转换,即可以对2D应用的虚拟场景进行非线性的显示转换从而将2D应用转换为3D应用,能够有效避免出现显示转换后立体效果不佳、立体效果错误等问题,有效提升将2D应用转换为3D应用的立体显示效果。
与前述方法实施例相对应,本发明实施例还提供一种终端设备,包括壳体、处理器、存储器、显示器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:
获取应用程序的虚拟场景的组件的组件标识;
将获取的组件标识发送给设置在第二终端的第二应用,以使第二应用获取与组件标识对应的组件的立体显示参数,并根据组件标识和立体显示参数生成显示配置文件;
接收第二应用发送的显示配置文件,显示配置文件中包括组件标识和与组件标识对应的立体显示参数;
根据显示配置文件中的组件标识和与组件标识对应的立体显示参数,构建并显示虚拟场景中的与组件标识对应的组件的立体图像,从而实现将应用程序的虚拟场景中的组件转换为立体显示。
本发明实施例提供的终端设备,通过组件标识来标记出需要转换的应用程序的虚拟场景的组件,获取组件标识并发送给第二应用,第二应用为每个组件设置立体显示参数,并在显示配置文件中利用组件标识和立体显示参数的对应关系将各个组件分别对应的立体显示参数反馈给终端设备,终端设备根据组件标识就可获知各个组件分别的立体显示参数,并按照各组件的立体显示参数分别对各组件进行立体显示,从而实现将应用程序的虚拟场景中的组件转换成立体显示。也就是说,本发明实施例通过组件标识的设计,可以分别为每个组件设置立体显示参数从而进行显示转换,即可以对2D应用的虚拟场景进行非线性的显示转换从而将2D应用转换为3D应用,能够有效避免出现显示转换后立体效果不佳、立体效果错误等问题,有效提升将2D应用转换为3D应用的立体显示效果。
具体的,所述终端设备可以是手机,个人计算机、平板电脑、游戏机、PDA等具有显示功能的电子设备,本发明对此不做限定。
与前述方法实施例相对应,本发明实施例提供一种终端设备,包括壳体、处理器、存储器、显示器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:
接收设置在第一终端的第一应用发送的、第一终端上设置的应用程序的虚拟场景的组件的组件标识;
获取与组件标识对应的组件的立体显示参数;
根据接收的组件标识和获取的立体显示参数,生成显示配置文件,显示配置文件中包括组件标识和与组件标识对应的立体显示参数;
将显示配置文件发送给第一应用,以使第一应用根据显示配置文件中的组件标识和与组件标识对应的立体显示参数,构建并显示虚拟场景中的与组件标识对应的组件的立体图像,从而实现将应用程序的虚拟场景中的组件转换为立体显示。
具体的,该终端设备可以是手机,个人计算机、平板电脑、个人数字助理PDA等,本发明对此不做限定。
本发明实施例提供的终端设备,通过组件标识来标记出需要转换的应用程序的虚拟场景的组件,第一应用获取组件标识并发送给终端设备,终端设备为每个组件设置立体显示参数,并在显示配置文件中利用组件标识和立体显示参数的对应关系将各个组件分别对应的立体显示参数反馈给第一应用,第一应用根据组件标识就可获知各个组件分别的立体显示参数,并按照各组件的立体显示参数分别对各组件进行立体显示,从而实现将应用程序的虚拟场景中的组件转换成立体显示。也就是说,本发明实施例通过组件标识的设计,可以分别为每个组件设置立体显示参数从而进行显示转换,即可以对2D应用的虚拟场景进行非线性的显示转换从而将2D应用转换为3D应用,能够有效避免出现显示转换后立体效果不佳、立体效果错误等问题,有效提升将2D应用转换为3D应用的立体显示效果。
需要强调的是,对于装置和终端设备实施例而言,可以用以执行其各自对应的方法实施例的技术方案,其实现原理和技术效果类似,即其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
下面通过一个具体的实施例对本发明的显示转换方法进行详细的示例性说明,需要强调的是,本实施例仅为使本领域技术人员更好的理解本发明,并不对本发明进行具体限制。本实施例中,第一终端为智能手机,该智能手机上安装有第一应用和一2D游戏应用,第二终端为PC,该PC上安装有第二应用。本实施例以2D游戏应用的某个虚拟场景B为例进行说明,可以理解的是,该游戏应用的其他虚拟场景均可采用相同的方式进行显示转换。假设虚拟场景B由6个组件组成。第一应用获取这六个组件的着色器数据(Shader),对这6个组件的Shader分别进行CRC处理,获得6个与着色器数据关联的唯一性哈希值(Shader-hash),将Shader-hash作为这六个组件的组件标识,并记录Shader-hash与Shader的关联关系。第一应用与第二应用建立通信连接后,将这6个Shader-hash发送给第二应用,第二应用在人机交互界面上显示这6个哈希值,且在界面上每个哈希值对应有参数设置输入框,编辑人员通过输入框输入为每个组件设置的立体显示参数。编辑人员可输入的立体显示参数可包括隐藏指示信息、视间距、虚拟摄像机到零视差平面的距离和转换指示参数。在编辑人员输入完成后,指示第二应用生成显示配置文件,第二应用获取编辑人员输入的参数值,按照参数值与Shader-hash的对应关系,生成显示配置文件并发送给第一应用,显示配置文件包括6个Shader-hash和这6个Shader-hash分别对应的立体显示参数,第一应用接收到显示配置文件后,对文件进行解析,然后,根据预先记录的Shader-hash和Shader关联关系,在2D游戏应用调用这6个Shader-hash对应的Shader时,对所述调用进行重定向,执行第一应用自定义的显示函数,从而利用立体显示参数对这6个组件进行立体显示,从而将虚拟场景B由2D显示转换为3D显示。具体的,第一应用根据隐藏指示信息判断是否隐藏组件,根据转换指示参数判断是否进行显示转换,若判断不隐藏且进行转换,将根据每个组件的立体显示参数中的视间距,对组件的原观察矩阵进行变换,得到新的观察矩阵,根据立体显示参数中的视间距和虚拟摄像机到零视差平面的距离,对组件的原投影矩阵进行变换,得到新的投影矩阵;然后,根据新的观察矩阵和新的投影矩阵,构建并显示组件的立体图像。
对于隐藏指示消息,正常显示转换时通常为空或者设置为指示不隐藏的特殊值,但是如果编辑人员需要获知Shader-hash与组件的对应关系,可将某个Shader-hash对应的隐藏指示消息输入为指示隐藏的特殊值,第一应用在根据该隐藏指示消息判断该组件隐藏时,则隐藏该组件,即拦截2D游戏对该组件的绘制过程,也不执行显示转换过程从而不绘制该组件,这样,智能手机上显示的虚拟场景B中就隐藏了该组件,编辑人员就可知悉该组件与哪个Shader-hash相对应。
对于转换指示参数,如指示不转换,第一应用将不拦截2D游戏对该组件的绘制过程,使2D游戏正常绘制该组件。举例而言,正常显示转换时该转换指示参数通常为空或者设置为指示转换的特殊值,而若不需要转换,则设置指示不转换的特殊值。
转换指示参数也可以为虚拟摄像机到前控制面的距离,这时,第一应用首先计算虚拟场景中组件的原始深度信息,然后将原始深度信息与转换指示参数进行比对,即与虚拟摄像机到前控制面的距离进行比对,在原始深度信息小于虚拟摄像机到前控制面的距离时,不进行显示转换,而在原始深度信息大于虚拟摄像机到前控制面的距离时,构建并显示虚拟场景中原始深度信息所属的组件的立体图像。
针对这六个组件中部分组件使用相同的立体显示参数即可,假设3个组件需要分别配置立体显示参数,3个组件使用全局立体显示参数,全局立体显示参数包括视间距和虚拟摄像机到虚拟摄像机到零视差平面的距离。全局立体显示参数也可以由编辑人员输入,也可以由预先设定,当然亦可以预先设定在第一应用中。第二应用所生成的显示配置文件,将包括全局立体显示参数,还包括3个Shader-hash和该Shader-hash对应的立体显示参数,第一应用使用3个Shader-hash对应的立体显示参数显示3个Shader-hash对应的组件,而利用全局立体显示参数显示另外3个组件。
其中,全局立体显示参数中也可包括转换指示参数,那么在进行另外三个组件的显示转换前,第一应用先利用全局的转换指示参数判断组件是否要进行显示转换,然后进行后续的处理,该判断过程和后续的处理与前述单独配置立体显示参数的组件处理方式相类似,这里不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (36)

1.一种显示转换方法,其特征在于,所述方法应用于第一应用,所述第一应用设置在第一终端,所述第一终端上还设置有需要进行显示转换的应用程序,所述方法包括:
获取所述应用程序的虚拟场景的组件的组件标识;
将所述获取的组件标识发送给设置在第二终端的第二应用,以使所述第二应用获取与所述组件标识对应的组件的立体显示参数,并根据所述组件标识和所述立体显示参数生成显示配置文件;
接收所述第二应用发送的显示配置文件,所述显示配置文件中包括所述组件标识和与所述组件标识对应的立体显示参数;
根据所述显示配置文件中的组件标识和与所述组件标识对应的立体显示参数,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像,从而实现将所述应用程序的虚拟场景中的组件转换为立体显示。
2.根据权利要求1所述的显示转换方法,其特征在于,所述获取所述应用程序的虚拟场景的组件的组件标识包括:
获取所述应用程序的虚拟场景的组件的着色器数据,根据所述组件的着色器数据,获取所述组件的组件标识;
在获取所述组件的组件标识后,所述方法还包括:
记录所述组件标识与所述着色器数据的关联关系;
所述根据所述显示配置文件中的组件标识和与所述组件标识对应的立体显示参数,构建并显示所述组件的立体图像包括:
根据预先记录的所述组件标识与所述着色器数据的关联关系和所述显示配置文件中的组件标识,在所述应用程序调用与所述组件标识对应的着色器数据时,对所述调用进行重定向,从而执行根据所述显示配置文件中的与所述组件标识对应的立体显示参数,构建并显示所述组件的立体图像。
3.根据权利要求2所述的显示转换方法,其特征在于,所述根据所述组件的着色器数据,获取所述组件的组件标识包括:
对所述着色器数据进行循环冗余校验码CRC处理,从而获取与所述着色器数据关联的着色器哈希值,将所述着色器哈希值作为所述组件的组件标识。
4.根据权利要求1-3任一项所述的显示转换方法,其特征在于,所述显示配置文件中,所述组件标识所对应的立体显示参数中包括用于指示所述组件标识对应的组件隐藏的隐藏指示信息;
所述根据所述显示配置文件中的组件标识和与所述组件标识对应的立体显示参数,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像包括:
根据所述隐藏指示消息,隐藏所述虚拟场景中的与所述组件标识对应的组件的立体图像。
5.根据权利要求1-4任一项所述的显示转换方法,其特征在于,所述显示配置文件中,所述组件标识所对应的立体显示参数中包括用于确定所述组件标识对应的组件是否进行显示转换的转换指示参数;
所述根据所述显示配置文件中的组件标识和与所述组件标识对应的立体显示参数,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像包括:
根据所述转换指示参数,确定与所述组件标识对应的组件是否需要进行显示转换;
在确定与所述组件标识对应的组件需要进行显示转换时,根据所述显示配置文件中的组件标识和与所述组件标识对应的立体显示参数,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像。
6.根据权利要求1-5任一项所述的显示转换方法,其特征在于,所述显示配置文件中,包括至少一个组件标识和所述至少一个组件标识所对应的立体显示参数,还包括全局立体显示参数;
所述接收所述第二应用发送的显示配置文件后,所述方法还包括:
根据所述显示配置文件中的全局立体显示参数,构建并显示所述虚拟场景中除与所述显示配置文件中的组件标识对应的组件之外的组件的立体图像,从而实现将所述应用程序的虚拟场景中,除与所述显示配置文件中的组件标识对应的组件之外的组件转换为立体显示。
7.根据权利要求6所述的显示转换方法,其特征在于,所述全局立体显示参数中包括虚拟摄像机到前控制面的距离;
所述根据所述显示配置文件中的全局立体显示参数,构建并显示所述虚拟场景中除与所述显示配置文件中的组件标识对应的组件之外的组件的立体图像包括:
计算所述虚拟场景中除与所述显示配置文件中的组件标识对应的组件之外的组件的原始深度信息;
根据所述原始深度信息和所述虚拟摄像机到前控制面的距离,在所述原始深度信息大于所述虚拟摄像机到前控制面的距离时,根据所述全局立体显示参数,构建并显示所述虚拟场景中所述原始深度信息所属的组件的立体图像。
8.根据权利要求1-7任一项所述的显示转换方法,其特征在于,所述显示配置文件中,所述立体显示参数包括视间距和虚拟摄像机到零视差平面的距离;
所述根据所述显示配置文件中的组件标识和与所述组件标识对应的立体显示参数,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像包括:
根据所述视间距,对所述虚拟场景中的与所述组件标识对应的组件的原观察矩阵进行变换,得到新的观察矩阵,以及,根据所述视间距和所述虚拟摄像机到零视差平面的距离,对所述虚拟场景中的与所述组件标识对应的组件的原投影矩阵进行变换,得到新的投影矩阵;
根据所述新的观察矩阵和新的投影矩阵,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像。
9.根据权利要求1-8任一项所述的显示转换方法,其特征在于,在所述将所述获取的组件标识发送给设置在第二终端的第二应用前,所述方法还包括:
接收所述第二应用发送的组件标识发送指示;
所述将所述获取的组件标识发送给设置在第二终端的第二应用包括:
根据所述组件标识发送指示,将所述获取的组件标识发送给所述第二应用。
10.一种显示转换方法,其特征在于,所述方法应用于第二应用,所述第二应用设置在第二终端,所述方法包括:
接收设置在第一终端的第一应用发送的、所述第一终端上设置的应用程序的虚拟场景的组件的组件标识;
获取与所述组件标识对应的组件的立体显示参数;
根据所述接收的组件标识和所述获取的立体显示参数,生成显示配置文件,所述显示配置文件中包括所述组件标识和与所述组件标识对应的立体显示参数;
将所述显示配置文件发送给所述第一应用,以使所述第一应用根据所述显示配置文件中的组件标识和与所述组件标识对应的立体显示参数,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像,从而实现将所述应用程序的虚拟场景中的组件转换为立体显示。
11.根据权利要求10所述的显示转换方法,其特征在于,在所述获取与所述组件标识对应的组件的立体显示参数前,所述方法还包括:
提供人机交互界面,所述人机交互界面上设置有用于参数设置的用户输入框;
所述获取与所述组件标识对应的组件的立体显示参数包括:
根据用户在所述用户输入框中输入的设置数据,获取与所述组件标识对应的组件的立体显示参数。
12.根据权利要求10或11所述的显示转换方法,其特征在于,所述立体显示参数中包括用于指示所述组件标识对应的组件隐藏的隐藏指示信息。
13.根据权利要求10至12任一项所述的显示转换方法,其特征在于,所述立体显示参数中包括用于确定所述组件标识对应的组件是否进行显示转换的转换指示参数。
14.根据权利要求10至13任一项所述的显示转换方法,其特征在于,在所述根据所述接收的组件标识和所述获取的立体显示参数,生成显示配置文件前,所述方法还包括:
获取所述应用程序的虚拟场景的组件的全局立体显示参数;
所述根据所述接收的组件标识和所述获取的立体显示参数,生成显示配置文件包括:
根据所述接收的组件标识,所述获取的立体显示参数以及所述获取的全局立体显示参数,生成显示配置文件,所述显示配置文件中包括所述组件标识和所述组件标识对应的立体显示参数,还包括所述全局立体显示参数,以使所述第一应用根据所述显示配置文件中的组件标识和与所述组件标识对应的立体显示参数,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像,根据所述显示配置文件中的全局立体显示参数,构建并显示所述虚拟场景中除与所述显示配置文件中的组件标识对应的组件之外的组件的立体图像。
15.根据权利要求14所述的显示转换方法,其特征在于,所述全局立体显示参数包括虚拟摄像机到前控制面的距离。
16.根据权利要求11-15任一项所述的显示转换方法,其特征在于,所述立体显示参数包括视间距和虚拟摄像机到零视差平面的距离。
17.根据权利要求11-16任一项所述的显示转换方法,其特征在于,在所述接收设置在第一终端的第一应用发送的、所述第一终端上设置的应用程序的虚拟场景的组件的组件标识前,所述方法还包括:
向所述第一应用发送组件标识发送指示,以使所述第一应用根据所述组件标识发送指示,发送所述应用程序的虚拟场景的组件的组件标识。
18.一种显示转换装置,其特征在于,所述装置设置在第一终端,所述第一终端上还设置有需要进行显示转换的应用程序,所述装置包括:
组件标识获取模块,用于获取所述应用程序的虚拟场景的组件的组件标识;
发送模块,用于将所述组件标识获取模块获取的组件标识发送给设置在第二终端的第二应用,以使所述第二应用获取与所述组件标识对应的组件的立体显示参数,并根据所述组件标识和所述立体显示参数生成显示配置文件;
接收模块,用于接收所述第二应用发送的显示配置文件,所述显示配置文件中包括所述组件标识和与所述组件标识对应的立体显示参数;
显示转换模块,用于根据所述接收模块接收的显示配置文件中的组件标识和与所述组件标识对应的立体显示参数,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像,从而实现将所述应用程序的虚拟场景中的组件转换为立体显示。
19.根据权利要求18所述的显示转换装置,其特征在于,所述组件标识获取模块用于:
获取所述应用程序的虚拟场景的组件的着色器数据,根据所述组件的着色器数据,获取所述组件的组件标识;
所述装置还包括记录模块,用于在所述组件标识获取模块获取所述组件的组件标识后,记录所述组件标识与所述着色器数据的关联关系;
所述显示转换模块用于:
根据所述记录模块预先记录的所述组件标识与所述着色器数据的关联关系和所述接收模块接收的显示配置文件中的组件标识,在所述应用程序调用与所述组件标识对应的着色器数据时,对所述调用进行重定向,从而执行根据所述显示配置文件中的与所述组件标识对应的立体显示参数,构建并显示所述组件的立体图像。
20.根据权利要求19所述的显示转换装置,其特征在于,所述组件标识获取模块用于:
对所述着色器数据进行循环冗余校验码CRC处理,从而获取与所述着色器数据关联的着色器哈希值,将所述着色器哈希值作为所述组件的组件标识。
21.根据权利要求18-20任一项所述的显示转换装置,其特征在于,所述显示配置文件中,所述组件标识所对应的立体显示参数中包括用于指示所述组件标识对应的组件隐藏的隐藏指示信息;
所述显示转换模块用于:根据所述隐藏指示消息,隐藏所述虚拟场景中的与所述组件标识对应的组件的立体图像。
22.根据权利要求18-21任一项所述的显示转换装置,其特征在于,所述显示配置文件中,所述组件标识所对应的立体显示参数中包括用于确定所述组件标识对应的组件是否进行显示转换的转换指示参数;
所述显示转换模块用于:
根据所述转换指示参数,确定与所述组件标识对应的组件是否需要进行显示转换;
在确定与所述组件标识对应的组件需要进行显示转换时,根据所述显示配置文件中的组件标识和与所述组件标识对应的立体显示参数,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像。
23.根据权利要求18-22任一项所述的显示转换装置,其特征在于,所述显示配置文件中,包括至少一个组件标识和所述至少一个组件标识所对应的立体显示参数,还包括全局立体显示参数;
所述显示转换模块还用于:
根据所述显示配置文件中的全局立体显示参数,构建并显示所述虚拟场景中除与所述显示配置文件中的组件标识对应的组件之外的组件的立体图像,从而实现将所述应用程序的虚拟场景中,除与所述显示配置文件中的组件标识对应的组件之外的组件转换为立体显示。
24.根据权利要求23所述的显示转换装置,其特征在于,所述全局立体显示参数包括虚拟摄像机到前控制面的距离;
所述显示转换模块用于:
计算所述虚拟场景中除与所述显示配置文件中的组件标识对应的组件之外的组件的原始深度信息;
根据所述原始深度信息和所述虚拟摄像机到前控制面的距离,在所述原始深度信息大于所述虚拟摄像机到前控制面的距离时,根据所述全局立体显示参数,构建并显示所述虚拟场景中所述原始深度信息所属的组件的立体图像。
25.根据权利要求18-24任一项所述的显示转换装置,其特征在于,所述显示配置文件中,所述立体显示参数包括视间距和虚拟摄像机到零视差平面的距离;
所述显示转换模块用于:
根据所述视间距,对所述虚拟场景中的与所述组件标识对应的组件的原观察矩阵进行变换,得到新的观察矩阵,以及,根据所述视间距和所述虚拟摄像机到零视差平面的距离,对所述虚拟场景中的与所述组件标识对应的组件的原投影矩阵进行变换,得到新的投影矩阵;
根据所述新的观察矩阵和新的投影矩阵,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像。
26.根据权利要求18-25任一项所述的显示转换装置,其特征在于,所述接收模块还用于:接收所述第二应用发送的组件标识发送指示;
所述发送模块用于:
根据所述组件标识发送指示,将所述获取的组件标识发送给所述第二应用。
27.一种显示转换装置,其特征在于,所述装置设置在第二终端,所述装置包括:
接收模块,用于接收设置在第一终端的第一应用发送的、所述第一终端上设置的应用程序的虚拟场景的组件的组件标识;
参数获取模块,用于获取与所述组件标识对应的组件的立体显示参数;
文件生成模块,用于根据所述接收的组件标识和所述获取的立体显示参数,生成显示配置文件,所述显示配置文件中包括所述组件标识和与所述组件标识对应的立体显示参数;
发送模块,用于将所述显示配置文件发送给所述第一应用,以使所述第一应用根据所述显示配置文件中的组件标识和与所述组件标识对应的立体显示参数,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像,从而实现将所述应用程序的虚拟场景中的组件转换为立体显示。
28.根据权利要求27所述的显示转换装置,其特征在于,所述装置还包括界面提供模块,用于提供人机交互界面,所述人机交互界面上设置有用于参数设置的用户输入框;
所述参数获取模块用于:根据用户在所述用户输入框中输入的设置数据,获取与所述组件标识对应的组件的立体显示参数。
29.根据权利要求27或28所述的显示转换装置,其特征在于,所述立体显示参数中包括用于指示所述组件标识对应的组件隐藏的隐藏指示信息。
30.根据权利要求27至29任一项所述的显示转换装置,其特征在于,所述立体显示参数中包括用于确定所述组件标识对应的组件是否进行显示转换的转换指示参数。
31.根据权利要求27至30任一项所述的显示转换装置,其特征在于,所述参数获取模块还用于:
获取所述应用程序的虚拟场景的组件的全局立体显示参数;
所述文件生成模块用于:
根据所述接收模块接收的组件标识,所述参数获取模块获取的立体显示参数以及所述获取的全局立体显示参数,生成显示配置文件,所述显示配置文件中包括所述组件标识和所述组件标识对应的立体显示参数,还包括所述全局立体显示参数,以使所述第一应用根据所述显示配置文件中的组件标识和与所述组件标识对应的立体显示参数,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像,根据所述显示配置文件中的全局立体显示参数,构建并显示所述虚拟场景中除与所述显示配置文件中的组件标识对应的组件之外的组件的立体图像。
32.根据权利要求31所述的显示转换装置,其特征在于,所述全局立体显示参数包括虚拟摄像机到前控制面的距离。
33.根据权利要求27-32任一项所述的显示转换装置,其特征在于,所述立体显示参数包括视间距和虚拟摄像机到零视差平面的距离。
34.根据权利要求27-33任一项所述的显示转换装置,其特征在于,所述发送模块还用于:
向所述第一应用发送组件标识发送指示,以使所述第一应用根据所述组件标识发送指示,发送所述应用程序的虚拟场景的组件的组件标识。
35.一种终端设备,包括壳体、处理器、存储器、显示器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:
获取所述应用程序的虚拟场景的组件的组件标识;
将所述获取的组件标识发送给设置在第二终端的第二应用,以使所述第二应用获取与所述组件标识对应的组件的立体显示参数,并根据所述组件标识和所述立体显示参数生成显示配置文件;
接收所述第二应用发送的显示配置文件,所述显示配置文件中包括所述组件标识和与所述组件标识对应的立体显示参数;
根据所述显示配置文件中的组件标识和与所述组件标识对应的立体显示参数,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像,从而实现将所述应用程序的虚拟场景中的组件转换为立体显示。
36.一种终端设备,包括壳体、处理器、存储器、显示器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:
接收设置在第一终端的第一应用发送的、所述第一终端上设置的应用程序的虚拟场景的组件的组件标识;
获取与所述组件标识对应的组件的立体显示参数;
根据所述接收的组件标识和所述获取的立体显示参数,生成显示配置文件,所述显示配置文件中包括所述组件标识和与所述组件标识对应的立体显示参数;
将所述显示配置文件发送给所述第一应用,以使所述第一应用根据所述显示配置文件中的组件标识和与所述组件标识对应的立体显示参数,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像,从而实现将所述应用程序的虚拟场景中的组件转换为立体显示。
CN201511028163.1A 2015-12-31 2015-12-31 一种显示转换方法、装置及终端设备 Active CN106249857B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511028163.1A CN106249857B (zh) 2015-12-31 2015-12-31 一种显示转换方法、装置及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511028163.1A CN106249857B (zh) 2015-12-31 2015-12-31 一种显示转换方法、装置及终端设备

Publications (2)

Publication Number Publication Date
CN106249857A true CN106249857A (zh) 2016-12-21
CN106249857B CN106249857B (zh) 2018-06-29

Family

ID=57626890

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511028163.1A Active CN106249857B (zh) 2015-12-31 2015-12-31 一种显示转换方法、装置及终端设备

Country Status (1)

Country Link
CN (1) CN106249857B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107349604A (zh) * 2017-07-06 2017-11-17 苏州蜗牛数字科技股份有限公司 一种云配置游戏3d模式参数的系统及方法
CN108513671A (zh) * 2017-01-26 2018-09-07 华为技术有限公司 一种2d应用在vr设备中的显示方法及终端
CN114780190A (zh) * 2022-04-13 2022-07-22 脸萌有限公司 消息处理方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1369857A (zh) * 2001-02-15 2002-09-18 矽统科技股份有限公司 可调整立体效果的三维空间图像转换的装置及其方法
CN101266546A (zh) * 2008-05-12 2008-09-17 深圳华为通信技术有限公司 一种实现操作系统三维显示的方法和一种三维操作系统
CN101657839A (zh) * 2007-03-23 2010-02-24 汤姆森许可贸易公司 用于对2d图像进行区域分类以进行2d至3d转换的系统和方法
CN102163145A (zh) * 2011-01-30 2011-08-24 上海全景数字技术有限公司 在机顶盒上兼容3d和2d应用的方法
CN102520970A (zh) * 2011-12-28 2012-06-27 Tcl集团股份有限公司 一种立体用户界面的生成方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1369857A (zh) * 2001-02-15 2002-09-18 矽统科技股份有限公司 可调整立体效果的三维空间图像转换的装置及其方法
CN101657839A (zh) * 2007-03-23 2010-02-24 汤姆森许可贸易公司 用于对2d图像进行区域分类以进行2d至3d转换的系统和方法
CN101266546A (zh) * 2008-05-12 2008-09-17 深圳华为通信技术有限公司 一种实现操作系统三维显示的方法和一种三维操作系统
CN102163145A (zh) * 2011-01-30 2011-08-24 上海全景数字技术有限公司 在机顶盒上兼容3d和2d应用的方法
CN102520970A (zh) * 2011-12-28 2012-06-27 Tcl集团股份有限公司 一种立体用户界面的生成方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108513671A (zh) * 2017-01-26 2018-09-07 华为技术有限公司 一种2d应用在vr设备中的显示方法及终端
US11294533B2 (en) 2017-01-26 2022-04-05 Huawei Technologies Co., Ltd. Method and terminal for displaying 2D application in VR device
CN107349604A (zh) * 2017-07-06 2017-11-17 苏州蜗牛数字科技股份有限公司 一种云配置游戏3d模式参数的系统及方法
CN114780190A (zh) * 2022-04-13 2022-07-22 脸萌有限公司 消息处理方法、装置、电子设备及存储介质
CN114780190B (zh) * 2022-04-13 2023-12-22 脸萌有限公司 消息处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN106249857B (zh) 2018-06-29

Similar Documents

Publication Publication Date Title
JP4463215B2 (ja) 立体化処理装置及び立体情報端末
CN106227327A (zh) 一种显示转换方法、装置及终端设备
CN103155579B (zh) 3d图像显示设备及其显示方法
US20190043245A1 (en) Information processing apparatus, information processing system, information processing method, and program
US20210312696A1 (en) Method and apparatus for displaying personalized face of three-dimensional character, device, and storage medium
CN106249857A (zh) 一种显示转换方法、装置及终端设备
CN101477702B (zh) 计算机显卡的植入式真三维立体驱动方法
CN112446939A (zh) 三维模型动态渲染方法、装置、电子设备及存储介质
CN107025877A (zh) 一种显示设备及其分屏显示方法
Li et al. Enhancing 3d applications using stereoscopic 3d and motion parallax
US20040212612A1 (en) Method and apparatus for converting two-dimensional images into three-dimensional images
US20140300713A1 (en) Stereoscopic three dimensional projection and display
CN108038916A (zh) 一种增强现实的显示方法
CN102984483B (zh) 一种三维用户界面显示系统及方法
KR101874760B1 (ko) 정보 처리 장치, 제어 방법 및 기록 매체
JP6004354B2 (ja) 画像データ処理装置及び画像データ処理方法
JP7210131B2 (ja) 情報処理装置、情報処理方法及びプログラム
CN107179822B (zh) 信息处理方法及装置、显示设备及计算机存储介质
US20170168687A1 (en) Image processing method and apparatus for operating in low-power mode
KR102082894B1 (ko) 오브젝트 표시 장치, 방법 및 이러한 방법을 수행하는 컴퓨터 판독 가능 매체에 저장된 프로그램
CN111405262B (zh) 一种视点信息生成方法、装置、系统、设备和介质
US10225655B1 (en) Stereo user interface elements placed in 3D space for virtual reality applications in head mounted displays
KR101242764B1 (ko) 입체 3d 영상과 gpu를 이용한 입체 증강현실 영상 생성 장치 및 방법
CN114424149A (zh) 信息处理装置、信息处理方法、服务器装置和程序
WO1998043442A1 (en) Multiple viewpoint image generation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20180720

Address after: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Patentee after: Shenzhen super Technology Co., Ltd.

Address before: 518053 East Guangdong H-1 East 101, overseas Chinese town, Nanshan District, Shenzhen.

Patentee before: Shenzhen SuperD Photoelectronic Co., Ltd.

TR01 Transfer of patent right