CN117654031A - 天空球模型的生成方法、装置及电子设备 - Google Patents
天空球模型的生成方法、装置及电子设备 Download PDFInfo
- Publication number
- CN117654031A CN117654031A CN202311825509.5A CN202311825509A CN117654031A CN 117654031 A CN117654031 A CN 117654031A CN 202311825509 A CN202311825509 A CN 202311825509A CN 117654031 A CN117654031 A CN 117654031A
- Authority
- CN
- China
- Prior art keywords
- sky
- target
- coordinate information
- sphere
- sky sphere
- 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
- 238000000034 method Methods 0.000 title claims abstract description 103
- 238000009877 rendering Methods 0.000 claims abstract description 172
- 230000000694 effects Effects 0.000 claims abstract description 103
- 238000006243 chemical reaction Methods 0.000 claims abstract description 24
- 238000012545 processing Methods 0.000 claims abstract description 20
- 238000004422 calculation algorithm Methods 0.000 claims description 25
- 238000003860 storage Methods 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 11
- 239000013598 vector Substances 0.000 claims description 11
- 239000000463 material Substances 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 15
- 230000008859 change Effects 0.000 abstract description 11
- 230000000007 visual effect Effects 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 28
- 238000005516 engineering process Methods 0.000 description 13
- 230000002093 peripheral effect Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 239000000523 sample Substances 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 6
- 230000003068 static effect Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000005286 illumination Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- FFBKAOKTRUZEND-UHFFFAOYSA-N n-carbamoyl-4-[diethyl(methyl)silyl]butanamide Chemical compound CC[Si](C)(CC)CCCC(=O)NC(N)=O FFBKAOKTRUZEND-UHFFFAOYSA-N 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种天空球模型的生成方法、装置及电子设备,该方法包括:获取基于相机方向的天空球三维纹理坐标信息和用于存储图形渲染结果的渲染目标;将天空球三维纹理坐标信息进行坐标转换处理,得到天空球二维纹理坐标信息;获取天空球二维纹理坐标信息对应的纹理数据并将天空球二维纹理坐标信息对应的纹理数据进行等距柱状投影以投影到渲染目标上,得到天空渲染目标;将天空渲染目标绘制到游戏场景内的天空球模型上,得到用于模拟反射效果的目标天空球模型。本申请基于天空球模型可制作出质量较好的反射效果,并且满足开放世界的视角变化与动态场景变化需要,不需要依赖额外的硬件与反射捕获过程,性能开销小且硬件依赖程度低。
Description
技术领域
本申请涉及动画制作技术领域,具体涉及一种天空球模型的生成方法、装置、电子设备及计算机可读存储介质。
背景技术
在三维立体图像技术构建的虚拟游戏(简称3D游戏)中,反射作为渲染引擎模拟的一种常见视觉效果,通过实时追踪场景中的物体并显示它们在镜面表面的反射图像,为游戏增添真实感和视觉吸引力。
现有的游戏场景实时反射效果制作技术,在一些静态小型场景中,开发者通常使用预先制作的反射贴图(通常以立方体贴图的形式)作为反射内容。但随着游戏行业的不断发展,在越来越多的开放世界类型和动态光照变化类型的游戏中,预先生成的反射效果与游戏动态环境之间的不一致问题日益突出,这对游戏的反射效果品质产生了严重的影响。
发明内容
本申请提出了一种基于天空球模型的实时反射优化方法,能够基于天空球模型制作出质量较好的反射效果,并且满足开放世界的视角变化与动态场景变化需要,同时,不需要依赖额外的硬件与反射捕获过程,性能开销小且硬件依赖程度低。
第一方面,本申请实施例提供了一种天空球模型的生成方法,所述方法包括:
获取基于相机方向的天空球三维纹理坐标信息和用于存储图形渲染结果的渲染目标;
将所述天空球三维纹理坐标信息进行坐标转换处理,得到天空球二维纹理坐标信息;
获取所述天空球二维纹理坐标信息对应的纹理数据并将所述天空球二维纹理坐标信息对应的纹理数据进行等距柱状投影以投影到所述渲染目标上,得到天空渲染目标;
将所述天空渲染目标绘制到游戏场景内的天空球模型上,得到用于模拟反射效果的目标天空球模型。
第二方面,本申请实施例提供了一种天空球模型的生成装置,所述装置包括:
获取模块,用于获取基于相机方向的天空球三维纹理坐标信息和用于存储图形渲染结果的渲染目标;
处理模块,用于将所述天空球三维纹理坐标信息进行坐标转换处理,得到天空球二维纹理坐标信息;
确定模块,用于获取所述天空球二维纹理坐标信息对应的纹理数据并将所述天空球二维纹理坐标信息对应的纹理数据进行等距柱状投影以投影到所述渲染目标上,得到天空渲染目标;
绘制模块,用于将所述天空渲染目标绘制到游戏场景内的天空球模型上,得到用于模拟反射效果的目标天空球模型。
第三方面,本申请实施例还提供一种电子设备,包括处理器和存储器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现上述方法。
第四方面,本申请实施例还提供一种计算机可读存储介质,其上存储有一条或多条计算机指令,该指令被处理器执行以实现上述方法。
与现有技术相比,本申请具有以下优点:
本申请实施例提供的实时反射优化方法,通过将基于相机方向的天空球三维纹理坐标信息转换为与渲染目标关联的天空球二维纹理坐标信息;基于天空球二维纹理坐标信息,获取天空球二维纹理坐标信息对应的纹理数据并将天空球二维纹理坐标信息对应的纹理数据进行等距柱状投影以投影到渲染目标上得到天空渲染目标,进而实现在渲染目标上正确、完整地记录下整个天空球。通过将天空渲染目标绘制到游戏场景内的天空球上,得到用于模拟反射效果的目标天空球模型;该目标天空球模型能够满足开放世界游戏的视角切换与动态环境变化需要,并且目标天空球模型的通用性与可扩展性强;目标天空球模型可控性强,不依赖硬件与场景捕获,能够很好地运用于多平台。
进一步地,通过获取目标天空球模型对应的纹理数据;根据目标天空球对应的纹理数据,计算得到用于表示实时反射效果的像素位置信息;基于所述像素位置信息,将目标天空球模型对应的纹理数据根据屏幕空间反射算法进行计算处理,生成的目标天空球模型的实时反射效果能够实现高质量反射效果与性能之间的平衡,且实时反射效果不会存在割裂的效果表现。
附图说明
图1是本申请实施例提供的现有的游戏场景实时动态反射效果制作技术生成的效果图;
图2是本申请实施例提供的现有实时动态反射效果制作技术的性能示意图;
图3是本申请第一实施例提供的天空球模型的生成方法的应用场景示意图;
图4是本申请第二实施例提供的一种天空球模型的生成方法的流程图;
图5是本申请第二实施例提供的基于天空球模型的实施反射处理方法的原理示意图;
图6是本申请第二实施例提供的渲染目标UV的示意图;
图7是本申请第二实施例提供的极坐标转换方式的示意图;
图8是本申请第二实施例提供的二维纹理平面坐标信息对应的纹理数据绘制到渲染目标上的示意图;
图9是本申请第二实施例提供的天空渲染目标的示意图;
图10是本申请第二实施例提供的目标天空球模型的实时反射效果的示意图;
图11是本申请第三实施例提供的天空球模型的生成装置的单元框图;
图12是本申请第四实施例提供的一种电子设备的示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
首先,对本申请涉及的部分技术术语进行解释说明:
立方体贴图(Cubemap),作为一种纹理映射技术用于在三维场景中为物体表面提供二维图片。该贴图由六个正方形纹理组成,每个正方形纹理代表立方体的一个面。立方图贴图常用于实现反射效果或创建天空盒并且立方体贴图中的纹理坐标是基于三维空间中的方向向量。
屏幕空间反射(Screen Space Reflection,SSR),作为一种实时计算技术,用于模拟场景中物体在镜面表面的反射。其基本原理是将场景中的物体和相机位置作为输入,计算出物体在镜面表面的反射方向,然后根据反射方向采集周围的环境图像,并将其合成到反射结果中。该技术可以产生真实感极强的反射效果,而无需使用传统的反射贴图。
反射探针(Reflection Probe),作为一种用于加速屏幕空间反射的技术,通过在场景中放置一个特殊的物体(反射探针),来代替对所有物体进行反射计算进而生成逼真的反射效果。
场景捕获(Scene Capture),通过虚拟摄像机在特定位置对场景进行拍摄渲染,得到记录环境的详细结果并将结果保存在特定的立方体贴图中。
光线追踪,作为一种决定在最终渲染中每个像素颜色的方法,它以摄像机为出发点,追踪光线在场景中到处反射的路径,在此过程中收集并储存颜色。由于该技术模拟了光的实际行为,因此能提供比光栅化逼真得多的结果,例如柔和的、带细节的阴影,以及来自屏幕外物体的反光。
渲染目标(Render Target,RT),是指在渲染管道中用于存储图像数据的缓冲区。渲染目标可以用于存储屏幕上的像素,也可以用于存储其他类型的数据,例如深度值或法线。
等距柱状投影(Equidistant Cylindrical Projection),作为一种地图投影方法,用于将地球表面的经线和纬线转换成平行于赤道的等间隔的直线和等间隔的梯形。该投影方法保持了小范围内的角度和形状不变,因此在小范围内具有较高的精度和保真度。等距柱状投影常用于制作航海图、海图和航空图等,因为它能够在小范围内提供较高的准确度,同时保持地图的读取方便性。
天空球模型,游戏场景中的天空总是使用半球模型或者球形模型表达,因此将表现天空的模型称为天空球。作为一种可以模拟天空环境的球体模型,通常被用来模拟天空的颜色、云层、阳光照射等效果。该球体模型通常用于室外渲染场景,可以使渲染结果更加真实。在一些三维建模软件中,例如Maya、3ds Max等,都有天空球模型的建模和渲染功能。在这些软件中,用户可以自定义天空球模型的颜色、透明度、光照等参数,以满足不同的渲染需求。
接下来,为了便于理解本申请实施例提供的方法,在介绍本申请实施例之前,先对本申请实施例的背景进行介绍。
在三维立体图像技术构建的虚拟游戏(简称3D游戏)中,反射作为渲染引擎模拟的一种常见视觉效果,通过实时追踪场景中的物体并显示它们在镜面表面的反射图像,为游戏增添真实感和视觉吸引力。
现有的游戏场景实时动态反射效果制作技术,在一些静态小型场景中,开发者通常使用预先制作的反射贴图(通常以立方体贴图的形式)作为反射内容。但随着游戏行业的不断发展,在越来越多的开放世界类型和动态光照变化的游戏中,预先生成的反射效果与游戏动态环境之间的不一致问题日益突出,这对游戏的反射效果品质产生了严重的影响。
为了便于理解,可参考图1的示意,图1是本申请实施例提供的现有的游戏场景实时动态反射效果制作技术生成的效果图。如图1所示,游戏场景中水面的反射效果与实际动态场景中的反射效果二者偏差较大。即,现有的游戏场景实时动态反射效果制作技术所生成的效果图与实际游戏动态场景二者的一致性无法保证。
为了解决游戏中的实时动态反射效果问题,通常采用屏幕空间反射(SSR)、实时反射探针捕获、光线追踪等方法。然而,采用上述SSR、实时反射探针捕获、光线追踪等方法若想要实现高质量的反射效果通常需要大量的计算资源,也会导致游戏性能下降。现有方法虽然在一定程度上能够实现实时的反射效果,但在分辨率、衔接、性能开销与硬件依赖上都有着各自的局限性,具体分析可参考图2的示意,图2是本申请实施例提供的现有实时动态反射效果制作技术的性能示意图。如图2所示,将上述SSR+静态立方体贴图策略、SSR+反射探针策略、SSR+实时天空捕获策略以及实时光线追踪策略等方法,从不同性能“开放世界的视角变化、动态环境变化、分辨率、衔接问题、内存开销、渲染开销、硬件依赖”等角度进行分析,上述各方法均存在不同方面的性能缺陷。
因此,现有的游戏场景动态反射效果制作技术,如何在游戏场景动态反射效果的制备过程中,在生成反射效果的同时保证反射效果和游戏动态环境之间的一致性,进而为游戏玩家提供更加真实和沉浸式的游戏体验成为当前亟待解决的技术问题。
经过上述内容的背景介绍,本领域技术人员可以了解现有技术存在的问题,接下来对本申请天空球模型的生成方法的应用场景进行详细说明。本申请实施例提供的天空球模型的生成方法可以应用于动画制作技术领域,或者其他具有制作反射效果需求的相关技术领域。
以下,首先对本申请实施例天空球模型的生成方法的应用场景进行示例说明。
图3为本申请第一实施例提供的天空球模型的生成方法的应用场景示意图。
如图3所示,本应用场景中,包括客户端301、服务端302;其中,客户端301与服务端302通过网络通信连接。
以图3为例进行详细说明,在基于天空球模型制作反射效果的应用背景下,客户端301获取基于相机方向的天空球三维纹理坐标信息并将上述信息通过网络通信连接传输至服务端302的服务器。服务端302的服务器根据该基于相机方向的天空球三维纹理坐标信息进行信息处理,得到用于模拟反射效果的目标天空球模型。客户端301基于目标天空球模型进行反射效果展示。
需要说明的是,图3是本申请实施例提供的天空球模型的生成方法的应用场景示意图,本申请实施例不对图3中包括的设备进行限定,不对客户端301及服务端302的数量进行限定。例如,满足图3所示的应用场景中,还可以包括数据存储设备,该数据存储设备相对客户端301、服务端302可以是外部存储器,也可以是集成在客户端301、服务端302的内部存储器。客户端301可以为智能手机、智能手环、平板电脑、可穿戴设备、多媒体播放器、电子阅读器等多种具备通信功能的设备,并且该设备上对应安装有动画制作功能的应用程序(Application,APP);服务端302可以是一个服务器或若干服务器组成的集群,也可以是一个云计算服务中心。在本申请的实施例中,图3中的客户端301、服务端302的设备数量可以有所变化。上述应用场景具体的实现过程可以参见以下各实施例的方案描述。
在介绍完本申请实施例的应用场景,本申请还提供了一种天空球模型的生成方法,以及与上述方法相对应的装置、电子设备以及计算机可读存储介质。以下提供实施例对上述方法、装置、电子设备计算机可读存储介质以及系统进行详细说明。
本申请第二实施例提供一种天空球模型的生成方法。图4是本申请第二实施例提供的一种天空球模型的生成方法的流程图,以下结合图4对本实施例提供的方法进行详细描述。以下描述所涉及的实施例是用来解释说明方法原理,不是实际使用的限定。为了便于理解本申请实施例的天空球模型的生成方法,可将图4同时结合图5的示意进行理解,图5是本申请第二实施例提供的基于天空球模型的实施反射处理方法的原理示意图。
如图4所示,本实施例提供的天空球模型的生成方法包括如下步骤S401至步骤S404:
S401,获取基于相机方向的天空球三维纹理坐标信息和用于存储图形渲染结果的渲染目标。
该步骤的作用在于,获取天空球三维纹理坐标信息和渲染目标。
纹理坐标信息(UV)是指一组用于描述图像中每个点位置的数据信息,也可称之为纹理坐标。通过纹理坐标信息可定义每个点在纹理空间中的位置,进而将图像上每一个点精准对应到模型物体的表面;即每个点均对应有一组纹理坐标。该纹理坐标的作用在于,借助纹理坐标可以让天空球模型表面产生真实、丰富的视觉效果。
天空球纹理坐标信息是指应用于天空球模型的纹理坐标信息。该信息可用于进行三维模型渲染时,自动生成天空环境的视觉元素。例如,太阳、月亮等。在本申请实施例中,天空球纹理坐标信息的表达方式有2种,分别为:二维纹理坐标信息和三维纹理坐标信息。
其中,二维纹理坐标信息包括:天空球二维纹理坐标(UV.x、UV.y)、以及第一相机方向V;第一相机方向V为天空球三维纹理坐标信息的相机方向计算得到的相机方向。在天空球二维纹理坐标(UV.x、UV.y)中,通过UV.x、UV.y各自对应的坐标值进而表示天空球模型上每个点的位置;x表示水平方向、y表示垂直方向。第一相机方向V的具体描述请参考后续步骤的介绍。在三维纹理坐标信息中,通过θ、各自对应的坐标值进而表示天空球模型上每个点的位置;θ表示偏转角、表示俯仰角。
需要理解的是,二维纹理坐标信息(UV.x、UV.y)和三维纹理坐标信息 的区别在于:
三维纹理坐标信息的表达方式将天空球球体模型表面上的点以立体球体几何表面的形式呈现、二维纹理坐标信息(UV.x、UV.y)的表达方式将天空球球体模型表面上的点以二维平面的形式呈现。例如,若天空球球体模型的表面对应的三维纹理坐标信息视为“球体表面皮肤”,则二维纹理坐标信息(UV.x、UV.y)的表达方式是将上述“球体表面皮肤”铺展开以后的表达方式。
基于相机方向的天空球三维纹理坐标信息,是指根据相机的观察角度计算出相对于天空球表面的三维纹理坐标信息。通常情况下,基于相机方向的天空球三维纹理坐标信息通常是通过计算摄像机到天空球表面的角度得出的纹理坐标信息。即,基于相机方向的天空球纹理坐标信息可以为三维纹理坐标信息、也可以为二维纹理坐标信息。在本申请实施例中,获取的为基于相机方向的天空球三维纹理坐标信息。如果摄像机视角(相机方向)发生改变,则相应的天空球纹理坐标也会随之改变。因此,在本申请实施例中,将基于相机方向的天空球纹理坐标信息,采用前文所述的三维纹理坐标信息的表达方式进行呈现。基于相机方向的天空球三维纹理坐标信息可参考文献“DirectX11 With WindowsSDK--22立方体映射:静态天空盒的读取与实现”和“High-Resolution Light Probe ImageGallery”进行获取。
渲染目标(Render Target,RT)作为渲染管道中用于存储图像数据的缓冲区,也可理解为渲染输出的目的地,还可理解为用于生成渲染效果结果的画布。该渲染目标决定了渲染结果将会显示于何处。当然,也可以将渲染目标理解为一个表面,将经过计算后的图像数据保存在该表面并进行显示。
通过上述步骤,获得了基于相机方向的天空球三维纹理坐标信息和用于存储图形渲染结果的渲染目标。
S402,将天空球三维纹理坐标信息进行坐标转换处理,得到天空球二维纹理坐标信息。
通常情况下,基于相机方向的天空球三维纹理坐标信息,其渲染方法作为常规的天空球渲染方式,是以相机方向和相机位置虚拟一个球体模型进行渲染,以避免相机移动到天空球边缘时的扭曲现象。实际处理过程中,基于相机方向的天空球三维纹理坐标信息必须通过场景捕获才能将天空绘制到渲染目标上。在本申请实施例中,直接将基于相机方向的天空球三维纹理坐标信息转换为与渲染目标关联的天空球二维纹理坐标信息,可避免场景捕获的操作设置,简化生成反射效果的操作步骤。
天空球二维纹理坐标信息为与渲染目标关联的纹理坐标信息。与渲染目标关联的天空球二维纹理坐标信息,是指用于在渲染目标上制作渲染效果的天空球二维纹理坐标信息,也可称之为渲染目标UV。在本申请实施例中,将渲染目标关联的天空球纹理坐标信息,采用前所述的二维纹理坐标信息(UV.x、UV.y)的表达方式进行呈现。
为了便于理解上述与渲染目标关联的天空球二维纹理坐标信息,可参考图6的示意。图6是本申请第二实施例提供的渲染目标UV的示意图。如图6所示,该图中左上角的纹理坐标为(0,0)、右下角的纹理坐标为(1,1)。
由于基于相机方向的天空球纹理坐标(UV)采用三维纹理坐标信息的表达方式,如果需要渲染天空球到渲染目标上就需要以渲染目标关联的天空球纹理坐标信息“二维纹理坐标信息(UV.x、UV.y)的表达方式”进行绘制。
在本申请实施例中,作为一种可行的实施方式,采用极坐标转换算法,将基于相机方向的天空球三维纹理坐标信息进行计算处理,生成天空球二维纹理坐标信息。具体过程示意如下:
首先,对基于相机方向的天空球三维纹理坐标信息“三维纹理坐标信息 的表达方式”转换为与渲染目标关联的天空球二维纹理坐标信息“二维纹理坐标信息(UV.x、UV.y)的表达方式”的转换原因解释如下:
常规的天空球渲染中,通常会使用基于相机方向的天空球三维纹理坐标信息“三维坐标信息的表达方式”来渲染天空球。此种方式应用在反射渲染过程中,往往需要多次进行场景捕获,容易存在渲染处理的流程繁琐、渲染周期长的缺陷。因此,为了避免额外进行场景捕获,通过将“三维纹理坐标信息 的表达方式”转换为“二维纹理坐标信息(UV.x、UV.y)的表达方式”,从而实现在渲染目标上正确、完整地记录下整个天空球的效果。
因此,这里通过将基于相机方向的天空球纹理三维坐标信息中,以“三维纹理坐标信息的表达方式”呈现的坐标点转换为与渲染目标关联的天空球二维纹理坐标信息,以“二维纹理坐标信息(UV.x、UV.y)的表达方式”呈现的坐标点,从而实现天空球的表达方式转换。即,将天空球球体模型表面上每个点的坐标位置映射到天空球平面上每个点的坐标位置。为了便于理解,可参考图7的示意,图7是本申请第二实施例提供的极坐标转换方式的示意图。如图7所示,图7左侧为以“三维纹理坐标信息的表达方式”呈现的坐标点、图7的右侧为以“二维纹理坐标信息(UV.x、UV.y)的表达方式”呈现的坐标点。
接下来,对采用极坐标转换算法将基于相机方向的天空球三维纹理坐标信息对应的“三维纹理坐标信息”转换为与渲染目标关联的天空球二维纹理坐标信息对应的“二维纹理坐标信息(UV.x、UV.y)”展开详细说明。其转换过程采用的计算公式如下:
θ=2Π*UV.x公式1-1
该式中,UV.x表示纹理坐标为二维纹理坐标时,x轴方向的取值;Π表示圆周率;θ表示三维纹理坐标中的偏转角。
该式中,UV.y表示纹理坐标为二维纹理坐标时,y轴方向的取值;Π表示圆周率;表示三维纹理坐标中的俯仰角。
该式中,V表示三维纹理坐标中的相机方向(第一相机方向);θ表示三维纹理坐标中的偏转角;表示三维纹理坐标中的俯仰角。需要理解的是,由于极坐标转换算法中,极坐标转换后的半径为1,因此转换后的结果V即为第一相机方向。
具体实施时,二维纹理坐标(UV.x、UV.y)将其采用极坐标转换方式,计算得到二维纹理坐标对应的三维纹理坐标根据计算得到的三维纹理坐标进而计算得出第一相机方向V。需要理解的是,实际应用过程中,二维纹理坐标(UV.x、UV.y)本身对应有实际三维纹理坐标,而该实际三维纹理坐标本身对应有实际相机方向V’。由于实际相机方向V’无法保证反射效果与游戏动态环境之间的一致性,因此需要通过公式1-1至公式1-3计算得到第一相机方向V。将上述根据二维纹理坐标(UV.x、UV.y)计算得出的第一相机方向V,替换上述实际相机方向V’进行后续处理。通过上述过程,获取了与渲染目标关联的天空球二维纹理坐标(UV.x、UV.y)对应的第一相机方向V。
上述过程也可理解为,将基于相机方向的天空球渲染方法通过极坐标转换方法转变为基于渲染目标UV的渲染方法;需要理解的是,由于基于相机方向的天空球渲染方法不同球体表面点对应的相机方向不同。天空球自身的渲染依赖于相机方向,因此通过计算得到第一相机方向V,上述相机方向V能够用于将与渲染目标关联的天空球二维纹理坐标进行映射。
通过上述步骤,借助极坐标转换算法,将基于相机方向的天空球纹理坐标信息“三维纹理坐标”转换为与渲染目标关联的天空球纹理坐标信息“二维纹理坐标(UV.x、UV.y)”并计算得到“三维纹理坐标”对应的第一相机方向V,可用于实现渲染目标上正确完整地记录下整个天空球、且保证反射效果与游戏动态环境之间的一致性的效果。
S403,获取天空球二维纹理坐标信息对应的纹理数据并将天空球二维纹理坐标信息对应的纹理数据进行等距柱状投影以投影到渲染目标上,得到天空渲染目标。
本步骤的作用在于,基于天空球二维纹理坐标信息得到天空渲染目标。
在该步骤中,天空球二维纹理坐标信息(UV.x、UV.y)如前所述,通过UV.x、UV.y各自对应的坐标值进而表示天空球每个点的位置;x表示水平方向、y表示垂直方向。由于该天空球二维纹理坐标信息(UV.x、UV.y)相较于天空球三维纹理坐标信息可用于实现渲染目标上正确完整地记录下整个天空球结果且保证反射效果与游戏动态环境之间一致性的效果,因此将上述天空球二维纹理坐标信息(UV.x、UV.y)对应的天空球结果绘制到渲染目标上,能够得到信息完整准确、渲染效果全面的天空渲染目标。上述天空球二维纹理坐标信息对应的纹理数据可理解为天空球二维纹理坐标信息对应的天空球结果。
上述等距柱状投影作为一种投影方式,也可称为“等距圆柱投影”,是指将球体模型映射到二维平面上的投影方式。该投影方式应用于渲染目标上,能够保证渲染目标渲染效果的准确度,同时保持渲染目标渲染效果的读取方便性。
具体实施时,完成天空球的纹理坐标信息UV的转换后,就可以将二维纹理平面坐标信息表达的天空球结果绘制到渲染目标上。在本申请实施例中,作为一种可行的实施方式,将天空球二维纹理坐标信息对应的纹理数据进行等距柱状投影以投影到渲染目标上,得到天空渲染目标,包括:采用材质转移算法,将天空球二维纹理坐标信息对应的纹理数据进行等距柱状投影以投影到渲染目标上,得到天空渲染目标。
为了便于理解,在本申请实施例中以游戏引擎Unreal Engine 4(简称UE4)为例进行示意性说明。通过直接在蓝图中调用Draw Material to Render Target方法进而实现将材质(二维纹理坐标信息对应的天空球结果)绘制到渲染目标上。
为了便于理解,可参考图8的示意,图8是本申请第二实施例提供的二维纹理平面坐标信息对应的纹理数据绘制到渲染目标上的示意图。如图8所示,通过调用DrawMaterial to Render Target方法将转换后的二维纹理坐标信息对应的纹理数据(即天空球实时结果)绘制到渲染目标上,从而能够得到天空球渲染目标。其中,该天空球实时结果是指游戏中每一帧天空球的渲染结果。
为了便于理解上述过程涉及的天空渲染目标,可参考图9的示意,图9是本申请第二实施例提供的天空渲染目标的示意图。如图9所示,天空渲染目标展示天空场景的方式为二维平面图像方式。通过将上述材质(二维纹理平面坐标信息对应的天空球结果)绘制到渲染目标上,进而实现渲染目标内容信息的充实,使得绘制得到的天空渲染目标能够正确、完整地记录下整个天空球的效果。
通过上述的步骤,生成了天空渲染目标。
S404,将天空渲染目标绘制到游戏场景内的天空球模型上,得到用于模拟反射效果的目标天空球模型。
本步骤的作用在于将天空渲染目标应用于游戏场景中的天空球模型上,进而得到用于模拟反射效果的目标天空球模型。
该过程为天空渲染目标的应用过程,也可理解为将内容信息充实的天空渲染目标应用在游戏场景中的天空球模型上的过程。
在本申请实施例中,作为一种可行的实施方式,将天空渲染目标绘制到游戏场景内的天空球模型上,得到用于模拟反射效果的目标天空球模型,按照如下方式展开:
S404-1,根据第一相机方向,计算得到天空渲染目标对应的纹理坐标信息;
S404-2,基于天空渲染目标对应的纹理坐标信息,将天空渲染目标绘制到游戏场景内的天空球模型上,得到用于模拟反射效果的目标天空球模型。
在本申请实施例中,第一相机方向V如前所述,根据三维纹理坐标中的偏转角θ和三维纹理坐标中的俯仰角计算得到;天空渲染目标对应的纹理坐标信息UV用于表示天空渲染目标上的二维平面像素集合。
需要理解的是,由于步骤S401中更改了天空球的渲染方法(即天空球纹理坐标的表达方式从“三维纹理坐标信息的表达方式”转换为“二维纹理坐标信息(UV.x、UV.y)的表达方式”),因此我们在得到天空渲染目标后、需要将天空渲染目标应用于游戏场景中的天空球模型上,并保持和原流程一致的效果。将天空渲染目标绘制到游戏场景中的天空球模型上之前,获取天空渲染目标对应的纹理坐标信息具体按照如下方式展开:
S404-1-1,将第一相机方向进行归一化处理,得到第一相机方向分量(Qy、Qz);
S404-1-2,根据第一相机方向分量,计算得到天空渲染目标对应的纹理坐标信息。
具体实施时,计算得到天空渲染目标对应的纹理坐标信息的计算公式如下:
该式中,UV表示天空渲染目标对应的纹理坐标信息;Vcam表示归一化的相机方向(即公式1-2计算得到的三维纹理极坐标中的相机方向;第一相机方向V);其中,Vcam。x表示归一化的相机方向在x轴方向的取值(即第一相机方向V在x轴方向的取值,也可理解为第一相机方向x轴方向分量);Vcam。y表示归一化的相机方向在y轴方向的取值(即第一相机方向V在y轴方向的取值,也可理解为第一相机方向y轴方向分量);Vcam。z表示归一化的相机方向在z轴方向的取值(即第一相机方向V在z轴方向的取值,也可理解为第一相机方向z轴方向分量);Π表示圆周率。
通过公式1-4,根据归一化的相机方向Vcam进而计算得到了天空渲染目标对应的纹理坐标信息(纹理坐标UV),通过将天空渲染目标绘制到游戏场景内的天空球模型上进而实现了用于模拟反射效果的目标天空球模型。
通过上述步骤,获得了用于模拟反射效果的目标天空球模型。
在获得了用于模拟反射效果的目标天空球模型之后,本申请实施例的天空球模型的生成方法,还可包括如下实施方式:
步骤1,获取目标天空球模型对应的纹理数据;
步骤2,根据目标天空球模型对应的纹理数据,计算得到用于表示实时反射效果的像素位置信息;
步骤3,基于像素位置信息,将述目标天空球模型对应的纹理数据根据屏幕空间反射算法进行计算处理,生成目标天空球模型的实时反射效果。
其中,在步骤2中根据目标天空球模型对应的纹理数据,计算得到用于表示实时反射效果的像素位置信息,可按照如下方式实现:
步骤2-1,获取目标天空球模型对应的反射向量信息(VRef)、目标天空球模型对应的球心坐标信息(PSky)以及目标天空球模型对应的球体半径信息(RSky);
步骤2-2,根据目标天空球模型对应的反射向量信息、目标天空球模型对应的球心坐标信息和目标天空球模型对应的球体半径信息,计算得到用于表示实时反射效果的像素位置信息(P)。
在本实施例中,屏幕空间反射算法(SSR反射算法)如前所述,是指一种用于模拟场景中物体在镜面表面的反射效果的实时计算方法。通过将游戏场景中的目标天空球模型的天空球球心、天空球半径相关信息,进而计算得到目标天空球模型的反射中的像素位置;根据该反射中的像素位置,使得目标天空球模型生成反射效果。通过将天空渲染目标绘制到场景中的天空球模型上,同时也可以将这张天空球渲染目标应用混合到其他反射中(如SSR反射算法)。
需要理解的是,前述步骤中完成了实时等距柱状投影的渲染目标绘制、将实时绘制的等距柱状投影的天空渲染目标应用在游戏场景内的天空球模型上得到用于模拟反射效果的目标天空球模型。在此目标天空球模型的基础上,还需要混合除目标天空球模型以外的反射内容。由于SSR反射算法相对简单,只需将场景中的物体渲染到一个渲染对象上,然后将渲染结果作为反射源输入到渲染纹理中,可以适应不同的硬件和场景需求,并根据实际需求进行优化和调整。因此,本申请实施例通过将SSR反射算法与目标天空球模型结合,能够解决SSR反射算法受限于屏幕空间而无法得到屏幕外的像素信息的局限性问题。
为了实现目标天空球模型与SSR反射算法的结合,在按照步骤S403中的公式计算出相机方向上对应的目标天空球模型纹理坐标信息UV情况下,为该目标天空球模型设置正确的反射雾效影响。为此,在本申请实施例中,还需要正确计算出目标天空球模型上的像素世界位置(像素位置信息),根据像素世界位置就可以得到正确受雾的天空结果;
其中,像素位置信息,也称之为像素世界位置,是指屏幕上每个像素对应的世界空间位置;雾效通常用于模拟雾气在图像中的表现,通过调整每个像素的颜色值或亮度值进而控制雾效的可见程度,从而创造出不同程度的模糊效果;借助雾效也可增加图像的层次感、使场景更加立体,该计算目标天空球模型上的像素世界位置的具体示意如下:
Q=(1,VRef·PSky,PSky·PSky-RSky*RSky)公式1-5
该式中,Q表示反射中的像素位置P的二次项;VRef表示反射向量;PSky表示目标天空球模型球心;RSky表示目标天空球模型半径。
该式中,P表示反射中的像素位置;PSky表示目标天空球模型球心;VRef表示反射向量;Q表示反射中的像素位置P的二次项;Qy表示Q向量中在y方向的分量;Qz表示Q向量中在z方向的分量。
需要理解的是,上述反射中的像素位置P为目标天空球模型对应的纹理坐标信息UV中的像素世界位置。根据该反射中的像素位置P就能得到正确的反射效果。进一步地,由于实时反射的像素位置也为该像素位置P,进而能够保证反射效果与游戏动态环境之间的一致性。
通过计算该目标天空球模型对应的像素世界位置中表示反射中的像素位置P,进而将计算获得雾效的天空结果与SSR反射混合,得到具有反射效果的目标天空球模型。
为了便于理解,可参考图10的示意,图10是本申请第二实施例提供的目标天空球模型的实时反射效果的示意图。如图10所示,该目标天空球模型生成的反射效果支持开放世界的视角变化、支持动态环境的变换、并且分辨率高、无明显的衔接问题。
当然,在本申请实施例中上述目标天空球模型除了根据屏幕空间反射算法(SSR反射算法)进行结合,还可以为其他类型的算法进行混合结合,进而增加了申请实施例得到的目标天空球模型的通用性和可扩展性。通过在创建渲染目标时,调整渲染目标大小和更新频率也可控制目标天空球模型的性能开销。
本申请实施例提供的实时反射优化方法,通过将基于相机方向的天空球三维纹理坐标信息转换为与渲染目标关联的天空球二维纹理坐标信息;基于天空球二维纹理坐标信息,获取天空球二维纹理坐标信息对应的纹理数据并将天空球二维纹理坐标信息对应的纹理数据进行等距柱状投影以投影到渲染目标上得到天空渲染目标,进而实现在渲染目标上正确、完整地记录下整个天空球。通过将天空渲染目标绘制到游戏场景内的天空球上,得到用于模拟反射效果的目标天空球模型;该目标天空球模型能够满足开放世界游戏的视角切换与动态环境变化需要,并且目标天空球模型的通用性与可扩展性强;目标天空球模型可控性强,不依赖硬件与场景捕获,能够很好地运用于多平台。
进一步地,通过获取目标天空球模型对应的纹理数据;根据目标天空球对应的纹理数据,计算得到用于表示实时反射效果的像素位置信息;基于所述像素位置信息,将目标天空球模型对应的纹理数据根据屏幕空间反射算法进行计算处理,生成的目标天空球模型的实时反射效果能够实现高质量反射效果与性能之间的平衡,且实时反射效果不会存在割裂的效果表现。
上述第二实施例提供了一种天空球模型的生成方法,与之相对应的,本申请一实施例还提供了一种天空球模型的生成装置,由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关的技术特征的细节部分请参见上述提供的方法实施例的对应说明即可,下述对装置实施例的描述仅仅是示意性的。如图11所示,图11是本申请第三实施例提供的天空球模型的生成装置的单元框图,包括:
获取模块1101,用于获取基于相机方向的天空球三维纹理坐标信息和用于存储图形渲染结果的渲染目标;
处理模块1102,用于将所述天空球三维纹理坐标信息进行坐标转换处理,得到天空球二维纹理坐标信息;
确定模块1103,用于获取所述天空球二维纹理坐标信息对应的纹理数据并将所述天空球二维纹理坐标信息对应的纹理数据进行等距柱状投影以投影到所述渲染目标上,得到天空渲染目标;
绘制模块1104,用于将所述天空渲染目标绘制到游戏场景内的天空球模型上,得到用于模拟反射效果的目标天空球模型。
可选地,所述处理模块还用于:
获取所述目标天空球模型对应的纹理数据;
根据所述目标天空球模型对应的纹理数据,计算得到用于表示实时反射效果的像素位置信息;
基于所述像素位置信息,将所述目标天空球模型对应的纹理数据根据屏幕空间反射算法进行计算处理,生成所述目标天空球模型的实时反射效果。
可选地,所述处理模块具体用于:
采用极坐标转换算法,将所述基于相机方向的天空球三维纹理坐标信息进行计算处理,生成所述天空球二维纹理坐标信息。
可选地,所述天空球二维纹理坐标信息,包括:天空球二维纹理坐标、以及第一相机方向;所述第一相机方向为所述天空球三维纹理坐标信息的所述相机方向计算得到的相机方向。
可选地,所述绘制模块具体用于:
根据所述第一相机方向,计算得到所述天空渲染目标对应的纹理坐标信息;
基于所述天空渲染目标对应的纹理坐标信息,将所述天空渲染目标绘制到游戏场景内的天空球模型上,得到用于模拟反射效果的目标天空球模型。
可选地,所述处理模块具体用于:
获取所述目标天空球模型对应的反射向量信息、所述目标天空球模型对应的球心坐标信息以及所述目标天空球模型对应的球体半径信息;
根据所述目标天空球模型对应的反射向量信息、所述目标天空球模型对应的球心坐标信息和所述目标天空球模型对应的球体半径信息,计算得到用于表示实时反射效果的像素位置信息。
可选地,所述绘制模块具体用于:
将所述第一相机方向进行归一化处理,得到第一相机方向分量;
根据所述第一相机方向分量,计算得到所述天空渲染目标对应的纹理坐标信息。
可选地,所述确定模块具体用于:
采用材质转移算法,将所述天空球二维纹理坐标信息对应的纹理数据进行等距柱状投影以投影到所述渲染目标上,得到天空渲染目标。
上述实施例提供了一种天空球模型的生成装置,此外,本申请实施例还提供电子设备,由于电子设备实施例基本相似于方法实施例,所以描述得比较简单,相关的技术特征的细节部分请参见上述提供的方法实施例的对应说明即可,下述对电子设备实施例的描述仅仅是示意性的。该电子设备实施例如下:请参考图12理解本实施例,图12为本实施例提供的电子设备的示意图。
如图12所示,图12是本申请第四实施例提供的一种电子设备的示意图。
在本实施例中,该电子设备1200的一种可选硬件结构可如图12所示,包括:至少一个处理器1201,至少一个存储器1202和至少一个通信总线1205;存储器1202中包含有程序1203与数据1204。
总线1205可以是在电子设备1200内部的组件之间传输数据的通信设备,诸如内部总线(例如,CPU-存储器总线,处理器即为central processing unit,简称CPU)、外部总线(例如,通用串行总线端口、外围组件互连快速端口)等。
另外,电子设备中还包括:至少一个网络接口1206,至少一个外设接口1207。网络接口1206以提供与外部网络1208(例如,因特网、内联网、局域网、移动通信网络等)相关的有线或无线通信;在一些实施例中,网络接口1206可以包括任意数量的网络接口控制器(英文:network interface controller,简称NIC)、射频(英文:Radio Frequency,简称RF)模块、转发器、收发器、调制解调器、路由器、网关、有线网络适配器的任意组合、无线网络适配器、蓝牙适配器、红外适配器、近场通信(英文:Near Field Communication,简称NFC)适配器、蜂窝网络芯片等。
外设接口1207用于与外设连接,外设可以如图中的外设1(图12中的1209)、外设2(图12中的1210)以及外设3(图12中的1211)。外设即外围设备,外围设备可以包括但不限于光标控制设备(例如鼠标、触摸板或触摸屏)、键盘、显示器(例如阴极射线管显示器、液晶显示器)。显示器或发光二极管显示器、视频输入设备(例如,摄像机或通信耦合到视频档案的输入接口)等。
处理器1201可能是CPU,或者是特定集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。
存储器1202可能包含高速RAM(全称:Random Access Memory,即随机存取存储器)存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
其中,处理器1201调用存储器1202所存储的程序与数据,以执行本申请第二实施例的方法。
第五实施例
与本申请第二实施例的方法相对应的,本申请第五实施例还提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,该计算机程序被处理器运行,以执行本申请第二实施例的方法。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
本申请实施例中可能会涉及到对用户数据的使用,在实际应用中,可以在符合所在国的适用法律法规要求的情况下(例如,用户明确同意,对用户切实通知,等),在适用法律法规允许的范围内在本文描述的方案中使用用户特定的个人数据。在上述各实施例中,提供了天空球模型的生成方法以及上述方法对应的装置和电子设备,此外,本申请实施例还提供了用于实现上述天空球模型的生成方法的计算机可读存储介质。本申请提供的计算机可读存储介质实施例描述得比较简单,相关部分请参见上述方法实施例的对应说明即可,下述描述的实施例仅仅是示意性的。
本实施例提供的计算机可读存储介质上存储有计算机指令,该指令被处理器执行时实现上述各方法实施例的各步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
Claims (11)
1.一种天空球模型的生成方法,其特征在于,所述方法包括:
获取基于相机方向的天空球三维纹理坐标信息和用于存储图形渲染结果的渲染目标;
将所述天空球三维纹理坐标信息进行坐标转换处理,得到天空球二维纹理坐标信息;
获取所述天空球二维纹理坐标信息对应的纹理数据并将所述天空球二维纹理坐标信息对应的纹理数据进行等距柱状投影以投影到所述渲染目标上,得到天空渲染目标;
将所述天空渲染目标绘制到游戏场景内的天空球模型上,得到用于模拟反射效果的目标天空球模型。
2.根据权利要求1所述的天空球模型的生成方法,其特征在于,所述方法还包括:
获取所述目标天空球模型对应的纹理数据;
根据所述目标天空球模型对应的纹理数据,计算得到用于表示实时反射效果的像素位置信息;
基于所述像素位置信息,将所述目标天空球模型对应的纹理数据根据屏幕空间反射算法进行计算处理,生成所述目标天空球模型的实时反射效果。
3.根据权利要求1所述的天空球模型的生成方法,其特征在于,所述将所述天空球三维纹理坐标信息进行坐标转换处理,得到天空球二维纹理坐标信息,包括:
采用极坐标转换算法,将所述基于相机方向的天空球三维纹理坐标信息进行计算处理,生成所述天空球二维纹理坐标信息。
4.根据权利要求3所述的天空球模型的生成方法,其特征在于,所述天空球二维纹理坐标信息,包括:天空球二维纹理坐标、以及第一相机方向;所述第一相机方向为所述天空球三维纹理坐标信息的所述相机方向计算得到的相机方向。
5.根据权利要求4所述的天空球模型的生成方法,其特征在于,所述将所述天空渲染目标绘制到游戏场景内的天空球模型上,得到用于模拟反射效果的目标天空球模型,包括:
根据所述第一相机方向,计算得到所述天空渲染目标对应的纹理坐标信息;
基于所述天空渲染目标对应的纹理坐标信息,将所述天空渲染目标绘制到游戏场景内的天空球模型上,得到用于模拟反射效果的目标天空球模型。
6.根据权利要求3所述的天空球模型的生成方法,其特征在于,所述根据所述目标天空球模型对应的纹理数据,计算得到用于表示实时反射效果的像素位置信息,包括:
获取所述目标天空球模型对应的反射向量信息、所述目标天空球模型对应的球心坐标信息以及所述目标天空球模型对应的球体半径信息;
根据所述目标天空球模型对应的反射向量信息、所述目标天空球模型对应的球心坐标信息和所述目标天空球模型对应的球体半径信息,计算得到用于表示实时反射效果的像素位置信息。
7.根据权利要求5所述的天空球模型的生成方法,其特征在于,所述根据所述第一相机方向,计算得到所述天空渲染目标对应的纹理坐标信息,包括:
将所述第一相机方向进行归一化处理,得到第一相机方向分量;
根据所述第一相机方向分量,计算得到所述天空渲染目标对应的纹理坐标信息。
8.根据权利要求1所述的天空球模型的生成方法,其特征在于,所述将所述天空球二维纹理坐标信息对应的纹理数据进行等距柱状投影以投影到所述渲染目标上,得到天空渲染目标,包括:
采用材质转移算法,将所述天空球二维纹理坐标信息对应的纹理数据进行等距柱状投影以投影到所述渲染目标上,得到天空渲染目标。
9.一种天空球模型的生成装置,其特征在于,所述装置包括:
获取模块,用于获取基于相机方向的天空球三维纹理坐标信息和用于存储图形渲染结果的渲染目标;
处理模块,用于将所述天空球三维纹理坐标信息进行坐标转换处理,得到天空球二维纹理坐标信息;
确定模块,用于获取所述天空球二维纹理坐标信息对应的纹理数据并将所述天空球二维纹理坐标信息对应的纹理数据进行等距柱状投影以投影到所述渲染目标上,得到天空渲染目标;
绘制模块,用于将所述天空渲染目标绘制到游戏场景内的天空球模型上,得到用于模拟反射效果的目标天空球模型。
10.一种电子设备,其特征在于,包括处理器和存储器;其中,
所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如权利要求1-8中任一项所述的方法。
11.一种计算机可读存储介质,其上存储有一条或多条计算机指令,其特征在于,该指令被处理器执行以实现如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311825509.5A CN117654031A (zh) | 2023-12-27 | 2023-12-27 | 天空球模型的生成方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311825509.5A CN117654031A (zh) | 2023-12-27 | 2023-12-27 | 天空球模型的生成方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117654031A true CN117654031A (zh) | 2024-03-08 |
Family
ID=90064183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311825509.5A Pending CN117654031A (zh) | 2023-12-27 | 2023-12-27 | 天空球模型的生成方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117654031A (zh) |
-
2023
- 2023-12-27 CN CN202311825509.5A patent/CN117654031A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230053462A1 (en) | Image rendering method and apparatus, device, medium, and computer program product | |
CN102289845B (zh) | 一种三维模型绘制方法以及装置 | |
CN103530907B (zh) | 基于图像的复杂三维模型绘制方法 | |
AU2019226134B2 (en) | Environment map hole-filling | |
US10984586B2 (en) | Spatial mapping fusion from diverse sensing sources | |
US20180144520A1 (en) | Oriented image stitching for spherical image content | |
US11276150B2 (en) | Environment map generation and hole filling | |
US20130141451A1 (en) | Circular scratch shader | |
WO2024212849A1 (zh) | 全视角深度信息的构建方法、装置、设备及存储介质 | |
CN111161398A (zh) | 一种图像生成方法、装置、设备及存储介质 | |
US10909752B2 (en) | All-around spherical light field rendering method | |
WO2021151380A1 (en) | Method for rendering virtual object based on illumination estimation, method for training neural network, and related products | |
CN117974856A (zh) | 渲染方法、计算设备及计算机可读存储介质 | |
CN117372607A (zh) | 一种三维模型的生成方法、装置及电子设备 | |
CN114452646A (zh) | 虚拟对象透视处理方法、装置及计算机设备 | |
CN117654031A (zh) | 天空球模型的生成方法、装置及电子设备 | |
CN112862981B (zh) | 用于呈现虚拟表示的方法和装置、计算机设备和存储介质 | |
Marek et al. | Optimization of 3d rendering in mobile devices | |
CN117173314B (zh) | 一种图像处理方法、装置、设备、介质及程序产品 | |
CN112767547B (zh) | 一种海洋空间的态势可视化方法和装置 | |
US20240212282A1 (en) | Image rendering method and apparatus, device, and medium | |
Lisitsa | 3D view generation and view synthesis based on 2D data. | |
CN117541680A (zh) | 一种镭射材质渲染方法、设备及计算机可读介质 | |
Bhujel | Interpolating 360 Degree Views Using Multi-Sphere Images Generated From Spherical Image | |
CN118694911A (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 |