CN106227327A - 一种显示转换方法、装置及终端设备 - Google Patents
一种显示转换方法、装置及终端设备 Download PDFInfo
- Publication number
- CN106227327A CN106227327A CN201511028626.4A CN201511028626A CN106227327A CN 106227327 A CN106227327 A CN 106227327A CN 201511028626 A CN201511028626 A CN 201511028626A CN 106227327 A CN106227327 A CN 106227327A
- Authority
- CN
- China
- Prior art keywords
- assembly
- scene
- display
- mark
- stereo
- 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
- 238000000034 method Methods 0.000 title claims abstract description 126
- 238000006243 chemical reaction Methods 0.000 claims abstract description 222
- 230000008569 process Effects 0.000 claims description 25
- 230000003993 interaction Effects 0.000 claims description 20
- 239000011159 matrix material Substances 0.000 description 42
- 230000000694 effects Effects 0.000 description 34
- 239000007787 solid Substances 0.000 description 29
- 210000001508 eye Anatomy 0.000 description 16
- 230000000712 assembly Effects 0.000 description 15
- 238000000429 assembly Methods 0.000 description 15
- 238000013461 design Methods 0.000 description 13
- 238000002372 labelling Methods 0.000 description 13
- 230000009466 transformation Effects 0.000 description 12
- 230000008859 change Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 239000011800 void material Substances 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 239000000203 mixture Substances 0.000 description 6
- 241000208340 Araliaceae Species 0.000 description 5
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 5
- 235000003140 Panax quinquefolius Nutrition 0.000 description 5
- 235000008434 ginseng Nutrition 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 1
- 210000005252 bulbus oculi Anatomy 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000029058 respiratory gaseous exchange Effects 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/01—Indexing scheme relating to G06F3/01
- G06F2203/012—Walk-in-place systems for allowing a user to walk in a virtual environment while constraining him to a given position in the physical environment
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
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显示的原理光路示意图。
图6表示本发明实施例五提供的显示转换方法的流程图;
图7表示本发明实施例六提供的显示转换方法的流程图;
图8表示图7所述的显示转换方法实施例所显示的一种用户交互界面示意图;
图9表示本发明实施例七提供的显示转换装置的结构框图;
图10表示本发明实施例八提供的显示转换装置的结构框图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
针对现有技术中采用线性的方式将普通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应用的立体显示效果。
具体实施中,在开发或编辑人员利用第二应用为应用程序的虚拟场景的组件配置立体显示参数时,单凭组件标识开发或编辑人员并不能明确组件标识与组件的对应关系,因此,针对这种情况,在本发明的一个实施例中,在第二应用反馈的显示配置文件中,组件标识所对应的立体显示参数中包括用于指示所述组件标识对应的组件隐藏的隐藏指示信息,该隐藏指示信息可以为一特殊值。这样,在步骤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显示的原理光路示意图。如图所示,为了进行立体显示,将虚拟单眼摄像机进行左右移动,产生左右眼摄像机,左眼摄像机和右眼摄像机之间的距离为视间距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为右视图变换矩阵后的坐标,则:
还需要说明的是,参见图5,从人眼到距离为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应用的立体显示效果。
与前述图1所示的方法实施例相对应,本发明实施例还提供一种终端设备,包括壳体、处理器、存储器、显示器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:
获取应用程序的虚拟场景的组件的组件标识;
将获取的组件标识发送给设置在第二终端的第二应用,以使第二应用获取与组件标识对应的组件的立体显示参数,并根据组件标识和立体显示参数生成显示配置文件;
接收第二应用发送的显示配置文件,显示配置文件中包括组件标识和与组件标识对应的立体显示参数;
根据显示配置文件中的组件标识和与组件标识对应的立体显示参数,构建并显示虚拟场景中的与组件标识对应的组件的立体图像,从而实现将应用程序的虚拟场景中的组件转换为立体显示。
本发明实施例提供的终端设备,通过组件标识来标记出需要转换的应用程序的虚拟场景的组件,获取组件标识并发送给第二应用,第二应用为每个组件设置立体显示参数,并在显示配置文件中利用组件标识和立体显示参数的对应关系将各个组件分别对应的立体显示参数反馈给终端设备,终端设备根据组件标识就可获知各个组件分别的立体显示参数,并按照各组件的立体显示参数分别对各组件进行立体显示,从而实现将应用程序的虚拟场景中的组件转换成立体显示。也就是说,本发明实施例通过组件标识的设计,可以分别为每个组件设置立体显示参数从而进行显示转换,即可以对2D应用的虚拟场景进行非线性的显示转换从而将2D应用转换为3D应用,能够有效避免出现显示转换后立体效果不佳、立体效果错误等问题,有效提升将2D应用转换为3D应用的立体显示效果。
具体的,所述终端设备可以是手机,个人计算机、平板电脑、游戏机、PDA等具有显示功能的电子设备,本发明对此不做限定。
与前述图2所示的方法实施例相对应,本发明实施例提供一种终端设备,包括壳体、处理器、存储器、显示器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:
接收设置在第一终端的第一应用发送的、第一终端上设置的应用程序的虚拟场景的组件的组件标识;
获取与组件标识对应的组件的立体显示参数;
根据接收的组件标识和获取的立体显示参数,生成显示配置文件,显示配置文件中包括组件标识和与组件标识对应的立体显示参数;
将显示配置文件发送给第一应用,以使第一应用根据显示配置文件中的组件标识和与组件标识对应的立体显示参数,构建并显示虚拟场景中的与组件标识对应的组件的立体图像,从而实现将应用程序的虚拟场景中的组件转换为立体显示。
具体的,该终端设备可以是手机,个人计算机、平板电脑、个人数字助理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个组件。
其中,全局立体显示参数中也可包括转换指示参数,那么在进行另外三个组件的显示转换前,第一应用先利用全局的转换指示参数判断组件是否要进行显示转换,然后进行后续的处理,该判断过程和后续的处理与前述单独配置立体显示参数的组件处理方式相类似,这里不再赘述。
可以理解的是,具体实施中相同的组件可能出现在不同虚拟场景中,而且在不同的场景中该组件所需要的立体显示效果可能是不同的,针对这种情况,,在前述图1所示的方法实施例的基础上,本发明实施例又提供一种显示转换的方法,由第一应用执行,可以使不同虚拟场景的相同组件的立体显示效果可以分别配置。如图6所示,本实施例提供的显示转换方法包括:
步骤60、接收设置在第二终端上的第二应用发送的场景图像获取指示,场景图像获取指示中包括场景标签信息。
其中,场景标签的作用是,后续第一应用获取了虚拟场景的相关信息后,将这些信息与场景标签相关联反馈给第二应用,第二应用在接收到大量数据的情况下,可利用场景标签调取与场景标签关联的相关信息,达到从大量数据中定位相关信息的目的。
其中,场景标签可以第二应用按照一定方式随机生成的,也可以是用户输入的,该场景标签具体为何形式不限,例如,场景标签可以为“启动画面”“,”“第一关游戏场景”等等。
步骤61、根据接收的场景图像获取指示,获取应用程序的第一虚拟场景的图像数据、场景标识和组件的组件标识。
需要说明的是,本实施例以应用程序所提供的第一虚拟场景为例进行说明,可以理解的是,其他虚拟场景的处理与第一虚拟场景完全相同,这里不再赘述。
与前述图1的实施例不同,本实施例中除了组件标识外,提出了场景标识,即一个组件通过场景标识和组件标识同时标记,即使组件标识相同,场景标识不同,这样使得不同场景的相同组件得以区分。第一应用需要获取第一虚拟场景的场景标识并发送给第二应用,第二应用获取到场景标识和组件标识后,可以获取组件的立体显示参数,并在显示配置文件中利用场景标识、组件标识和立体显示参数的对应关系(即这三者相对应)将各个组件分别对应的立体显示参数反馈给第一应用,第一应用根据场景标识和组件标识就可获知各个虚拟场景的各个组件各自分别的立体显示参数,并按照各组件的立体显示参数分别对各组件进行立体显示,从而实现将应用程序的虚拟场景中的组件转换成立体显示,由于通过组件标识和场景标识通过标记立体显示参数,因此,不同场景的相同组件也可以独立配置立体显示参数。
举例而言,如果应用程序是基于OpenGL等开发的,本步骤中,可以获取应用程序的第一虚拟场景的组件的着色器数据(也称着色器语言),根据组件的着色器数据,获取组件的组件标识,即利用组件的原始着色器数据得到组件标识,进一步根据所获取的组件标识,获取第一虚拟场景的场景标识。具体的,可对着色器数据进行循环冗余校验码CRC(Cyclic Redundancy Check)处理,从而获取与着色器数据关联的着色器哈希值,将着色器哈希值作为组件的组件标识。
为了便于运算处理,在本发明的一个实施例中,组件的场景标识可以为该虚拟场景的所有组件的组件标识所形成的数组或集合。举例说明,虚拟场景S由6个组件组成,这六个组件的组件标识分别为A、B、C、D、E、F,该虚拟场景的场景标识为(A、B、C、D、E、F),即该数组既是场景标识,同时也包括了组件标识,这样,显示配置文件中不需要分别的场景标识和组件标识,方便数据的获取和运算处理。具体的,在组件标识为着色器哈希值的情况下,场景标识可为该虚拟场景的所有组件的着色器哈希值的集合。
当然,可以理解的是,本发明对组件标识和场景标识具体如何设计不做限定,着色器哈希值仅为示例,本领域技术人员可以任意选择合理的方式。
步骤62、将第一虚拟场景的场景标签信息、图像信息、场景标识和组件标识发送给第二应用。
本步骤中,第一应用将第一虚拟场景的图像信息、场景标识和组件标识与场景标签信息相关联发送给第二应用。第一应用可以把获取的多个虚拟场景的信息都发送给第二应用,场景标签就能起到标识的作用,第二应用在接收到大量数据的情况下,可利用场景标签调取与场景标签关联的信息,达到从大量数据中定位信息的目的,例如,第二应用利用第一虚拟场景的场景标签信息从大量数据中找到第一虚拟场景的图像信息、场景标识和组件标识。
第二应用收到这些信息后,将记录场景标签信息与图像信息、场景标识和组件标识的对应关系,从而按照场景标签信息,例如,用户例如技术人员选择第一虚拟场景的场景标签时,根据场景标签,查找到该场景标签对应的图像信息,从而根据图像信息显示第一虚拟场景的图像,而且,还可按照场景标签信息,查找即确定出该场景标签对应的场景标识和组件标识,并显示场景标签信息对应的场景标识和组件标识,技术人员可以根据所显示的图像、场景标识和组件标识,明确场景和组件的对应关系,从而为该虚拟场景中的组件配置立体显示参数,第二应用获取到组件的立体显示参数,即获取场景标识和组件标识对应的组件的立体显示参数,并根据场景标识、组件标识和立体显示参数生成显示配置文件,即在显示配置文件中,场景标识、组件标识和立体显示参数三者对应。生成显示配置文件后,第二应用将显示配置文件反馈给第一应用。
步骤63、接收第二应用发送的显示配置文件,显示配置文件中包括第一虚拟场景的场景标识、组件标识和与场景标识和组件标识对应的立体显示参数。
步骤64、根据显示配置文件中的场景标识、组件标识和与场景标识和组件标识对应的立体显示参数,构建并显示与所述场景标识对应的第一虚拟场景中的与所述组件标识对应的组件的立体图像,从而实现将第一虚拟场景中的组件转换为立体显示。
利用场景标识和组件标识的双重标记作用,第一应用可以根据场景标识,在需要对第一虚拟场景进行显示转换时,从显示配置文件中找到该场景标识对应的组件标识以及与场景标识和组件标识相对应的立体显示参数,针对第一虚拟场景中的某个组件,根据其组件标识,从这些与场景标识和组件标识相对应的立体显示参数中获取到与组件标识相对应的立体显示参数,进而利用该立体显示参数对该组件进行立体显示,从而实现了该组件的显示转换。
具体实施中,在应用程序的自运行过程中,如果应用程序需要绘制某场景时,第一应用将重定向绘制过程,从而利用显示配置文件中与该场景的场景标识和组件标识相对应的立体显示参数构建并显示该场景的各个组件的立体图像,例如,重定向到第一应用自定义的显示函数中,该显示函数利用立体配置文件中的立体显示参数作为参数,执行构建并显示立体图像的工作。
举例来讲,在一种具体实施中,在步骤61中根据第一虚拟场景的组件的着色器数据,获取组件的组件标识,根据获取的组件标识,获取第一虚拟场景的场景标识,则在获取组件标识和场景标识后,可记录记录所述组件标识、所述场景标识与所述着色器数据三者的关联关系,然后,在本步骤中,根据预先记录的场景标识与着色器数据的关联关系,在应用程序调用场景标识对应的第一虚拟场景的着色器数据时,根据第一虚拟场景的着色器数据确定场景标识,根据确定出的场景标识获取与场景标识对应的组件标识以及显示配置文件中的与场景标识和组件标识对应的立体显示参数,并根据所述组件标识与所述着色器数据的关联关系,在应用程序调用与组件标识对应的着色器数据时,对调用进行重定向,从而执行根据与所述场景标识、所述组件标识对应的立体显示参数,构建并显示第一虚拟场景中的组件的立体图像。
具体的,若立体显示参数中包括视间距Sep和虚拟摄像机到零视差平面的距离Con,本步骤中,将根据视间距,对虚拟场景中的与组件标识对应的组件的原观察矩阵进行变换,得到新的观察矩阵,根据视间距和虚拟摄像机到零视差平面的距离,对虚拟场景中的与所述组件标识对应的组件的原投影矩阵进行变换,得到新的投影矩阵;然后,根据新的观察矩阵和新的投影矩阵,构建并显示所述虚拟场景中的与所述组件标识对应的组件的立体图像。
本发明实施例的显示转换方法,第二应用将场景标签信息发送给第一应用,第一应用通过场景标识和组件标识来共同标记出需要转换的应用程序的第一虚拟场景的组件,第一应用获取场景标识和组件标识并伴同场景标签信息和场景图像信息发送给第二应用,使第二应用能够根据场景标签、能够从所接收到的较多数据中获得第一虚拟场景的图像以及场景标识和组件标识,图像可以为技术人员提供参考,使技术人员明确组件和场景的对应关系以及组件和组件标识的对应关系,从而使得技术人员可以通过第二应用为第一虚拟场景每个组件设置立体显示参数,第二应用可以获取为每个组件分别配置的立体显示参数,并在显示配置文件中利用场景标识组件标识和立体显示参数的对应关系将各个组件分别对应的立体显示参数反馈给第一应用,第一应用根据场景标识和组件标识就可获知各个虚拟场景的各个组件各自分别的立体显示参数,并按照各组件的立体显示参数分别对各组件进行立体显示,从而实现将应用程序的虚拟场景中的组件转换成立体显示,由于通过组件标识和场景标识通过标记立体显示参数,因此,不同场景的相同组件也可以独立配置立体显示参数。也就是说,本发明实施例通过独特的场景标签、场景标识和组件标识的设计,从技术人员的角度来讲实现了可以分别为各个虚拟场景的每个组件设置立体显示参数从而进行显示转换,即可以对2D应用的虚拟场景进行非线性的显示转换从而将2D应用转换为3D应用,能够有效避免出现显示转换后立体效果不佳、立体效果错误等问题,有效提升将2D应用转换为3D应用的立体显示效果。
具体实施中,在开发或编辑人员利用第二应用为应用程序的虚拟场景的组件配置立体显示参数时,为了使开发或编辑人员明确场景标识、组件标识与组件的对应关系,可选的,在一种具体实施中,显示配置文件中立体显示参数中包括用于指示组件隐藏的隐藏指示信息,在步骤64中,根据隐藏指示消息,隐藏该隐藏指示消息对应的场景标识对应的第一虚拟场景中的与该隐藏指示消息对应的组件标识对应的组件的立体图像。
具体实施中,对于应用程序的虚拟场景而言,有些组件是不需要进行立体显示的,即不需要进行显示转换,针对这种情况,在本发明的一个实施例中,显示配置文件中,立体显示参数中包括用于确定组件是否进行显示转换的转换指示参数,在步骤64中,首先根据所述转换指示参数,确定与转换指示参数对应的场景标识对应的第一虚拟场景中与转换指示参数对应的组件标识对应的组件是否需要进行显示转换,在确定需要进行显示转换时,根据显示配置文件中的与该组件的场景标识和组件标识对应的立体显示参数,构建并显示该组件的立体图像。
具体实施中,对于应用程序的虚拟场景而言,可能部分组件需要进行非线性的显示转换,而部分组件进行线性转换即可,即部分组件使用同样的立体显示参数进行转换即可达到较好的立体显示效果,不需要所有组件都配置单独的立体显示参数。针对这种情况,在本发明的一个实施例中,显示配置文件中,还包括全局立体显示参数,第一应用接收到第二应用发送的显示配置文件后,根据显示配置文件中的全局立体显示参数,构建并显示第一虚拟场景中除与显示配置文件中的场景标识和组件标识对应的组件之外的组件的立体图像,从而实现将所述应用程序的第一虚拟场景中,除与所述显示配置文件中的场景标识和组件标识对应的组件之外的组件转换为立体显示。也就是说,第一应用根据显示配置文件中单独配置了立体显示参数的组件的立体显示参数,构建这些组件的立体图像。并且,第一应用将根据显示配置文件中的全局立体显示参数,构建并显示第一虚拟场景中除单独配置立体显示参数的组件之外的组件的立体图像。
举例来讲,全局立体显示参数中可以为虚拟摄像机到前控制面的距离,在利用全局立体显示参数构建立体图像之前,首先计算第一虚拟场景中除与所述显示配置文件中的场景标识和组件标识对应的组件之外的组件的原始深度信息,然后根据原始深度信息和虚拟摄像机到前控制面的距离,在原始深度信息大于虚拟摄像机到前控制面的距离时,根据全局立体显示参数,构建并显示所述第一虚拟场景中所述原始深度信息所属的组件的立体图像。
需要说明的是,除了场景标识等部分技术特征之外,本实施例与图1所示实施例的技术方案是类似的,因此,本实施例对与前述实施例类似的内容将不做详细说明,具体请参考前述实施例。
与图6所示实施例相对应,本实施例又提供一种显示转换方法,由第二应用执行,可以使不同虚拟场景的相同组件的立体显示效果可以分别配置。如图7所示,本实施例提供的显示转换方法包括:
步骤70,向设置在第一终端上的第一应用发送场景图像获取指示,所述场景图像获取指示中包括场景标签信息。
其中,场景标签的作用是,第一应用获取了虚拟场景的相关信息后,将这些信息与场景标签相关联反馈给第二应用,第二应用在接收到大量数据的情况下,可利用场景标签调取与场景标签关联的相关信息,达到从大量数据中定位相关信息的目的。
其中,场景标签可以第二应用按照一定方式随机生成的,也可以是用户输入的,该场景标签具体为何形式不限,例如,场景标签可以为“启动画面”“,”“第一关游戏场景”等等。
可选的,第二应用可为用户提供人机交互界面,用户可通过该界面输入场景标签信息并下发场景图像存储指令,第二应用接收用户输入的场景标签信息和场景图像存储指令后,向第一应用发送场景图像获取指示,并在场景图像获取指示中携带场景标签信息。
步骤71、接收第一应用发送的、第一终端上设置的应用程序的第一虚拟场景的场景标签信息、图像数据、场景标识和组件的组件标识,记录所述场景标签信息与所述图像信息、所述场景标识和所述组件标识的对应关系;
第一应用将第一虚拟场景的图像信息、场景标识和组件标识与场景标签信息相关联发送给第二应用,第二应用将记录这些数据的对应关系。利用该对应关系,在第二应用在接收到大量数据的情况下,可利用场景标签调取与场景标签关联的信息,达到从大量数据中定位信息的目的,例如,第二应用利用第一虚拟场景的场景标签信息从大量数据中找到第一虚拟场景的图像信息、场景标识和组件标识。
步骤72、按照场景标签信息,根据场景标签信息对应的图像信息显示第一虚拟场景的图像。
步骤73、按照场景标签信息,确定并显示场景标签对应的场景标识和组件标识。
步骤72、73显示后,用户可根据显示的图像以及组件标识、场景标识,获知所述图像、场景标识和组件标识的对应关系。
需要说明的是,步骤72、73的顺序不限,两者可以一个在先一个在后执行也可以同时执行。
第二应用可提供用户交互界面,该界面上可显示有应用程序的多个虚拟场景的场景标签,用户可以从中选择一个场景标签,在用户(技术人员)选择场景标签后,第二根据场景标签,查找到该场景标签对应的图像信息,从而根据图像信息显示第一虚拟场景的图像,而且,还可按照场景标签信息,查找即确定出该场景标签对应的场景标识和组件标识,并显示场景标签信息对应的场景标识和组件标识。
技术人员可以根据所显示的图像、场景标识和组件标识,再进一步配合隐藏指示消息,能够明确场景和组件的对应关系,进而可以为从而为该虚拟场景中的组件配置立体显示参数。
图8为示例性的一种第二应用提供的用户界面的示意图,如图8所示,第一应用显示第一虚拟场景的图像,并在图像上方,显示场景标签、场景标识和组件标识,每个组件的组件标识还对应有立体显示参数输入框,参数A可以为视间距,参数B可以为虚拟摄像机到零视差平面的距离、参数C可以是转换指示参数,当然还可以有其他参数,用户可以通过该输入框输入为第一虚拟场景的组件所配置的立体显示参数。
步骤74、获取与场景标识和组件标识对应的组件的立体显示参数。
本发明实施例对于本步骤中如何获取立体显示参数不做限定,本领域技术人员可以任意选择合理的方式,例如,这些参数可以预先存储在第二终端,第二应用根据组件标识查找并获取,例如,这些参数可以由编辑或开发人员进行配置,例如,这些参数可以通过计算得到……任意合理的方式都是可行的。
步骤75、根据场景标识、组件标识和获取的立体显示参数,生成显示配置文件,所述显示配置文件中包括场景标识、组件标识和与场景标识和组件标识对应的立体显示参数。
第二应用获取到组件的立体显示参数,即获取场景标识和组件标识对应的组件的立体显示参数,并根据场景标识、组件标识和立体显示参数生成显示配置文件,即在显示配置文件中,场景标识、组件标识和立体显示参数三者对应。生成显示配置文件后,第二应用将显示配置文件反馈给第一应用。
步骤76、将显示配置文件发送给所述第一应用。
第一应用接收到显示配置文件后,将根据显示配置文件中的场景标识、组件标识和与所述场景标识和所述组件标识对应的立体显示参数,构建并显示与所述场景标识对应的第一虚拟场景中的与所述组件标识对应的组件的立体图像,从而实现将所述应用程序的第一虚拟场景中的组件转换为立体显示。
本发明实施例的显示转换方法,第二应用将场景标签信息发送给第一应用,第一应用通过场景标识和组件标识来共同标记出需要转换的应用程序的第一虚拟场景的组件,第一应用获取场景标识和组件标识并伴同场景标签信息和场景图像信息发送给第二应用,使第二应用能够根据场景标签、能够从所接收到的较多数据中获得第一虚拟场景的图像以及场景标识和组件标识,图像可以为技术人员提供参考,使技术人员明确组件和场景的对应关系以及组件和组件标识的对应关系,从而使得技术人员可以通过第二应用为第一虚拟场景每个组件设置立体显示参数,第二应用可以获取为每个组件分别配置的立体显示参数,并在显示配置文件中利用场景标识组件标识和立体显示参数的对应关系将各个组件分别对应的立体显示参数反馈给第一应用,第一应用根据场景标识和组件标识就可获知各个虚拟场景的各个组件各自分别的立体显示参数,并按照各组件的立体显示参数分别对各组件进行立体显示,从而实现将应用程序的虚拟场景中的组件转换成立体显示,由于通过组件标识和场景标识通过标记立体显示参数,因此,不同场景的相同组件也可以独立配置立体显示参数。也就是说,本发明实施例通过独特的场景标签、场景标识和组件标识的设计,从技术人员的角度来讲实现了可以分别为各个虚拟场景的每个组件设置立体显示参数从而进行显示转换,即可以对2D应用的虚拟场景进行非线性的显示转换从而将2D应用转换为3D应用,能够有效避免出现显示转换后立体效果不佳、立体效果错误等问题,有效提升将2D应用转换为3D应用的立体显示效果。
可选的,在本发明的一个实施例中,在步骤74前,所述方法还包括:提供人机交互界面,所述人机交互界面上设置有用于参数设置的用户输入框;在步骤74中,根据用户在所述用户输入框中输入的设置数据,获取与所述场景标识和组件标识对应的组件的立体显示参数。
可选的,在本发明一个实施例中,立体显示参数中包括用于指示组件隐藏的隐藏指示信息。
可选的,在本发明一个实施例中,立体显示参数中包括用于确定组件是否进行显示转换的转换指示参数。
可选的,在本发明一个实施例中,在所述生成显示配置文件前,所述方法还包括:
可选的,在步骤75前,所述方法还包括:获取所述应用程序的虚拟场景的组件的全局立体显示参数;则,在步骤75中,根据所述场景标识、组件标识,所述获取的立体显示参数以及所述获取的全局立体显示参数,生成显示配置文件,所述显示配置文件中包括所述场景标识、所述组件标识和所述场景标识和所述组件标识对应的立体显示参数,还包括所述全局立体显示参数,以使所述第一应用根据所述显示配置文件中的场景标识和组件标识和与所述场景标识和组件标识对应的立体显示参数构建并显示与所述场景标识对应的第一虚拟场景中的与所述组件标识对应的组件的立体图像,根据所述显示配置文件中的全局立体显示参数,构建并显示所述第一虚拟场景中除与所述显示配置文件中的场景标识和组件标识对应的组件之外的组件的立体图像。
举例而言,全局立体显示参数中包括虚拟摄像机到前控制面的距离。
与图6所示方法相对应,本发明实施例还提供一种显示转换装置,该装置与前述方法实施例中的第一应用相对应,该装置设置在第一终端,第一终端上还设置有需要进行显示转换的应用程序,如图9所示,本发明实施例提供的显示转换装置包括:
接收模块90,用于接收设置在第二终端上的第二应用发送的场景图像获取指示,所述场景图像获取指示中包括场景标签信息
获取模块91,用于根据所述接收的场景图像获取指示,获取所述应用程序的第一虚拟场景的图像数据、场景标识和组件的组件标识;
发送模块92,用于将所述第一虚拟场景的场景标签信息、图像信息、场景标识和组件标识发送给所述第二应用,以使所述第二应用记录所述场景标签信息与所述图像信息、所述场景标识和所述组件标识的对应关系,从而按照所述场景标签信息,根据所述场景标签对应的图像信息显示所述第一虚拟场景的图像,按照所述场景标签信息,确定并显示所述场景标签信息对应的场景标识和组件标识,并获取所述场景标识和所述组件标识对应的组件的立体显示参数,并根据所述场景标识、所述组件标识和所述立体显示参数生成显示配置文件;
接收模块90,还用于接收所述第二应用发送的显示配置文件,所述显示配置文件中包括所述场景标识、所述组件标识和与所述场景标识和所述组件标识对应的立体显示参数;
显示转换模块93,用于根据所述显示配置文件中的场景标识、组件标识和与所述场景标识和所述组件标识对应的立体显示参数构建并显示与所述场景标识对应的第一虚拟场景中的与所述组件标识对应的组件的立体图像,从而实现将所述应用程序的第一虚拟场景中的组件转换为立体显示。
本发明实施例的显示转换装置,第二应用将场景标签信息发送给显示转换装置,显示转换装置通过场景标识和组件标识来共同标记出需要转换的应用程序的第一虚拟场景的组件,显示转换装置获取场景标识和组件标识并伴同场景标签信息和场景图像信息发送给第二应用,使第二应用能够根据场景标签、能够从所接收到的较多数据中获得第一虚拟场景的图像以及场景标识和组件标识,图像可以为技术人员提供参考,使技术人员明确组件和场景的对应关系以及组件和组件标识的对应关系,从而使得技术人员可以通过第二应用为第一虚拟场景每个组件设置立体显示参数,第二应用可以获取为每个组件分别配置的立体显示参数,并在显示配置文件中利用场景标识组件标识和立体显示参数的对应关系将各个组件分别对应的立体显示参数反馈给显示转换装置,显示转换装置根据场景标识和组件标识就可获知各个虚拟场景的各个组件各自分别的立体显示参数,并按照各组件的立体显示参数分别对各组件进行立体显示,从而实现将应用程序的虚拟场景中的组件转换成立体显示,由于通过组件标识和场景标识通过标记立体显示参数,因此,不同场景的相同组件也可以独立配置立体显示参数。也就是说,本发明实施例通过独特的场景标签、场景标识和组件标识的设计,从技术人员的角度来讲实现了可以分别为各个虚拟场景的每个组件设置立体显示参数从而进行显示转换,即可以对2D应用的虚拟场景进行非线性的显示转换从而将2D应用转换为3D应用,能够有效避免出现显示转换后立体效果不佳、立体效果错误等问题,有效提升将2D应用转换为3D应用的立体显示效果。
可选的,在本发明的一个实施例中,获取模块91用于:
获取所述应用程序的第一虚拟场景的组件的着色器数据,根据所述组件的着色器数据,获取所述组件的组件标识;
根据所述获取的组件标识,获取所述第一虚拟场景的场景标识;
所述装置还包括记录模块,用于记录所述组件标识、所述场景标识与所述着色器数据的关联关系;
显示转换模块93用于:
根据预先记录的所述场景标识与所述着色器数据的关联关系,在所述应用程序调用所述场景标识对应的第一虚拟场景的着色器数据时,根据所述第一虚拟场景的着色器数据确定场景标识,根据所述确定的场景标识获取与所述场景标识对应的组件标识以及与所述场景标识和组件标识对应的立体显示参数,并根据所述组件标识与所述着色器数据的关联关系,在所述应用程序调用与所述组件标识对应的着色器数据时,对所述调用进行重定向,从而执行根据所述显示配置文件中的与所述场景标识、所述组件标识对应的立体显示参数,构建并显示所述第一虚拟场景中的组件的立体图像。
进一步具体的,获取模块91用于:
对所述着色器数据进行循环冗余校验码CRC处理,从而获取与所述着色器数据关联的着色器哈希值,将所述着色器哈希值作为所述组件的组件标识。
举例而言,所述场景标识为由所述第一虚拟场景的所有组件的组件标识所构成的数组。
可选的,在本发明的一个实施例中,所述显示配置文件中,所述组件标识所对应的立体显示参数中包括用于指示组件隐藏的隐藏指示信息;
显示转换模块93用于:根据所述隐藏指示消息,隐藏所述场景标识对应的第一虚拟场景中的与所述组件标识对应的组件的立体图像。
可选的,在本发明的一个实施例中,所述显示配置文件中,所述立体显示参数中包括确定组件是否进行显示转换的转换指示参数;
显示转换模块93用于:
根据所述转换指示参数,确定所述场景标识对应的第一虚拟场景中与所述组件标识对应的组件是否需要进行显示转换;
在确定与所述场景标识和组件标识对应的组件需要进行显示转换时,根据所述显示配置文件中的场景标识、组件标识和与所述场景标识和组件标识对应的立体显示参数,构建并显示与所述场景标识对应的第一虚拟场景中的与所述组件标识对应的组件的立体图像。
可选的,在本发明的一个实施例中,所述显示配置文件中还包括全局立体显示参数;
显示转换模块93还用于:
根据所述显示配置文件中的全局立体显示参数,构建并显示所述第一虚拟场景中除与所述显示配置文件中的场景标识和组件标识对应的组件之外的组件的立体图像,从而实现将所述应用程序的第一虚拟场景中,除与所述显示配置文件中的场景标识和组件标识对应的组件之外的组件转换为立体显示。
可选的,在本发明的一个实施例中,所述全局立体显示参数中包括虚拟摄像机到前控制面的距离;
显示转换模块93用于:
计算所述第一虚拟场景中除与所述显示配置文件中的场景标识和组件标识对应的组件之外的组件的原始深度信息;
根据所述原始深度信息和所述虚拟摄像机到前控制面的距离,在所述原始深度信息大于所述虚拟摄像机到前控制面的距离时,根据所述全局立体显示参数,构建并显示所述第一虚拟场景中所述原始深度信息所属的组件的立体图像。
与前述图7所示方法实施例相对应,本发明实施例又提供一种显示转换装置,该装置与前述方法实施例中的第二应用相对应,该装置设置在第二终端,如图10所示,该装置包括:
发送模块101,用于向所述设置在第一终端上的第一应用发送场景图像获取指示,所述场景图像获取指示中包括场景标签信息;
第一接收模块102,用于接收所述第一应用发送的、所述第一终端上设置的应用程序的第一虚拟场景的场景标签信息、图像数据、场景标识和组件的组件标识;
记录模块103,用于记录所述场景标签信息与所述图像信息、所述场景标识和所述组件标识的对应关系;
显示模块104,用于按照所述场景标签信息,根据所述场景标签信息对应的图像信息显示所述第一虚拟场景的图像,按照所述场景标签信息,确定并显示所述场景标签对应的场景标识和组件标识,以使用户获知所述图像、场景标识和组件标识的对应关系;
参数获取模块105,用于获取与所述场景标识和组件标识对应的组件的立体显示参数;
文件生成模块106,用于根据所述场景标识、组件标识和所述获取的立体显示参数,生成显示配置文件,所述显示配置文件中包括所述场景标识、组件标识和与所述场景标识和组件标识对应的立体显示参数;
发送模块101,还用于将所述显示配置文件发送给所述第一应用,以使所述第一应用根据所述显示配置文件中的场景标识、组件标识和与所述场景标识和所述组件标识对应的立体显示参数构建并显示与所述场景标识对应的第一虚拟场景中的与所述组件标识对应的组件的立体图像,从而实现将所述应用程序的第一虚拟场景中的组件转换为立体显示。
本发明实施例的显示转换装置,显示转换装置将场景标签信息发送给第一应用,第一应用通过场景标识和组件标识来共同标记出需要转换的应用程序的第一虚拟场景的组件,第一应用获取场景标识和组件标识并伴同场景标签信息和场景图像信息发送给显示转换装置,使显示转换装置能够根据场景标签、能够从所接收到的较多数据中获得第一虚拟场景的图像以及场景标识和组件标识,图像可以为技术人员提供参考,使技术人员明确组件和场景的对应关系以及组件和组件标识的对应关系,从而使得技术人员可以通过显示转换装置为第一虚拟场景每个组件设置立体显示参数,显示转换装置可以获取为每个组件分别配置的立体显示参数,并在显示配置文件中利用场景标识组件标识和立体显示参数的对应关系将各个组件分别对应的立体显示参数反馈给第一应用,第一应用根据场景标识和组件标识就可获知各个虚拟场景的各个组件各自分别的立体显示参数,并按照各组件的立体显示参数分别对各组件进行立体显示,从而实现将应用程序的虚拟场景中的组件转换成立体显示,由于通过组件标识和场景标识通过标记立体显示参数,因此,不同场景的相同组件也可以独立配置立体显示参数。也就是说,本发明实施例通过独特的场景标签、场景标识和组件标识的设计,从技术人员的角度来讲实现了可以分别为各个虚拟场景的每个组件设置立体显示参数从而进行显示转换,即可以对2D应用的虚拟场景进行非线性的显示转换从而将2D应用转换为3D应用,能够有效避免出现显示转换后立体效果不佳、立体效果错误等问题,有效提升将2D应用转换为3D应用的立体显示效果。
可选的,在本发明的一个实施例中,所述装置还包括:
第二接收模块,用于接收用户输入的场景标签信息。
可选的,在本发明的一个实施例中,所述装置还包括界面提供模块,用于提供人机交互界面,所述人机交互界面上设置有用于参数设置的用户输入框;
参数获取模块105用于:根据用户在所述用户输入框中输入的设置数据,获取与所述场景标识和组件标识对应的组件的立体显示参数。
可选的,在本发明的一个实施例中,所述立体显示参数中包括用于指示组件隐藏的隐藏指示信息。
可选的,在本发明的一个实施例中,所述立体显示参数中包括用于确定组件是否进行显示转换的转换指示参数。
可选的,在本发明的一个实施例中,参数获取模块105还用于:
获取所述应用程序的第一虚拟场景的组件的全局立体显示参数;
文件生成模块106用于:
根据所述场景标识、组件标识,所述获取的立体显示参数以及所述获取的全局立体显示参数,生成显示配置文件,所述显示配置文件中包括所述场景标识、所述组件标识和所述场景标识和所述组件标识对应的立体显示参数,还包括所述全局立体显示参数,以使所述第一应用根据所述显示配置文件中的场景标识和组件标识和与所述场景标识和组件标识对应的立体显示参数构建并显示与所述场景标识对应的第一虚拟场景中的与所述组件标识对应的组件的立体图像,根据所述显示配置文件中的全局立体显示参数,构建并显示所述第一虚拟场景中除与所述显示配置文件中的场景标识和组件标识对应的组件之外的组件的立体图像。
举例而言,所述全局立体显示参数中包括虚拟摄像机到前控制面的距离。
与前述图6所示的方法实施例相对应,本发明实施例提供一种终端设备,包括壳体、处理器、存储器、显示器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:
接收设置在第二终端上的第二应用发送的场景图像获取指示,所述场景图像获取指示中包括场景标签信息;
根据所述接收的场景图像获取指示,获取所述应用程序的第一虚拟场景的图像数据、场景标识和组件的组件标识;
将所述第一虚拟场景的场景标签信息、图像信息、场景标识和组件标识发送给所述第二应用,以使所述第二应用记录所述场景标签信息与所述图像信息、所述场景标识和所述组件标识的对应关系,从而按照所述场景标签信息,根据所述场景标签对应的图像信息显示所述第一虚拟场景的图像,按照所述场景标签信息,确定并显示所述场景标签信息对应的场景标识和组件标识,并获取所述场景标识和所述组件标识对应的组件的立体显示参数,并根据所述场景标识、所述组件标识和所述立体显示参数生成显示配置文件;
接收所述第二应用发送的显示配置文件,所述显示配置文件中包括所述场景标识、所述组件标识和与所述场景标识和所述组件标识对应的立体显示参数;
根据所述显示配置文件中的场景标识、组件标识和与所述场景标识和所述组件标识对应的立体显示参数构建并显示与所述场景标识对应的第一虚拟场景中的与所述组件标识对应的组件的立体图像,从而实现将所述第一虚拟场景中的组件转换为立体显示。
本发明实施例的终端设备,第二应用将场景标签信息发送给终端设备,终端设备通过场景标识和组件标识来共同标记出需要转换的应用程序的第一虚拟场景的组件,终端设备获取场景标识和组件标识并伴同场景标签信息和场景图像信息发送给第二应用,使第二应用能够根据场景标签、能够从所接收到的较多数据中获得第一虚拟场景的图像以及场景标识和组件标识,图像可以为技术人员提供参考,使技术人员明确组件和场景的对应关系以及组件和组件标识的对应关系,从而使得技术人员可以通过第二应用为第一虚拟场景每个组件设置立体显示参数,第二应用可以获取为每个组件分别配置的立体显示参数,并在显示配置文件中利用场景标识组件标识和立体显示参数的对应关系将各个组件分别对应的立体显示参数反馈给终端设备,终端设备根据场景标识和组件标识就可获知各个虚拟场景的各个组件各自分别的立体显示参数,并按照各组件的立体显示参数分别对各组件进行立体显示,从而实现将应用程序的虚拟场景中的组件转换成立体显示,由于通过组件标识和场景标识通过标记立体显示参数,因此,不同场景的相同组件也可以独立配置立体显示参数。也就是说,本发明实施例通过独特的场景标签、场景标识和组件标识的设计,从技术人员的角度来讲实现了可以分别为各个虚拟场景的每个组件设置立体显示参数从而进行显示转换,即可以对2D应用的虚拟场景进行非线性的显示转换从而将2D应用转换为3D应用,能够有效避免出现显示转换后立体效果不佳、立体效果错误等问题,有效提升将2D应用转换为3D应用的立体显示效果。
具体的,所述终端设备可以是手机,个人计算机、平板电脑、游戏机、PDA等具有显示功能的电子设备,本发明对此不做限定。
与前述图7所示的方法实施例相对应,本发明实施例提供一种终端设备,包括壳体、处理器、存储器、显示器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:
向所述设置在第一终端上的第一应用发送场景图像获取指示,所述场景图像获取指示中包括场景标签信息;
接收所述第一应用发送的、所述第一终端上设置的应用程序的第一虚拟场景的场景标签信息、图像数据、场景标识和组件的组件标识,记录所述场景标签信息与所述图像信息、所述场景标识和所述组件标识的对应关系;
按照所述场景标签信息,根据所述场景标签信息对应的图像信息显示所述第一虚拟场景的图像,按照所述场景标签信息,确定并显示所述场景标签对应的场景标识和组件标识,以使用户获知所述图像、场景标识和组件标识的对应关系;
获取与所述场景标识和组件标识对应的组件的立体显示参数;
根据所述场景标识、组件标识和所述获取的立体显示参数,生成显示配置文件,所述显示配置文件中包括所述场景标识、组件标识和与所述场景标识和组件标识对应的立体显示参数;
将所述显示配置文件发送给所述第一应用,以使所述第一应用根据所述显示配置文件中的场景标识、组件标识和与所述场景标识和所述组件标识对应的立体显示参数构建并显示与所述场景标识对应的第一虚拟场景中的与所述组件标识对应的组件的立体图像,从而实现将所述应用程序的第一虚拟场景中的组件转换为立体显示。
本发明实施例的终端设备,终端设备将场景标签信息发送给第一应用,第一应用通过场景标识和组件标识来共同标记出需要转换的应用程序的第一虚拟场景的组件,第一应用获取场景标识和组件标识并伴同场景标签信息和场景图像信息发送给终端设备,使终端设备能够根据场景标签、能够从所接收到的较多数据中获得第一虚拟场景的图像以及场景标识和组件标识,图像可以为技术人员提供参考,使技术人员明确组件和场景的对应关系以及组件和组件标识的对应关系,从而使得技术人员可以通过终端设备为第一虚拟场景每个组件设置立体显示参数,终端设备可以获取为每个组件分别配置的立体显示参数,并在显示配置文件中利用场景标识组件标识和立体显示参数的对应关系将各个组件分别对应的立体显示参数反馈给第一应用,第一应用根据场景标识和组件标识就可获知各个虚拟场景的各个组件各自分别的立体显示参数,并按照各组件的立体显示参数分别对各组件进行立体显示,从而实现将应用程序的虚拟场景中的组件转换成立体显示,由于通过组件标识和场景标识通过标记立体显示参数,因此,不同场景的相同组件也可以独立配置立体显示参数。也就是说,本发明实施例通过独特的场景标签、场景标识和组件标识的设计,从技术人员的角度来讲实现了可以分别为各个虚拟场景的每个组件设置立体显示参数从而进行显示转换,即可以对2D应用的虚拟场景进行非线性的显示转换从而将2D应用转换为3D应用,能够有效避免出现显示转换后立体效果不佳、立体效果错误等问题,有效提升将2D应用转换为3D应用的立体显示效果。
具体的,所述终端设备可以是手机,个人计算机、平板电脑、游戏机、PDA等具有显示功能的电子设备,本发明对此不做限定。
需要强调的是,对于装置和终端设备实施例而言,可以用以执行其各自对应的方法实施例的技术方案,其实现原理和技术效果类似,即其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (32)
1.一种显示转换方法,其特征在于,所述方法应用于第一应用,所述第一应用设置在第一终端,所述第一终端上还设置有需要进行显示转换的应用程序,所述方法包括:
接收设置在第二终端上的第二应用发送的场景图像获取指示,所述场景图像获取指示中包括场景标签信息;
根据所述接收的场景图像获取指示,获取所述应用程序的第一虚拟场景的图像数据、场景标识和组件的组件标识;
将所述第一虚拟场景的场景标签信息、图像信息、场景标识和组件标识发送给所述第二应用,以使所述第二应用记录所述场景标签信息与所述图像信息、所述场景标识和所述组件标识的对应关系,从而按照所述场景标签信息,根据所述场景标签对应的图像信息显示所述第一虚拟场景的图像,按照所述场景标签信息,确定并显示所述场景标签信息对应的场景标识和组件标识,并获取所述场景标识和所述组件标识对应的组件的立体显示参数,并根据所述场景标识、所述组件标识和所述立体显示参数生成显示配置文件;
接收所述第二应用发送的显示配置文件,所述显示配置文件中包括所述场景标识、所述组件标识和与所述场景标识和所述组件标识对应的立体显示参数;
根据所述显示配置文件中的场景标识、组件标识和与所述场景标识和所述组件标识对应的立体显示参数,构建并显示与所述场景标识对应的第一虚拟场景中的与所述组件标识对应的组件的立体图像,从而实现将所述第一虚拟场景中的组件转换为立体显示。
2.根据权利要求1所述的显示转换方法,其特征在于,所述获取所述应用程序的第一虚拟场景的场景标识和组件的组件标识包括:
获取所述应用程序的第一虚拟场景的组件的着色器数据,根据所述组件的着色器数据,获取所述组件的组件标识;
根据所述获取的组件标识,获取所述第一虚拟场景的场景标识;
在获取所述组件的组件标识和场景标识后,所述方法还包括:
记录所述组件标识、所述场景标识与所述着色器数据的关联关系;
所述根据所述显示配置文件中的场景标识、组件标识和与所述场景标识和所述组件标识对应的立体显示参数,构建并显示与所述场景标识对应的第一虚拟场景中的与所述组件标识对应的组件的立体图像包括:
根据预先记录的所述场景标识与所述着色器数据的关联关系,在所述应用程序调用所述场景标识对应的第一虚拟场景的着色器数据时,根据所述第一虚拟场景的着色器数据确定场景标识,根据所述确定的场景标识获取与所述场景标识对应的组件标识以及与所述场景标识和组件标识对应的立体显示参数,并根据所述组件标识与所述着色器数据的关联关系,在所述应用程序调用与所述组件标识对应的着色器数据时,对所述调用进行重定向,从而执行根据所述显示配置文件中的与所述场景标识、所述组件标识对应的立体显示参数,构建并显示所述第一虚拟场景中的组件的立体图像。
3.根据权利要求2所述的显示转换方法,其特征在于,所述根据所述组件的着色器数据,获取所述组件的组件标识包括:
对所述着色器数据进行循环冗余校验码CRC处理,从而获取与所述着色器数据关联的着色器哈希值,将所述着色器哈希值作为所述组件的组件标识。
4.根据权利要求2所述的显示转换方法,其特征在于,
所述场景标识为由所述第一虚拟场景的所有组件的组件标识所构成的数组。
5.根据权利要求1-4任一项所述的显示转换方法,其特征在于,所述显示配置文件中,所述立体显示参数中包括用于指示组件隐藏的隐藏指示信息;
所述根据所述显示配置文件中的场景标识、组件标识和与所述场景标识和所述组件标识对应的立体显示参数,构建并显示与所述场景标识对应的第一虚拟场景中的与所述组件标识对应的组件的立体图像包括:
根据所述隐藏指示消息,隐藏所述场景标识对应的第一虚拟场景中的与所述组件标识对应的组件的立体图像。
6.根据权利要求1-5任一项所述的显示转换方法,其特征在于,所述显示配置文件中,所述立体显示参数中包括用于确定组件是否进行显示转换的转换指示参数;
所述根据所述显示配置文件中的场景标识、组件标识和与所述场景标识和 所述组件标识对应的立体显示参数,构建并显示所述场景标识对应的第一虚拟场景中的与所述组件标识对应的组件的立体图像包括:
根据所述转换指示参数,确定与所述场景标识对应的第一虚拟场景中与所述组件标识对应的组件是否需要进行显示转换;
在确定需要进行显示转换时,根据所述显示配置文件中的场景标识、组件标识和与所述场景标识和所述组件标识对应的立体显示参数,构建并显示与所述场景标识对应的第一虚拟场景中的与所述组件标识对应的组件的立体图像。
7.根据权利要求1-6任一项所述的显示转换方法,其特征在于,所述显示配置文件中,还包括全局立体显示参数;
所述接收所述第二应用发送的显示配置文件后,所述方法还包括:
根据所述显示配置文件中的全局立体显示参数,构建并显示所述第一虚拟场景中除与所述显示配置文件中的场景标识和组件标识对应的组件之外的组件的立体图像,从而实现将所述应用程序的第一虚拟场景中,除与所述显示配置文件中的场景标识和组件标识对应的组件之外的组件转换为立体显示。
8.根据权利要求7所述的显示转换方法,其特征在于,所述全局立体显示参数中包括虚拟摄像机到前控制面的距离;
所述根据所述显示配置文件中的全局立体显示参数,构建并显示所述第一虚拟场景中除与所述显示配置文件中的场景标识和组件标识对应的组件之外的组件的立体图像包括:
计算所述第一虚拟场景中除与所述显示配置文件中的场景标识和组件标识对应的组件之外的组件的原始深度信息;
根据所述原始深度信息和所述虚拟摄像机到前控制面的距离,在所述原始深度信息大于所述虚拟摄像机到前控制面的距离时,根据所述全局立体显示参数,构建并显示所述第一虚拟场景中所述原始深度信息所属的组件的立体图像。
9.一种显示转换方法,其特征在于,所述方法应用于第二应用,所述第二应用设置在第二终端,所述方法包括:
向所述设置在第一终端上的第一应用发送场景图像获取指示,所述场景图像获取指示中包括场景标签信息;
接收所述第一应用发送的、所述第一终端上设置的应用程序的第一虚拟场 景的场景标签信息、图像数据、场景标识和组件的组件标识,记录所述场景标签信息与所述图像信息、所述场景标识和所述组件标识的对应关系;
按照所述场景标签信息,根据所述场景标签信息对应的图像信息显示所述第一虚拟场景的图像,按照所述场景标签信息,确定并显示所述场景标签对应的场景标识和组件标识,以使用户获知所述图像、场景标识和组件标识的对应关系;
获取与所述场景标识和组件标识对应的组件的立体显示参数;
根据所述场景标识、组件标识和所述获取的立体显示参数,生成显示配置文件,所述显示配置文件中包括所述场景标识、组件标识和与所述场景标识和组件标识对应的立体显示参数;
将所述显示配置文件发送给所述第一应用,以使所述第一应用根据所述显示配置文件中的场景标识、组件标识和与所述场景标识和所述组件标识对应的立体显示参数构建并显示与所述场景标识对应的第一虚拟场景中的与所述组件标识对应的组件的立体图像,从而实现将所述应用程序的第一虚拟场景中的组件转换为立体显示。
10.根据权利要求9所述的显示转换方法,其特征在于,在所述向所述设置在第一终端上的第一应用发送场景图像获取指示前,所述方法还包括:
接收用户输入的场景标签信息。
11.根据权利要求9所述的显示转换方法,其特征在于,在所述获取与所述场景标识和组件标识对应的组件的立体显示参数前,所述方法还包括:
提供人机交互界面,所述人机交互界面上设置有用于参数设置的用户输入框;
所述获取与所述场景标识和组件标识对应的组件的立体显示参数包括:
根据用户在所述用户输入框中输入的设置数据,获取与所述场景标识和组件标识对应的组件的立体显示参数。
12.根据权利要求9至11任一项所述的显示转换方法,其特征在于,所述立体显示参数中包括用于指示组件隐藏的隐藏指示信息。
13.根据权利要求9至12任一项所述的显示转换方法,其特征在于,所述立体显示参数中包括用于确定组件是否进行显示转换的转换指示参数。
14.根据权利要求9至13任一项所述的显示转换方法,其特征在于,在所述生成显示配置文件前,所述方法还包括:
获取所述应用程序的虚拟场景的组件的全局立体显示参数;
所述根据所述场景标识、组件标识和所述获取的立体显示参数,生成显示配置文件包括:
根据所述场景标识、组件标识,所述获取的立体显示参数以及所述获取的全局立体显示参数,生成显示配置文件,所述显示配置文件中包括所述场景标识、所述组件标识和所述场景标识和所述组件标识对应的立体显示参数,还包括所述全局立体显示参数,以使所述第一应用根据所述显示配置文件中的场景标识和组件标识和与所述场景标识和组件标识对应的立体显示参数构建并显示与所述场景标识对应的第一虚拟场景中的与所述组件标识对应的组件的立体图像,根据所述显示配置文件中的全局立体显示参数,构建并显示所述第一虚拟场景中除与所述显示配置文件中的场景标识和组件标识对应的组件之外的组件的立体图像。
15.根据权利要求14所述的显示转换方法,其特征在于,所述全局立体显示参数中包括虚拟摄像机到前控制面的距离。
16.一种显示转换装置,其特征在于,所述装置设置在第一终端,所述第一终端上还设置有需要进行显示转换的应用程序,所述装置包括:
接收模块,用于接收设置在第二终端上的第二应用发送的场景图像获取指示,所述场景图像获取指示中包括场景标签信息
获取模块,用于根据所述接收的场景图像获取指示,获取所述应用程序的第一虚拟场景的图像数据、场景标识和组件的组件标识;
发送模块,用于将所述第一虚拟场景的场景标签信息、图像信息、场景标识和组件标识发送给所述第二应用,以使所述第二应用记录所述场景标签信息与所述图像信息、所述场景标识和所述组件标识的对应关系,从而按照所述场景标签信息,根据所述场景标签对应的图像信息显示所述第一虚拟场景的图像,按照所述场景标签信息,确定并显示所述场景标签信息对应的场景标识和组件标识,并获取所述场景标识和所述组件标识对应的组件的立体显示参数,并根据所述场景标识、所述组件标识和所述立体显示参数生成显示配置文件;
所述接收模块,还用于接收所述第二应用发送的显示配置文件,所述显示配置文件中包括所述场景标识、所述组件标识和与所述场景标识和所述组件标识对应的立体显示参数;
显示转换模块,用于根据所述显示配置文件中的场景标识、组件标识和与所述场景标识和所述组件标识对应的立体显示参数构建并显示与所述场景标识对应的第一虚拟场景中的与所述组件标识对应的组件的立体图像,从而实现将所述应用程序的第一虚拟场景中的组件转换为立体显示。
17.根据权利要求16所述的显示转换装置,其特征在于,所述获取模块用于:
获取所述应用程序的第一虚拟场景的组件的着色器数据,根据所述组件的着色器数据,获取所述组件的组件标识;
根据所述获取的组件标识,获取所述第一虚拟场景的场景标识;
所述装置还包括记录模块,用于记录所述组件标识、所述场景标识与所述着色器数据的关联关系;
所述显示转换模块用于:
根据预先记录的所述场景标识与所述着色器数据的关联关系,在所述应用程序调用所述场景标识对应的第一虚拟场景的着色器数据时,根据所述第一虚拟场景的着色器数据确定场景标识,根据所述确定的场景标识获取与所述场景标识对应的组件标识以及与所述场景标识和组件标识对应的立体显示参数,并根据所述组件标识与所述着色器数据的关联关系,在所述应用程序调用与所述组件标识对应的着色器数据时,对所述调用进行重定向,从而执行根据所述显示配置文件中的与所述场景标识、所述组件标识对应的立体显示参数,构建并显示所述第一虚拟场景中的组件的立体图像。
18.根据权利要求17所述的显示转换装置,其特征在于,所述获取模块用于:
对所述着色器数据进行循环冗余校验码CRC处理,从而获取与所述着色器数据关联的着色器哈希值,将所述着色器哈希值作为所述组件的组件标识。
19.根据权利要求17所述的显示转换装置,其特征在于,
所述场景标识为由所述第一虚拟场景的所有组件的组件标识所构成的数 组。
20.根据权利要求16-19任一项所述的显示转换装置,其特征在于,所述显示配置文件中,所述组件标识所对应的立体显示参数中包括用于指示组件隐藏的隐藏指示信息;
所述显示转换模块用于:根据所述隐藏指示消息,隐藏所述场景标识对应的第一虚拟场景中的与所述组件标识对应的组件的立体图像。
21.根据权利要求18-20任一项所述的显示转换装置,其特征在于,所述显示配置文件中,所述立体显示参数中包括确定组件是否进行显示转换的转换指示参数;
所述显示转换模块用于:
根据所述转换指示参数,确定所述场景标识对应的第一虚拟场景中与所述组件标识对应的组件是否需要进行显示转换;
在确定与所述场景标识和组件标识对应的组件需要进行显示转换时,根据所述显示配置文件中的场景标识、组件标识和与所述场景标识和组件标识对应的立体显示参数,构建并显示与所述场景标识对应的第一虚拟场景中的与所述组件标识对应的组件的立体图像。
22.根据权利要求18-21任一项所述的显示转换装置,其特征在于,所述显示配置文件中还包括全局立体显示参数;
所述显示转换模块还用于:
根据所述显示配置文件中的全局立体显示参数,构建并显示所述第一虚拟场景中除与所述显示配置文件中的场景标识和组件标识对应的组件之外的组件的立体图像,从而实现将所述应用程序的第一虚拟场景中,除与所述显示配置文件中的场景标识和组件标识对应的组件之外的组件转换为立体显示。
23.根据权利要求22所述的显示转换装置,其特征在于,所述全局立体显示参数中包括虚拟摄像机到前控制面的距离;
所述显示转换模块用于:
计算所述第一虚拟场景中除与所述显示配置文件中的场景标识和组件标识对应的组件之外的组件的原始深度信息;
根据所述原始深度信息和所述虚拟摄像机到前控制面的距离,在所述原始 深度信息大于所述虚拟摄像机到前控制面的距离时,根据所述全局立体显示参数,构建并显示所述第一虚拟场景中所述原始深度信息所属的组件的立体图像。
24.一种显示转换装置,其特征在于,所述装置设置在第二终端,所述装置包括:
发送模块,用于向所述设置在第一终端上的第一应用发送场景图像获取指示,所述场景图像获取指示中包括场景标签信息;
第一接收模块,用于接收所述第一应用发送的、所述第一终端上设置的应用程序的第一虚拟场景的场景标签信息、图像数据、场景标识和组件的组件标识;
记录模块,用于记录所述场景标签信息与所述图像信息、所述场景标识和所述组件标识的对应关系;
显示模块,用于按照所述场景标签信息,根据所述场景标签信息对应的图像信息显示所述第一虚拟场景的图像,按照所述场景标签信息,确定并显示所述场景标签对应的场景标识和组件标识,以使用户获知所述图像、场景标识和组件标识的对应关系;
参数获取模块,用于获取与所述场景标识和组件标识对应的组件的立体显示参数;
文件生成模块,用于根据所述场景标识、组件标识和所述获取的立体显示参数,生成显示配置文件,所述显示配置文件中包括所述场景标识、组件标识和与所述场景标识和组件标识对应的立体显示参数;
所述发送模块,还用于将所述显示配置文件发送给所述第一应用,以使所述第一应用根据所述显示配置文件中的场景标识、组件标识和与所述场景标识和所述组件标识对应的立体显示参数构建并显示与所述场景标识对应的第一虚拟场景中的与所述组件标识对应的组件的立体图像,从而实现将所述应用程序的第一虚拟场景中的组件转换为立体显示。
25.根据权利要求24所述的显示转换装置,其特征在于,所述装置还包括:
第二接收模块,用于接收用户输入的场景标签信息。
26.根据权利要求24所述的显示转换装置,其特征在于,所述装置还包括界面提供模块,用于提供人机交互界面,所述人机交互界面上设置有用于参数 设置的用户输入框;
所述参数获取模块用于:根据用户在所述用户输入框中输入的设置数据,获取与所述场景标识和组件标识对应的组件的立体显示参数。
27.根据权利要求24至26任一项所述的显示转换装置,其特征在于,所述立体显示参数中包括用于指示组件隐藏的隐藏指示信息。
28.根据权利要求24至27任一项所述的显示转换装置,其特征在于,所述立体显示参数中包括用于确定组件是否进行显示转换的转换指示参数。
29.根据权利要求24至28任一项所述的显示转换装置,其特征在于,所述参数获取模块还用于:
获取所述应用程序的第一虚拟场景的组件的全局立体显示参数;
所述文件生成模块用于:
根据所述场景标识、组件标识,所述获取的立体显示参数以及所述获取的全局立体显示参数,生成显示配置文件,所述显示配置文件中包括所述场景标识、所述组件标识和所述场景标识和所述组件标识对应的立体显示参数,还包括所述全局立体显示参数,以使所述第一应用根据所述显示配置文件中的场景标识和组件标识和与所述场景标识和组件标识对应的立体显示参数构建并显示与所述场景标识对应的第一虚拟场景中的与所述组件标识对应的组件的立体图像,根据所述显示配置文件中的全局立体显示参数,构建并显示所述第一虚拟场景中除与所述显示配置文件中的场景标识和组件标识对应的组件之外的组件的立体图像。
30.根据权利要求31所述的显示转换装置,其特征在于,所述全局立体显示参数中包括虚拟摄像机到前控制面的距离。
31.一种终端设备,包括壳体、处理器、存储器、显示器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:
接收设置在第二终端上的第二应用发送的场景图像获取指示,所述场景图像获取指示中包括场景标签信息;
根据所述接收的场景图像获取指示,获取所述应用程序的第一虚拟场景的图像数据、场景标识和组件的组件标识;
将所述第一虚拟场景的场景标签信息、图像信息、场景标识和组件标识发送给所述第二应用,以使所述第二应用记录所述场景标签信息与所述图像信息、所述场景标识和所述组件标识的对应关系,从而按照所述场景标签信息,根据所述场景标签对应的图像信息显示所述第一虚拟场景的图像,按照所述场景标签信息,确定并显示所述场景标签信息对应的场景标识和组件标识,并获取所述场景标识和所述组件标识对应的组件的立体显示参数,并根据所述场景标识、所述组件标识和所述立体显示参数生成显示配置文件;
接收所述第二应用发送的显示配置文件,所述显示配置文件中包括所述场景标识、所述组件标识和与所述场景标识和所述组件标识对应的立体显示参数;
根据所述显示配置文件中的场景标识、组件标识和与所述场景标识和所述组件标识对应的立体显示参数构建并显示与所述场景标识对应的第一虚拟场景中的与所述组件标识对应的组件的立体图像,从而实现将所述第一虚拟场景中的组件转换为立体显示。
32.一种终端设备,包括壳体、处理器、存储器、显示器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:
向所述设置在第一终端上的第一应用发送场景图像获取指示,所述场景图像获取指示中包括场景标签信息;
接收所述第一应用发送的、所述第一终端上设置的应用程序的第一虚拟场景的场景标签信息、图像数据、场景标识和组件的组件标识,记录所述场景标签信息与所述图像信息、所述场景标识和所述组件标识的对应关系;
按照所述场景标签信息,根据所述场景标签信息对应的图像信息显示所述第一虚拟场景的图像,按照所述场景标签信息,确定并显示所述场景标签对应的场景标识和组件标识,以使用户获知所述图像、场景标识和组件标识的对应关系;
获取与所述场景标识和组件标识对应的组件的立体显示参数;
根据所述场景标识、组件标识和所述获取的立体显示参数,生成显示配置文件,所述显示配置文件中包括所述场景标识、组件标识和与所述场景标识和组件标识对应的立体显示参数;
将所述显示配置文件发送给所述第一应用,以使所述第一应用根据所述显示配置文件中的场景标识、组件标识和与所述场景标识和所述组件标识对应的立体显示参数构建并显示与所述场景标识对应的第一虚拟场景中的与所述组件标识对应的组件的立体图像,从而实现将所述应用程序的第一虚拟场景中的组件转换为立体显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511028626.4A CN106227327B (zh) | 2015-12-31 | 2015-12-31 | 一种显示转换方法、装置及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511028626.4A CN106227327B (zh) | 2015-12-31 | 2015-12-31 | 一种显示转换方法、装置及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106227327A true CN106227327A (zh) | 2016-12-14 |
CN106227327B CN106227327B (zh) | 2018-03-30 |
Family
ID=57528738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511028626.4A Active CN106227327B (zh) | 2015-12-31 | 2015-12-31 | 一种显示转换方法、装置及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106227327B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107349604A (zh) * | 2017-07-06 | 2017-11-17 | 苏州蜗牛数字科技股份有限公司 | 一种云配置游戏3d模式参数的***及方法 |
CN107526683A (zh) * | 2017-08-23 | 2017-12-29 | 北京小米移动软件有限公司 | 应用程序功能冗余度的检测方法、装置及存储介质 |
CN107678548A (zh) * | 2017-09-27 | 2018-02-09 | 歌尔科技有限公司 | 显示控制方法、***和虚拟现实设备 |
CN108596825A (zh) * | 2018-04-17 | 2018-09-28 | 宁波视睿迪光电有限公司 | 3d效果显示方法及装置 |
CN114625487A (zh) * | 2022-05-16 | 2022-06-14 | 浙江毫微米科技有限公司 | 在元宇宙中运行应用程序的方法、***、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1369857A (zh) * | 2001-02-15 | 2002-09-18 | 矽统科技股份有限公司 | 可调整立体效果的三维空间图像转换的装置及其方法 |
CN101266546A (zh) * | 2008-05-12 | 2008-09-17 | 深圳华为通信技术有限公司 | 一种实现操作***三维显示的方法和一种三维操作*** |
CN101529468A (zh) * | 2006-10-27 | 2009-09-09 | 汤姆森许可贸易公司 | 用于从二维图像中恢复三维粒子***的***和方法 |
CN101536040A (zh) * | 2006-11-17 | 2009-09-16 | 汤姆森许可贸易公司 | 为了2d至3d转换对对象进行模型拟合和配准的***及方法 |
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集团股份有限公司 | 一种立体用户界面的生成方法及装置 |
-
2015
- 2015-12-31 CN CN201511028626.4A patent/CN106227327B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1369857A (zh) * | 2001-02-15 | 2002-09-18 | 矽统科技股份有限公司 | 可调整立体效果的三维空间图像转换的装置及其方法 |
CN101529468A (zh) * | 2006-10-27 | 2009-09-09 | 汤姆森许可贸易公司 | 用于从二维图像中恢复三维粒子***的***和方法 |
CN101536040A (zh) * | 2006-11-17 | 2009-09-16 | 汤姆森许可贸易公司 | 为了2d至3d转换对对象进行模型拟合和配准的***及方法 |
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 (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107349604A (zh) * | 2017-07-06 | 2017-11-17 | 苏州蜗牛数字科技股份有限公司 | 一种云配置游戏3d模式参数的***及方法 |
CN107526683A (zh) * | 2017-08-23 | 2017-12-29 | 北京小米移动软件有限公司 | 应用程序功能冗余度的检测方法、装置及存储介质 |
CN107526683B (zh) * | 2017-08-23 | 2020-06-19 | 北京小米移动软件有限公司 | 应用程序功能冗余度的检测方法、装置及存储介质 |
CN107678548A (zh) * | 2017-09-27 | 2018-02-09 | 歌尔科技有限公司 | 显示控制方法、***和虚拟现实设备 |
CN108596825A (zh) * | 2018-04-17 | 2018-09-28 | 宁波视睿迪光电有限公司 | 3d效果显示方法及装置 |
CN114625487A (zh) * | 2022-05-16 | 2022-06-14 | 浙江毫微米科技有限公司 | 在元宇宙中运行应用程序的方法、***、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106227327B (zh) | 2018-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4463215B2 (ja) | 立体化処理装置及び立体情報端末 | |
CN105704468B (zh) | 用于虚拟和现实场景的立体显示方法、装置及电子设备 | |
CN105704478B (zh) | 用于虚拟和现实场景的立体显示方法、装置及电子设备 | |
CN106227327A (zh) | 一种显示转换方法、装置及终端设备 | |
CN103201787B (zh) | 信息显示装置 | |
CN108292489A (zh) | 信息处理装置和图像生成方法 | |
CN102318353B (zh) | 用于处理视频图像的方法和设备 | |
CN104469179A (zh) | 一种将动态图片结合到手机视频中的方法 | |
WO2021135320A1 (zh) | 一种视频的生成方法、装置及计算机*** | |
CN108762508A (zh) | 一种基于vr体验舱的人体与虚拟人合成***及方法 | |
CN112446939A (zh) | 三维模型动态渲染方法、装置、电子设备及存储介质 | |
CN103155579A (zh) | 3d图像显示设备及其显示方法 | |
Li et al. | Enhancing 3d applications using stereoscopic 3d and motion parallax | |
CN107025877A (zh) | 一种显示设备及其分屏显示方法 | |
CN112752085A (zh) | 基于人眼跟踪的裸眼3d视频播放***及方法 | |
CN113206993A (zh) | 一种调整显示屏幕的方法及显示设备 | |
CN106249857A (zh) | 一种显示转换方法、装置及终端设备 | |
CN106412718A (zh) | 一种字幕在3d空间中的渲染方法及其装置 | |
CN111167119B (zh) | 一种游戏开发展示方法、装置、设备及存储介质 | |
CN105975259A (zh) | 一种3d空间用户界面的实现方法及其装置 | |
JP2018198025A (ja) | 画像処理装置、画像処理装置の制御方法及びプログラム | |
CN104469338B (zh) | 一种控制方法和装置 | |
CN106249858B (zh) | 一种显示转换方法、装置及终端设备 | |
CN103309444A (zh) | 基于Kinect的智能全景展示方法 | |
CN111405262B (zh) | 一种视点信息生成方法、装置、***、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20180719 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 |