CN114419226A - 全景渲染方法、装置、计算机设备和存储介质 - Google Patents
全景渲染方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN114419226A CN114419226A CN202111682567.8A CN202111682567A CN114419226A CN 114419226 A CN114419226 A CN 114419226A CN 202111682567 A CN202111682567 A CN 202111682567A CN 114419226 A CN114419226 A CN 114419226A
- Authority
- CN
- China
- Prior art keywords
- sphere
- matrix
- image data
- rendering
- display
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请涉及一种全景渲染方法、装置、计算机设备和存储介质。方法包括:接收全景采集设备的图像数据;通过终端操作系统对应的开放图形库接口调用渲染引擎,将图像数据作为纹理贴图贴至构造好的球体模型,得到球体;响应于对球体操作所产生的变换视角;根据变换视角计算MVP矩阵,调用着色器根据MVP矩阵显示视角变换后的显示图像。采用本方法能够提高渲染效率。该方法使用不同的终端操作系统调用对应的开放图像库接口调用渲染引擎,能够为移动端提供了渲染器,此外,该渲染方式,通过将图像数据作为纹理贴图贴至构造好的球体模型,得到球体,利用球体操作产生变换视角,终端跟随显示变换后的显示图像,因此能够在终端在查看全景图像。
Description
技术领域
本申请涉及虚拟现实技术领域,特别是涉及一种全景渲染方法、装置、计算机设备和存储介质。
背景技术
随着虚拟现实(VirtualReality,VR)的快速发展,场景渲染是VR技术中必不可少的环节,对于场景渲染的要求也越来越高。
传统技术中,在各端进行场景渲染时,通常对需要对应的图形引擎进行渲染,图形引擎用于提高复杂图形的开发效率,常见于游戏开发。对于移动端,通常用Googlecardboard图形引擎实现全景渲染;对于桌面系统,通常用Unity3D、Unreal等图形引擎实现全景渲染。
然而,移动端采用cardboard图形引擎只实现了眼镜模式,没有实现直接全景模式,且渲染时只能渲染模型数据,无法渲染图片、视频数据等;桌面系统采用Unity3D、Unreal等图形引擎进行全景渲染,但是由于用Unity3D、Unreal等引擎实现过程中资源消耗大,运行效率低,不适于移动端。
发明内容
基于此,有必要针对上述技术问题,提供一种能够适用于移动端的全景渲染方法、装置、计算机设备和存储介质。
一种全景渲染方法,所述方法包括:
接收全景采集设备的图像数据;
通过终端操作系统对应的开放图形库接口调用渲染引擎,将所述图像数据作为纹理贴图贴至构造好的球体模型,得到球体;
响应于对所述球体操作所产生的变换视角;
根据所述变换视角计算MVP矩阵,调用着色器根据所述MVP矩阵显示视角变换后的显示图像。
在其中一个实施例中,根据所述变换视角计算MVP矩阵,调用着色器根据所述MVP矩阵显示变换后的显示图像,包括:
根据所述变换视角计算模型矩阵;
获取视图矩阵,将视图矩阵左乘所述模型矩阵,得到MV矩阵;
将所述模型矩阵通过投影变换计算得到投影矩阵,将所述投影矩阵左乘MV矩阵,得到MVP矩阵;
将所述MVP矩阵传输至所述用户终端的着色器,通过所述着色器根据所述MVP矩阵显示视角变换后的显示图像。
在其中一个实施例中,响应于对所述球体操作所产生的变换视角,包括:
通过用户终端已注册的传感器监听,获取对所述球体操作所产生传感器偏移,得到第一变换视角;
通过用户终端已注册的触控/鼠标事件监听,获取对所述球体操作所产生触控/鼠标事件偏移,得到第二变换视角。
在其中一个实施例中,所述图像数据包括视频、图片;通过终端操作系统对应的开放图形库接口调用渲染引擎,将所述图像数据作为纹理贴图贴至构造好的球体模型,得到球体,包括:通过终端操作系统对应的开放图形库接口将所述图像数据加载至渲染引擎;
计算球体模型参数,以及贴图参数;
调用着色器,根据所述球体模型参数和所述贴图参数,将所述图像数据作为纹理贴图贴至构造好的球体模型,得到球体。
在其中一个实施例中,接收全景采集设备的图像数据,包括:获取多台视频摄影机同时拍摄的待渲染对象的至少一个角度的图像数据,或获取全屏摄像机拍摄所述待渲染对象的图像数据。
在其中一个实施例中,所述贴图参数通过将所述图像数据逆时针旋转180度得到。
在其中一个实施例中,通过OpenGL开发后编译得到的不同操作系统的核心库,所述核心库包括渲染引擎,具有不同操作系统对应的开放图形库接口。
一种全景渲染装置,所述装置包括:
图像数据获取模块,用于接收全景采集设备的图像数据;
球体获取模块,用于通过终端操作系统对应的开放图形库接口调用渲染引擎,将所述图像数据作为纹理贴图贴至构造好的球体模型,得到球体;
变换视角响应模块,用于响应于对所述球体操作所产生的变换视角;
图像显示模块,用于根据所述变换视角计算MVP矩阵,调用着色器根据所述MVP矩阵显示视角变换后的显示图像。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收全景采集设备的图像数据;
通过终端操作系统对应的开放图形库接口调用渲染引擎,将所述图像数据作为纹理贴图贴至构造好的球体模型,得到球体;
响应于对所述球体操作所产生的变换视角;
根据所述变换视角计算MVP矩阵,调用着色器根据所述MVP矩阵显示视角变换后的显示图像。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收全景采集设备的图像数据;
通过终端操作系统对应的开放图形库接口调用渲染引擎,将所述图像数据作为纹理贴图贴至构造好的球体模型,得到球体;
响应于对所述球体操作所产生的变换视角;
根据所述变换视角计算MVP矩阵,调用着色器根据所述MVP矩阵显示视角变换后的显示图像。
上述全景渲染方法、装置、计算机设备和存储介质,使用不同的终端操作系统调用对应的开放图像库接口调用渲染引擎,能够为移动端提供了渲染器,此外,该渲染方式,通过将图像数据作为纹理贴图贴至构造好的球体模型,得到球体,利用球体操作产生变换视角,终端跟随显示变换后的显示图像,因此能够在终端在查看全景图像。
附图说明
图1为一个实施例中全景渲染方法的应用环境图;
图2为一个实施例中全景显示示意图;
图3为一个实施例中直接显示模式下的显示图像;
图4为一个实施例中眼镜模式下的显示图像;
图5为一个实施例中全景渲染方法的流程示意图;
图6为一个实施例中全景渲染方法中开发多端复用的示意图;
图7为一个实施例中终端交互示意图;
图8为一个实施例中全景渲染装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的全景渲染方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与全景采集设备104进行通信,全景采集设备104采集待渲染对象的图像数据,当终端102调用渲染引擎时,渲染引擎将图像数据作为纹理贴图贴至构造好的球体模型,得到球体。终端102监测到用户对球体进行操作时,根据操作带来的变换视角计算MVP矩阵,再调用着色器进行渲染,最终在终端102显示视角变换后的显示图像。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。全景显示示意图如图2所示,根据构造好的球体模型,将左上角的雪地滑翔的图像贴至该构造好的球体模型上,从而得到的球体将该图像进行360度显示。
在一个实施例中,直接显示模式下的显示图像如图3所示,在该模式下,用户不需要佩戴VR眼镜,看到的是二维图像。
在一个实施例中,眼镜模式下的显示图像如图4所示,在该模式下,用户需要佩戴VR眼镜,看到的是三维图像。
在一个实施例中,如图5所示,提供了一种全景渲染方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤302,接收全景采集设备的图像数据。
其中,全景采集设备是用于采集图像、视频的设备,确定待渲染对象时,可以通过全景采集设备采集获取该待渲染对象的图像和视频。图像数据包括图像、视频,图像数据的来源还可以是3D建模数据,例如maya建模数据。
步骤304,通过终端操作系统对应的开放图形库接口调用渲染引擎,将所述图像数据作为纹理贴图贴至构造好的球体模型,得到球体。
其中,开放图形库接口是是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。安卓操作系统、IOS操作系统和类操作系统中,均内置有开放图形库接口,开放图形库接口即OpenGL,可以用于图形开发,以及渲染。渲染引擎相当于运行在终端操作系统上的应用程序。通过开放图形接口调用渲染引擎,渲染引擎开始进行渲染工作。不同操作系统对应的渲染引擎是不同的,不同仅在于兼容的操作系统,渲染引擎本身功能是相同的。渲染引擎包括安卓渲染引擎、IOS渲染引擎、桌面渲染引擎。安卓渲染引擎、IOS渲染引擎和桌面渲染引擎是针对不同操作系统开发的,但只需开发一次即可使渲染引擎在各操作系统上使用,因为开发时采用的接口是开放图形库接口,本身是具有跨平台的应用程序编程接口,通过该开放图形库接口使用C/C++语言进行编译,从而得到各操作系统都能调用该渲染引擎。渲染引擎是通过各不同操作系统对应的用户终端内置的开放图形库接口,提供C/C++的编程接口,并使用C/C++语言分别编译生成的。C/C++语言更为底层,运行上会更高效。如图6所示,通过OpenGL提供的C/C++的编程接口,即图中的C/C++API,通过C/C++进行编译,从而得到各操作系统对应的核心库,此处核心库即包括渲染引擎。Android库(包括安卓渲染引擎)、ios库(包括IOS渲染引擎)和linux等库(包括桌面渲染引擎)。
纹理贴图是图像映射规则,可以把存储在终端内存中的位图通过UV坐标映射到渲染物体的表面。其中,UV坐标是指所有的图像数据都是二维平面,水平方向用U表示,垂直方向用V表示。构造好的球体模型是可以用于实现三维效果的立体模型,将图像数据作为纹理贴图贴至构造好的球体模型上,得到可以对待渲染对象进行全景显示的球体。
步骤306,响应于对所述球体操作所产生的变换视角。
其中,用户在终端界面进行操作时,通过操作球体移动、旋转时,该动作过程中,终端会监测到偏移,偏移包括偏移位置以及偏移方向。偏移后的视角即变换视角。当用户操作球体动作,相应地就会产生一个新的变换视角。
步骤308,根据所述变换视角计算MVP矩阵,调用着色器根据所述MVP矩阵显示视角变换后的显示图像。
其中,MVP矩阵是经模型矩阵、视图矩阵和投影矩阵变换后得到的矩阵,根据变换视角计算得到MVP矩阵,可以将图像数据转换为视体空间。着色器包括顶点着色器(VertexShader)和片段着色器(Fragment Shader),顶点着色器决定待渲染对象所显示的内容,片段着色器决定待渲染对象所显示的内容的外观,主要是颜色。终端一般内置有着色器,通过开放图形库接口调用着色器,从而使着色器根据MVP矩阵显示视角变换后的显示图像。该显示图像经过对球体的顶点坐标进行一系列矩阵变换投影到用户终端的二维屏幕上。着色器根据MVP矩阵显示视角变换后的显示图像为二维图像。
上述全景渲染方法中,使用不同的终端操作系统调用对应的开放图像库接口调用渲染引擎,能够为移动端提供了渲染器,此外,该渲染方式,通过将图像数据作为纹理贴图贴至构造好的球体模型,得到球体,利用球体操作产生变换视角,终端跟随显示变换后的显示图像,因此能够在终端在查看全景图像。
在一个实施例中,根据所述变换视角计算MVP矩阵,调用着色器根据所述MVP矩阵显示变换后的显示图像,包括:根据所述变换视角计算模型矩阵;获取视图矩阵,将视图矩阵左乘所述模型矩阵,得到MV矩阵;将所述模型矩阵通过投影变换计算得到投影矩阵,将所述投影矩阵左乘MV矩阵,得到MVP矩阵;将所述MVP矩阵传输至所述用户终端的着色器,通过所述着色器根据所述MVP矩阵显示视角变换后的显示图像。
其中,模型矩阵即Model矩阵,Model矩阵可以将模型空间转换到世界空间,它包括左手坐标系和右手坐标系,左手坐标系z轴代表前后,x轴代表左右,y轴代表上下;右手坐标系y轴代表前后,x轴代表左右,z轴代表上下。模型矩阵在计算时按照缩放-旋转-平移的顺序进行矩阵变换。变换视角是由偏移带来的,将变换视角对应的偏移计算模型矩阵,从而得到世界空间,世界空间对应世界坐标系。视图矩阵可以将世界空间转换成观察空间,观察空间是以摄像机为中心的坐标系,其中,摄像机是图形学中的空间摄像机,把世界坐标系映射到摄像机坐标系中,形成人观察到待渲染对象的实体的具体位置情况。
在获取视图矩阵之后,将视图矩阵(用V表示)左乘模型矩阵(用M表示)左乘,可以得到MV矩阵。在得到MV矩阵之后,再通过正投影变换和中心投影变换两者结合,或者,通过正交投影变换和透视投影变换两者结合,得到投影矩阵。再将投影矩阵左乘已得到的MV矩阵,从而得到MVP矩阵。得到MVP矩阵之后,将MVP矩阵传输到着色器,使着色器根据MVP矩阵,对待渲染对象进行渲染,渲染完成后,将渲染结果通过操作系统传输到显卡,再传输到屏幕。根据MVP矩阵通过着色器对对使得三维的球体可以光栅化到屏幕,用户通过屏幕可以看到二维的显示图像。
其中,模型矩阵的计算公式为:
视图矩阵的计算公式为:
本实施例中,通过根据变换视角计算模型矩阵,将视图矩阵左乘模型矩阵,得到MV矩阵。再将投影矩阵左乘MV矩阵,得到MVP矩阵,从而可以在二维屏幕上显示的显示图像。
在一个实施例中,响应于对所述球体操作所产生的变换视角,包括:通过用户终端已注册的传感器监听,获取对所述球体操作所产生传感器偏移,得到第一变换视角;通过用户终端已注册的触控/鼠标事件监听,获取对所述球体操作所产生触控/鼠标事件偏移,得到第二变换视角。
其中,终端出厂时即注册有传感器,传感器包括旋转矢量传感器和重力传感器,是最常用的运动检测和监测传感器。传感器偏移是指获取终端移动的偏移量。第一变化视角是根据传感器偏移确定的球体模型的偏转角度。
触控/鼠标事件的偏移是指基于用户通过触控或鼠标点击,得到的球体偏移,通常终端出厂时即注册有传感器以及触控/鼠标事件监听。根据触控/鼠标事件监听可以获取用户在终端界面对球体操作所产生的触控/鼠标事件偏移。第二变化视角是根据触控/鼠标事件偏移确定的球体模型的偏转角度。获取传感器偏移和触控/鼠标事件偏移之后,将传感器偏移和触控/鼠标事件偏移传输到渲染引擎中,用于矩阵计算。用户终端交互如图7所示,系统通过传感器监听、以及触控/鼠标事件监听获取偏移,并将传感器偏移以及鼠标/触控事件偏移传输给渲染引擎,最后将显示图像光栅化显示于屏幕上。其中,系统、渲染引擎和屏幕位于同一用户终端,系统是用户终端的操作系统。
本实施例中,通过传感器监听获取传感器偏移,通过触控/鼠标事件监听获取触控/鼠标事件偏移,从而可以获得第一变换视角和第二变换视角。
在一个实施例中,所述图像数据包括视频、图片;通过终端操作系统对应的开放图形库接口调用渲染引擎,将所述图像数据作为纹理贴图贴至构造好的球体模型,得到球体,包括:通过终端操作系统对应的开放图形库接口将所述图像数据加载至渲染引擎;计算球体模型参数,以及贴图参数;调用着色器,根据所述球体模型参数和所述贴图参数,将所述图像数据作为纹理贴图贴至构造好的球体模型,得到球体。
其中,图像数据包括视频、图片,视频在传输时是以一帧帧的图像进行传输的,可以是矢量图或者位图。操作系统获取的图像数据可以是全景采集设备采集得到的,也可以是直接获取的三维建模数据,全景采集设备采集的图像数据在贴至球体模型上时,得到的是三维建模数据。通过终端操作系统对应的开放图形库接口将图像数据加载至渲染引擎,从而使渲染引擎完成了进行渲染工作必备的数据获取工作。计算球体模型参数以及贴图参数,球体模型参数包括球体顶点数据,贴图参数包括贴图顶点数据。终端通过操作系统的接口调用着色器,将球体模型参数和贴图参数发送给着色器,使着色器根据球体模型参数和贴图参数,将对应的图像数据贴至构造好的球体模型,从而得到球体。
本实施例中,在渲染引擎得到图像数据后,计算球体模型参数和贴图参数,调用着色器,将图像数据作为纹理贴图贴至构造好的球体模型上,得到可以对待渲染对象进行全景显示的球体。
在一个实施例中,接收全景采集设备的图像数据,包括:获取多台视频摄影机同时拍摄的待渲染对象的至少一个角度的图像数据,或获取全屏摄像机拍摄所述待渲染对象的图像数据。
其中,图像数据是待渲染对象的图像和视频,全景采集设备包括视频摄影机和全屏摄像机。视频摄影机和全屏摄像机都是用于对待渲染对象进行实景拍摄,从而得到待渲染对象的多场景多角度的视频和图像。视频摄影机拍摄得到的多个视频需要拼接以形成完整的全方位视频,全屏摄像机得到的是完整的全方位视频,不需要进行拼接。
本实施例中,通过获取多台视频摄影机或者全屏摄像机进行拍摄得到的图像数据,可以得到待渲染对象的图像数据。
在一个实施例中,所述贴图参数通过将所述图像数据逆时针旋转180度得到。
其中,贴图参数即贴图顶点数据,贴图参数中的贴图顶点数据是图像数据中图像的顶点数据,图像数据中的图像和与屏幕是相反的,所以需要将图像数据逆时针旋转180度,才能使图像数据投影成二维的显示图像时,用户看到的显示图像是正放的。图像数据中的视频可看成一帧帧的图像。
本实施例中,通过贴图参数将图像数据逆时针旋转180度,从而使得用户最终看到的显示图像是正放的。
在另一个实施例中,通过OpenGL开发后编译得到的不同操作系统的核心库,所述核心库包括渲染引擎,具有不同操作系统对应的开放图形库接口。
如图6所示,通过OpenGL提供的C/C++的编程接口,即图中的C/C++API,通过C/C++进行编译,从而得到各操作系统对应的核心库,此处核心库即包括渲染引擎。Android库(包括安卓渲染引擎)、ios库(包括IOS渲染引擎)和linux等库(包括桌面渲染引擎)。从而系统对于安卓/IOS/linux端,开发人员只需要集成开发一次,分别编译,即可使得三个终端都有对应的核心库。
应该理解的是,虽然上述实施例涉及的各流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述实施例涉及的各流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种全景渲染装置,包括:图像数据获取模块601、球体获取模块602、变换视角响应模块603和图像显示模块604,其中:
图像数据获取模块601,用于接收全景采集设备的图像数据;
球体获取模块602,用于通过终端操作系统对应的开放图形库接口调用渲染引擎,将所述图像数据作为纹理贴图贴至构造好的球体模型,得到球体;
变换视角响应模块603,用于响应于对所述球体操作所产生的变换视角;
图像显示模块604,用于根据所述变换视角计算MVP矩阵,调用着色器根据所述MVP矩阵显示视角变换后的显示图像。
该全景渲染装置,使用不同的终端操作系统调用对应的开放图像库接口调用渲染引擎,能够为移动端提供了渲染器,此外,该渲染方式,通过将图像数据作为纹理贴图贴至构造好的球体模型,得到球体,利用球体操作产生变换视角,终端跟随显示变换后的显示图像,因此能够在终端在查看全景图像。
在一个实施例中,图像显示模块,包括:模型矩阵计算模块,用于根据所述变换视角计算模型矩阵;
MV矩阵获取模块,用于获取视图矩阵,将视图矩阵左乘所述模型矩阵,得到MV矩阵;
MVP矩阵获取模块,用于将所述模型矩阵通过投影变换计算得到投影矩阵,将所述投影矩阵左乘MV矩阵,得到MVP矩阵;
图像显示子模块,用于将所述MVP矩阵传输至所述用户终端的着色器,通过所述着色器根据所述MVP矩阵显示视角变换后的显示图像。
在一个实施例中,变换视角响应模块,包括:第一变换视角获取模块、和第二变换视角获取模块,其中:
第一变换视角获取模块,用于通过用户终端已注册的传感器监听,获取对所述球体操作所产生传感器偏移,得到第一变换视角;
第二变换视角获取模块,用于通过用户终端已注册的触控/鼠标事件监听,获取对所述球体操作所产生触控/鼠标事件偏移,得到第二变换视角。
在一个实施例中,球体获取模块,包括:数据加载模块、参数计算模块和球体获取子模块,其中:
数据加载模块,用于通过终端操作系统对应的开放图形库接口将所述图像数据加载至渲染引擎;
参数计算模块,用于计算球体模型参数,以及贴图参数;
球体获取子模块,用于模块调用着色器,根据所述球体模型参数和所述贴图参数,将所述图像数据作为纹理贴图贴至构造好的球体模型,得到球体。
在一个实施例中,全景渲染装置,还用于接收全景采集设备的图像数据,包括:获取多台视频摄影机同时拍摄的待渲染对象的至少一个角度的图像数据,或获取全屏摄像机拍摄所述待渲染对象的图像数据。
关于全景渲染装置的具体限定可以参见上文中对于全景渲染方法的限定,在此不再赘述。上述全景渲染装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种全景渲染方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种全景渲染方法,其特征在于,所述方法包括:
接收全景采集设备的图像数据;
通过终端操作系统对应的开放图形库接口调用渲染引擎,将所述图像数据作为纹理贴图贴至构造好的球体模型,得到球体;
响应于对所述球体操作所产生的变换视角;
根据所述变换视角计算MVP矩阵,调用着色器根据所述MVP矩阵显示视角变换后的显示图像。
2.根据权利要求1所述的方法,其特征在于,根据所述变换视角计算MVP矩阵,调用着色器根据所述MVP矩阵显示变换后的显示图像,包括:
根据所述变换视角计算模型矩阵;
获取视图矩阵,将视图矩阵左乘所述模型矩阵,得到MV矩阵;
将所述模型矩阵通过投影变换计算得到投影矩阵,将所述投影矩阵左乘MV矩阵,得到MVP矩阵;
将所述MVP矩阵传输至所述用户终端的着色器,通过所述着色器根据所述MVP矩阵显示视角变换后的显示图像。
3.根据权利要求1所述的方法,其特征在于,响应于对所述球体操作所产生的变换视角,包括:
通过用户终端已注册的传感器监听,获取对所述球体操作所产生传感器偏移,得到第一变换视角;
通过用户终端已注册的触控/鼠标事件监听,获取对所述球体操作所产生触控/鼠标事件偏移,得到第二变换视角。
4.根据权利要求1所述的方法,其特征在于,所述图像数据包括视频、图片;通过终端操作系统对应的开放图形库接口调用渲染引擎,将所述图像数据作为纹理贴图贴至构造好的球体模型,得到球体,包括:通过终端操作系统对应的开放图形库接口将所述图像数据加载至渲染引擎;
计算球体模型参数,以及贴图参数;
调用着色器,根据所述球体模型参数和所述贴图参数,将所述图像数据作为纹理贴图贴至构造好的球体模型,得到球体。
5.根据权利要求1所述的方法,其特征在于,接收全景采集设备的图像数据,包括:获取多台视频摄影机同时拍摄的待渲染对象的至少一个角度的图像数据,或获取全屏摄像机拍摄所述待渲染对象的图像数据。
6.根据权利要求4所述的方法,其特征在于,所述贴图参数通过将所述图像数据逆时针旋转180度得到。
7.根据权利要求1所述的方法,其特征在于,通过OpenGL开发后编译得到的不同操作系统的核心库,所述核心库包括渲染引擎,具有不同操作系统对应的开放图形库接口。
8.一种全景渲染装置,其特征在于,所述装置包括:
图像数据获取模块,用于接收全景采集设备的图像数据;
球体获取模块,用于通过终端操作系统对应的开放图形库接口调用渲染引擎,将所述图像数据作为纹理贴图贴至构造好的球体模型,得到球体;其中,所述渲染引擎具有不同操作系统对应的开放图形库接口;
变换视角响应模块,用于响应于对所述球体操作所产生的变换视角;
图像显示模块,用于根据所述变换视角计算MVP矩阵,调用着色器根据所述MVP矩阵显示视角变换后的显示图像。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111682567.8A CN114419226A (zh) | 2021-12-31 | 2021-12-31 | 全景渲染方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111682567.8A CN114419226A (zh) | 2021-12-31 | 2021-12-31 | 全景渲染方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114419226A true CN114419226A (zh) | 2022-04-29 |
Family
ID=81272269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111682567.8A Pending CN114419226A (zh) | 2021-12-31 | 2021-12-31 | 全景渲染方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114419226A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115250374A (zh) * | 2022-07-08 | 2022-10-28 | 北京有竹居网络技术有限公司 | 展示全景图像的方法、装置、设备和存储介质 |
CN115272060A (zh) * | 2022-08-12 | 2022-11-01 | 北京字跳网络技术有限公司 | 转场特效图的生成方法、装置、设备及存储介质 |
WO2024109646A1 (zh) * | 2022-11-22 | 2024-05-30 | 北京字跳网络技术有限公司 | 图像渲染方法、装置、设备及存储介质 |
-
2021
- 2021-12-31 CN CN202111682567.8A patent/CN114419226A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115250374A (zh) * | 2022-07-08 | 2022-10-28 | 北京有竹居网络技术有限公司 | 展示全景图像的方法、装置、设备和存储介质 |
CN115272060A (zh) * | 2022-08-12 | 2022-11-01 | 北京字跳网络技术有限公司 | 转场特效图的生成方法、装置、设备及存储介质 |
WO2024109646A1 (zh) * | 2022-11-22 | 2024-05-30 | 北京字跳网络技术有限公司 | 图像渲染方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107564089B (zh) | 三维图像处理方法、装置、存储介质和计算机设备 | |
US20230053462A1 (en) | Image rendering method and apparatus, device, medium, and computer program product | |
WO2018188499A1 (zh) | 图像、视频处理方法和装置、虚拟现实装置和存储介质 | |
CN114419226A (zh) | 全景渲染方法、装置、计算机设备和存储介质 | |
US11282264B2 (en) | Virtual reality content display method and apparatus | |
WO2017113731A1 (zh) | 360度全景显示方法、显示模块及移动终端 | |
US20170186219A1 (en) | Method for 360-degree panoramic display, display module and mobile terminal | |
JP2022528432A (ja) | ハイブリッドレンダリング | |
CN111833403B (zh) | 用于空间定位的方法和装置 | |
CN114494328B (zh) | 图像显示方法、装置、电子设备及存储介质 | |
WO2019076348A1 (zh) | 一种虚拟现实vr界面生成的方法和装置 | |
CN111161398B (zh) | 一种图像生成方法、装置、设备及存储介质 | |
WO2017113729A1 (zh) | 360度图像加载方法、加载模块及移动终端 | |
US11662580B2 (en) | Image display method, apparatus, and system to reduce display latency | |
WO2022121653A1 (zh) | 确定透明度的方法、装置、电子设备和存储介质 | |
CN113724331B (zh) | 视频处理方法、视频处理装置和非瞬时性存储介质 | |
CN108364355B (zh) | 一种贴合面部表情的ar渲染方法 | |
WO2019042028A1 (zh) | 全视向的球体光场渲染方法 | |
US20230260218A1 (en) | Method and apparatus for presenting object annotation information, electronic device, and storage medium | |
US10754498B2 (en) | Hybrid image rendering system | |
CN115830202A (zh) | 一种三维模型渲染方法和装置 | |
CN115830203A (zh) | 分布式渲染方法、装置、设备、介质和程序产品 | |
KR101227155B1 (ko) | 저해상도 그래픽 영상을 고해상도 그래픽 영상으로 실시간 변환하는 그래픽 영상 처리 장치 및 방법 | |
CN112862981B (zh) | 用于呈现虚拟表示的方法和装置、计算机设备和存储介质 | |
CN115311364A (zh) | 相机定位方法、装置、电子设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |