CN106780707B - 模拟场景中全局光照的方法和装置 - Google Patents

模拟场景中全局光照的方法和装置 Download PDF

Info

Publication number
CN106780707B
CN106780707B CN201611012587.3A CN201611012587A CN106780707B CN 106780707 B CN106780707 B CN 106780707B CN 201611012587 A CN201611012587 A CN 201611012587A CN 106780707 B CN106780707 B CN 106780707B
Authority
CN
China
Prior art keywords
vertex
space
preset
pixel
scene
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.)
Active
Application number
CN201611012587.3A
Other languages
English (en)
Other versions
CN106780707A (zh
Inventor
刘皓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201611012587.3A priority Critical patent/CN106780707B/zh
Publication of CN106780707A publication Critical patent/CN106780707A/zh
Application granted granted Critical
Publication of CN106780707B publication Critical patent/CN106780707B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/506Illumination models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

本申请公开了一种模拟场景中全局光照的方法和装置,该方法包括:将三维场景空间模拟为由连续的多个空间多面体构成;对于空间多面体的每个顶点,在以该顶点为基准的多个预置方向上,分别模拟摄像机朝向该顶点对该三维场景空间进行图像摄取,得到该多个预置方向上模拟出的多幅场景图像;依据预置方向上模拟出的场景图像中各个像素点的像素颜色,确定该顶点在该预置方向上的环境光颜色信息;将得到的各个空间多面体的各个顶点在不同预置方向上的环境光颜色信息存储为该三维场景空间的全局光照参数。该方法和装置可以提高构建出的场景中不同空间位置点的环境光信息的精准度,有利于更为真实的反映出动态对象的全局光照效果。

Description

模拟场景中全局光照的方法和装置
技术领域
本申请涉及图像处理技术领域,尤其涉及一种模拟场景中全局光照的方法和装置。
背景技术
全局光照是计算机图形学中非常重要的研究领域,通过对大自然中光照情况的模拟,捕捉真实环境中光的多次传播(如,折射以及反射)所产生的软影、间接折射等光照效果,这些效果能够大大加强渲染结果的真实感。目前全局光照已经被广泛应用于动画、虚拟现实、游戏等领域中。
在动画、虚拟现实或者游戏等领域中,场景中除了静态对象(在场景中固定不动的物体或人物等)之外,还会包含有大量的动态对象(在场景中可以移动的物体或人物等)。对于静态对象而言,可以通过预计算生成光照贴图的方式,来实现全局光照;然而对于动态对象而言,由于其在场景中位置会不断发生变化,使得不同时刻动态对象受到的光照情况也会不断发生变化,特别是,在游戏或者虚拟现实等对实时性要求较高的领域中,动态对象会由于用户需求的不同,而使得移动位置产生不确定性,这样,就无法通过预先生成光照贴图的方式来确定动态对象在不同位置点的光照情况。
为了能够实时确定出动态对象在不同位置点的光照情况,目前一般会预先将场景切割为多个封闭空间,并计算封闭空间中各个顶点的环境光信息,其中,封闭空间中每个顶点的就可以相当于一个模拟的虚拟光源,这样,当需要确定动态对象的光照情况下,可以基于该动态对象所处的封闭空间以及封闭空间中各个顶点的环境光信息,来确定该动态对象的全局光照效果。然而,目前确定场景内封闭空间中各个顶点的环境光信息的精准度不高,从而使得后续无法更为真实的反映出动态对象的全局光照效果。
发明内容
有鉴于此,本申请提供了一种模拟场景中全局光照的方法和装置,以提高构建出的场景中不同空间位置点的环境光信息的精准度,以有利于更为真实的反映出动态对象的全局光照效果。
为实现上述目的,一方面,本申请实施例提供了一种模拟场景中全局光照的方法,包括:
将三维场景空间模拟为由连续的多个空间多面体构成;
对于每个所述空间多面体的每个顶点,在以所述顶点为基准的多个预置方向上,分别模拟摄像机朝向所述顶点对所述三维场景空间进行图像摄取,得到所述多个预置方向上模拟出的多幅场景图像;
对于以所述顶点为基准的任意一个预置方向,依据所述预置方向上模拟出的场景图像中各个像素点的像素颜色,确定所述顶点在所述预置方向上的环境光颜色信息;
将每个所述空间多面体在所述三维场景空间中的空间位置信息以及每个所述空间多面体中每个顶点在所述多个预置方向上的环境光颜色信息存储为所述三维场景空间的全局光照参数。
另一方面,本申请还提供了一种模拟场景中全局光照的装置,包括:
切分模拟单元,用于将三维场景空间模拟为由连续的多个空间多面体构成;
模拟摄像单元,用于对于每个所述空间多面体的每个顶点,在以所述顶点为基准的多个预置方向上,分别模拟摄像机朝向所述顶点对所述三维场景空间进行图像摄取,得到所述多个预置方向上模拟出的多幅场景图像;
光颜色确定单元,用于对于以所述顶点为基准的任意一个预置方向,依据所述预置方向上模拟出的场景图像中各个像素点的像素颜色,确定所述顶点在所述预置方向上的环境光颜色信息;
信息存储单元,用于将每个所述空间多面体在所述三维场景空间中的空间位置信息以及每个所述空间多面体中每个顶点在所述多个预置方向上的环境光颜色信息存储为所述三维场景空间的全局光照参数。
经由上述的技术方案可知,在申请实施例中,模拟出构成该三维场景空间的连续多个空间多面体,并遍历该多个空间多面体中的每个顶点,在三维场景空间中以每个顶点为基准的多个预置方向上,分别模拟摄像机朝向该顶点对该三维场景空间进行图像摄取,然后依据模拟出的场景图像中各个像素点的像素颜色,确定该顶点在该场景图像对应的预置方向上的环境光颜色信息,由于每一组环境光颜色信息都是基于离散的场景图像像素确定的,而对离散的场景图像进行采样的采样率可以达到较高的级别,从而有利于提高确定出的环境光颜色的精准度,有利于更为真实的反映出动态对象的全局光照效果。
而且,由于确定三维场景空间中离散的场景图像,并基于场景图像最终确定不同空间位置点的环境光颜色是基于GPU的渲染技术完成,相对于基于CPU的SH的渲染技术来确定环境光颜色,能够大大提高计算效率,降低计算耗时。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的计算机设备的一种组成结构示意图;
图2为本申请实施例所公开模拟场景中全局光照的系统一种可能的组成架构示意图;
图3为本申请实施例公开的一种模拟场景中全局光照的方法的一个实施例的流程示意图;
图4为本申请实施例公开的一种模拟场景中全局光照的方法又一个实施例的流程示意图;
图5a为由三维场景空间切分出的多个连续正立方体的示意图;
图5b示出了三维场景空间中切分出的正立方体中共用顶点的示意图;
图6示出了为确定正立方体的顶点的八个预置方向所构建出的正八面体的示意图;
图7a示出了本申请一种三维场景空间的示意图;
图7b示出了模拟出的该三维场景空间在以顶点为基准的预置方向上的场景图像;
图8示出了应用本申请的模拟出的三维场景空间中的全局光照参数确定游戏对象全局光照效果的一种流程示意图;
图9示出了正立方体中各个顶点所对应的目标预置方向的示意图;
图10示出了本申请实施例公开的一种模拟场景中全局光照的装置的一个实施例的组成结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种模拟场景中全局光照的方法和装置,该方法和装置可以用于对游戏、虚拟现实等领域中构建出的三维场景空间进行全局光照参数的模拟,基于模拟出的全局光照参数可以绘制出所述三维场景空间中对象的全局光照效果。
本实施例的方法和装置适用于任意计算机设备中,如,该计算机设备可以是向外提供游戏服务或者虚拟现实服务的服务器,或者是其他具备图形数据处理能力的设备。
如图1,其示出了本申请实施例的模拟场景中全局光照的方法和装置所适用的计算机设备的一种组成结构示意图。在图1中,该计算机设备可以包括:处理器101、存储器102、通信接口103、显示器104、输入单元105和通信总线106。
处理器101、存储器102、通信接口103、显示器104、输入单元105均通过通信总线106完成相互间的通信。
在本申请实施例中,该处理器101至少包括:图形处理器(GPU,GraphicsProcessing Unit)1012,GPU可以用于实现本申请实施例中模拟摄像机摄取三维场景空间中场景图像、图像渲染、计算环境光信息等相关的图形数据处理。
可选的,该处理器101中可以包括中央处理器(CPU,Central Processing Unit)1011,以辅助图形处理器完成一些相关的数据处理,可以实现该计算机设备主要的数据处理操作,当然,该中央处理器还可以被替换为特定应用集成电路(application-specificintegrated circuit,ASIC),数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件等。
存储器102中用于存放一个或者一个以上程序,程序可以包括程序代码,所述程序代码包括计算机操作指令。该存储器可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
该通信接口103可以为通信模块的接口,如GSM模块的接口。
该显示器104可用于显示三维场景空间中所涉及到的对象以及其他图像信息;还可以显示由用户输入的信息,或者提供给用户的信息,以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图片等任意组合来构成。该显示器可以包括显示面板,如,可以为采用液晶显示器、有机发光二极管等形式来配置的显示面板。进一步的,该显示器可以包括具备采集触摸事件的触摸显示面板。
该输入单元105可用于接收输入的用户输入的字符、数字等信息,以及产生与用户设置以及功能控制有关的信号输入。该输入单元可以包括但不限于物理键盘、鼠标、操作杆等中的一种或多种。
当然,图1所示的计算机设备结构并不构成对计算机设备的限定,在实际应用中计算机设备可以包括比图1所示的更多或更少的部件,或者组合某些部件。
为了便于理解本申请的方案,下面对本申请的方案所适用的场景进行简单介绍,参见图2,其示出了本申请一种模拟场景中全局光照的方法所适用的一种系统组成结构示意图。
如图2所示,该系统可以包括由至少一台服务器201组成的服务系统,以及多台终端202。
其中,服务系统中的服务器201中可以存储用于实现游戏或者虚拟现实等功能的场景数据,并在终端请求场景数据时,将场景数据传输给终端。
该终端202用于展现服务器返回的场景数据所对应的场景,并根据用户的操作,向服务器发送更新该场景中动态对象位置的更新请求。
该服务系统中的服务器201还用于响应于终端的更新请求,更新该场景中该动态对象的位置,并将更新后的场景所对应的场景数据发送给终端。
如,游戏玩家可以通过终端向服务器请求游戏数据,终端可以基于服务器返回的游戏数据,展现游戏画面,如果终端检测到游戏玩家发出移动游戏画面中某个游戏对象的操作指令时,就会向服务器发送位置更新请求。服务器响应于该终端的位置更新请求,对游戏画面中该游戏对象的位置进行更新,并将更新后的游戏画面同步给该游戏玩家或者与该游戏玩家进行游戏竞技的所有游戏玩家。
进一步的,在本申请实施例中,服务器还用于在接收到请求对动态对象位置进行更新的更新请求时,或者需要更新场景中待展现的一帧画面时,还可以根据场景中动态对象所需呈现在的目标位置,以及预置的场景中不同空间位置点处的环境光颜色信息,确定该动态对象的全局光照效果,并在向终端返回场景对应的图像数据的同时时,将反映该动态对象的全局光照效果的光照数据也发送给终端,以使得终端上可以呈现出动态对象的全局光照效果。
为了能够实时确定出场景中动态对象的全局光照效果,在本申请实施例中预先利用服务器中GPU对场景的三维场景空间进行了划分,模拟出构成该三维场景空间的连续多个空间多面体,并遍历该多个空间多面体中的每个顶点,在三维场景空间中以每个顶点为基准的多个预置方向上,分别模拟摄像机朝向该顶点对该三维场景空间进行图像摄取,得到每个顶点对应的多个预置方向上模拟出的多幅场景图像(即模拟出的多幅场景照片),并依据模拟出的场景图像中各个像素点的像素颜色,确定该顶点在该场景图像对应的预置方向上的环境光颜色信息,从而模拟出三维场景空间中离散的空间位置点(一个空间位置点就是多面体的一个顶点)所对应的多组环境光颜色信息。
与基于球谐函数(SH,Spherical Harmonic Lighting)并利用CPU计算环境光颜色相比,本申请实施例中由于每一组环境光颜色信息都是基于离散的场景图像像素确定的,而对离散的场景图像进行采样的采样率可以达到较高的级别,从而有利于提高确定出的环境光颜色的精准度;而且由于本申请确定三维场景空间中不同空间位置点的环境光颜色是基于GPU的渲染技术完成,相对于CPU基于SH的渲染技术来确定环境光颜色,能够大大提高计算效率,降低计算耗时。
可以理解的是,本申请实施例中除了利用服务器确定出三维场景空间中模拟出的空间多面体中各个顶点的环境光颜色之外,还可以通过其他计算机设备来模拟出构成该三维场景空间的空间多面体的各个顶点的环境光颜色,并通过该计算机设备将得到的环境光颜色导入到该服务系统的服务器中。
当然,在服务器获取到模拟出的构成该三维场景空间的空间多面体所对应的位置信息,以及该空间多面体的各个顶点的环境光颜色之后,服务器也可以在终端请求场景数据时,将该空间多面体以及各个顶点的环境光颜色等信息发送给终端,以使得终端可以在展现场景数据所对应的场景画面过程中,基于模拟出的空间多面体以及各个顶点的环境光颜色,实时确定场景画面中各个动态对象的全局光照效果。
基于以上本实施例的共性,对本申请实施例的模拟场景中全局光照的方法进行详细介绍。如图3,其示出了本申请一种模拟场景中全局光照的方法一个实施例的流程示意图,本实施例的方法可以应用于前面所提到的计算机设备。本实施例的方法可以包括:
301,将三维场景空间模拟为由连续的多个空间多面体构成。
在游戏、虚拟现实等领域,构建出的包含有多个静态对象和动态对象的场景实际都上是一个三维场景空间。
可以理解的是,三维场景空间是由大量连续的空间点组成,而动态对象在三维场景中的光照效果是由这些连续的空间点的环境光颜色的决定的,而由于空间点数量非常巨大,根本不可能通过算法实时确定出这些连续的空间点的环境光颜色作用到动态对象上所呈现出的光照效果。对于虚拟现实、游戏等实时性要求较高的领域中,可以将三维场景空间抽象为多个连续的小封闭空间,并通过动态对象所处的小封闭空间的环境光颜色,确定动态对象的光照效果。
为了得到这些小的封闭空间,则可以模拟对三维场景空间的切换,以构建出填充该三维场景空间的多个连续的空间多面体。具体的,将该三维场景空间进行切分,使得切分出的每一块空间的形状均为一个多面体,这样,可以模拟出构成该三维场景空间的连续多个空间多面体。如,模拟三维场景空间的划分,以将三维场景空间切分为多个指定大小的连续多个立方体,模拟出构成该三维场景空间的连续多个立方体。
由于对三维场景空间进行切换,得到的连续多个空间多面体,因此,任意两个空间多面体互不重叠,但是相邻的两个空间多面体可以存在共用的顶点或边。
其中,将三维场景空间进行划分的具体方式可以根据需要设定,为了使得模拟出的空间多面体能够完全包围该三维场景空间中的任意一个对象,特别是任意一个动态对象,该空间多面体的空间大小以能够完全包含三维场景空间中的最大的动态对象为准。
可选的,考虑到动态对象在三维场景空间中的移动区域仅仅限制于三维场景空间中可供动态对象移动的可移动空间区域,因此,可以在确定出可移动空间区域之后,仅仅对该可移动空间区域模拟为连续的多个空间多面体构成,以使得模拟出的空间多面体充满该可移动空间区域。
302,对于每个空间多面体的每个顶点,在以该顶点为基准的多个预置方向上,分别模拟摄像机朝向该顶点对该三维场景空间进行图像摄取,得到该多个预置方向上模拟出的多幅场景图像。
可以理解的是,对于任意一个空间多面体而言,空间多面体所对应的封闭空间内的环境光信息可以从该空间多面体上抽象出的离散点的环境光颜色来反映出来,在本申请实施例中,考虑到空间多面体中顶点的特殊性,可以将空间多面体的环境光信息通过该空间多面体中各个顶点的环境光颜色来反映。如,以空间五面体为例,可以确定空间五面体中六个顶点在三维场景空间中的环境光颜色,这样,通过该这六个顶点的环境光颜色可以反映出该空间五面体对应的封闭空间的环境光照情况。
可以理解的是,由于三维场景空间被切分为连续的多个空间多面体,因此,在三维场景空间中会出现两个或多个相邻的空间多面体之间存在共用顶点的情况,在这种情况下,这两个或多个相邻的空间多面体相对于该顶点的方位不同,而该顶点在不同方向上产生的环境光颜色也会产生差异,这样,使得该顶点作用到这两个或多个相邻的空间多面体的光照情况也会有所差异,因此,为了确定出顶点作用到该顶点所属的不同空间多面体上的光照情况,需要分别确定顶点在不同方向上的环境光颜色。
其中,在本申请实施例中,可以预置多个不同的方向,其中,该预置的方向以及方向的数量均可以根据需要设定。其中,预置的方向的数量可以与每个顶点可归属的空间多面体的最大数量相同,如,一个顶点最多可以由八个正多面体共用,则可以预置八个方向。相应的,预置的方向可以是以顶点指向该顶点所归属的空间多面体的方向来确定,如,以顶点为基准的任意一个预置方向可以指向该顶点所归属的空间多面体的中心。
可选的,为了便于确定以顶点为基准的预置方向,可以预置多个方向矢量,然后基于该预置的方向矢量,确定以顶点为基准的多个预置方向。其中,方向矢量的数量与顶点所归属的空间多面体的最大数量相同。
对于一个顶点而言,确定出该顶点以为准的多个预置方向之后,可以在该预置方向上模拟摄像机朝向该顶点进行摄取,以使得摄像机向预置方向相反的方向对该三维场景空间进行摄取,以通过模拟出的摄像机捕获该三维场景范围中处于该模拟出的摄像机的摄像方向以及摄像范围内的光信号,得到模拟出的照片,在本申请实施例中,将模拟摄像机生成的图像称为场景图像。
由于以每个顶点为基准确定出了多个预置方向,因此,需要分别基于这多个预置方向模拟摄像机摄像,这样,每一个预置方向对应着一幅场景图像,使得每个顶点对应着多幅场景图像。遍历该多个空间多面体上所有顶点,可以得到每个顶点各自对应的多幅场景图像,每幅图像分别对应着以该顶点为基准的一个预置方向。
303,对于以该顶点为基准的任意一个预置方向,依据该预置方向上模拟出的场景图像中各个像素点的像素颜色,确定该顶点在该预置方向上的环境光颜色信息。
由于每幅场景图像均反映出在三维场景空间中,以某个顶点为基准的一个预置方向的环境光信息,因此,通过场景图像中各个像素点的像素颜色可以确定出该顶点在预设方向上的环境光颜色信息。其中,该顶点在该预置方向上的环境光颜色信息,也可以理解为在以该顶点为基准的该预置方向上,该顶点所能产生的环境光颜色信息。
可选的,对于以一个顶点为基准的任意一个预置方向,可以通过对该预置方向上模拟出的场景图像中各个像素点的像素颜色进行平均化,并将平均化所得到的像素颜色作为该顶点在该预置方向上的环境光颜色。
进一步的,将场景图像中各个像素点的像素颜色进行平均化可以为:逐步缩小该场景图像,并利用高斯滤波器平均化缩小后的场景图像中各个像素点的像素颜色,直至得到一个单位像素的像素颜色。
304,将每个空间多面体在该三维场景空间中的空间位置信息以及每个空间多面体中每个顶点对应的该多个预置方向上的环境光颜色信息存储为该三维场景空间的全局光照参数。
可以理解的是,通过以上步骤301至304,三维场景空间中该多个空间多面体中任意一个顶点均对应着一组环境光颜色信息,该一组环境光颜色信息包括以该顶点为基准的多个不同预置方向上的环境光颜色信息。
将三维场景空间中划分出的每个空间多面体的空间位置以及每个顶点对应的一组环境光颜色信息进行存储之后,后续可以根据场景中动态对象处于哪个空间多面体,并基于该空间多面体中各个顶点在朝向该空间多面体的方向上的环境光颜色,便可以确定出空间多面体作用于该动态对象的全局光照效果。
本申请实施例中由于每一顶点的环境光颜色信息都是基于离散的场景图像像素确定的,而对离散的场景图像进行采样的采样率可以达到较高的级别,从而有利于提高确定出的环境光颜色的精准度;而且由于本申请确定三维场景空间中离散的场景图像,并基于场景图像最终确定不同空间位置点的环境光颜色是基于GPU的渲染技术完成,相对于基于CPU的SH的渲染技术来确定环境光颜色,能够大大提高计算效率,降低计算耗时。
可以理解的是,在本申请实施例中,该模拟出的该场景图像中各个像素点的像素颜色,与模拟的摄像机的在三维场景空间中的位置、三维场景空间中处于所述摄像机摄像范围内各个空间点原始的像素颜色以及原始像素点与模拟出的摄像机的摄像位置有关,因此,在模拟生成场景图像时,可以基于以上这些信息确定该场景图像各个像素点的像素颜色。
以一个顶点为例,可选的,在一种实现方式中对于以该顶点为基准的任意一个预置方向,可以先基于预置的摄像机与顶点的距离,在三维场景空间中,确定模拟的摄像机处于预置方向上的空间摄像位置;然后,确定三维场景空间中处于摄像机摄像范围内的原始像素点,其中,为了便于区分,将三维场景空间中处于摄像机摄像范围内的空间像素点称为原始像素点;最后,依据原始像素点的像素颜色,原始像素点在三维场景空间中的像素位置相对于该空间摄像位置的第一方向矢量,以及该摄像机朝向该顶点摄像的摄像方向所对应的第二方向矢量,模拟出所述摄像机朝向该顶点对三维场景进行图像摄取所得到场景图像中各个像素点的像素颜色。
可以理解的是,在本申请实施例中,为了能够进一步提高后续确定动态对象的全局光照效果的精准度,封闭的空间多面体的顶点数量不宜过少,可选的,本申请实施例可以将三维场景空间划分为多个连续的正立方体。
为了便于理解本申请实施例的方案,下面以将模拟三维场景空间被划分为多个连续的正立方体为例进行介绍,参见图4,其示出了本申请实施例一种模拟场景中全局光照的方法又一个实施例的方法,本实施例的方法可以应用于前述的计算机设备中,且以下操作所对应的程序可以在计算机设备的GPU中执行。
本实施例的方法可以包括:
401,模拟对三维场景空间的切分,将三维场景空间划分为由连续的多个正立方体所组成的多个封闭空间。
其中,该正立方体的长、宽和高可以根据需要设定,一般可以以每个正立方体均可以包围该三维场景空间中任意一个动态对象为基准。
402,对于每个空间多面体的每个顶点,按照预置的八个方向矢量,确定以顶点为基准的八个预置方向。
如图5a为将三维场景空间切分出的多个连续正立方体的示意图。由图5a可以看出该多个正立方体依次排列但却彼此互不重叠。
同时,由图5a可以看出处于中心的正立方体的每个顶点均有八个立方体共用,而处于边缘的正立体的顶点只被两个正立体共用。如图5b,其示出了三维场景空间中切分出的一部分正立方体的示意图,由图5b可以看出,处于正中间的一个顶点(图5b中颜色最深的顶点)被八个正立方体共用,因此,为了确定出该顶点作用于这八个正立方体空间的环境光颜色,需要预置八个方向矢量。可见,预置的方向矢量的数量与该顶点所归属的正八面体的最大数量相同;同时,根据该八个方向矢量确定出的以顶点为基准的八个预置方向分别指向该八个正立方体,可选的,以该顶点为基准的八个预置方向分别指向该八个正立方体的中心。
403,以该顶点为基准的任意一个预置方向上,基于预置的摄像机与顶点的距离,在该三维场景空间中,确定模拟的摄像机处于预置方向上的空间摄像位置。
其中,摄像机与顶点的距离可以根据需要设定,该距离用于确定该摄像机在三维场景空间中摄取的位置点,在本实施例中,将模拟的摄像机所处的位置点称为空间摄像位置。
404,确定该三维场景空间中处于摄像机摄像范围内的原始像素点。
其中,为了与模拟摄像机对三维场景空间进行摄像所生成的场景图像中的像素点进行区分,将三维场景空间中处于摄像机摄像范围内的像素点称为原始像素点。
405,依据该原始像素点的像素颜色,该原始像素点的像素位置减去该空间摄像位置所得到的差值转换为单位向量所得到的第一方向矢量,以及该摄像机朝向该顶点摄像的摄像方向转换为单位向量所得到的第二方向矢量,模拟出摄像机朝向该顶点对三维场景空间进行图像摄取所得到场景图像中各个像素点的像素颜色。
由于原始像素点是三维场景空间中的像素点,因此,该原始像素点的像素颜色是已知的,可以直接获取到该三维场景空间中该原始像素点的像素颜色。
为了便于区分,在本申请实施例中,将原始像素点在三维场景空间中的位置(或者说坐标位置)称为该原始像素点的像素位置。
其中,该场景图像中每个像素点的像素颜色为:与像素点具有映射关系的原始像素点的像素颜色乘以该第一方向矢量与第二方向矢量的向量点乘。
在本申请实施例中,原始像素点在三维场景空间中的像素位置相对于该空间摄像位置的第一方向矢量具体为:该原始像素点的像素位置减去该空间摄像位置所得到的差值转换为单位向量所得到的方向矢量;相应的,该摄像机朝向该顶点摄像的摄像方向所对应的第二方向矢量具体为:该摄像机朝向该顶点摄像的摄像方向转换为单位向量所得到的方向矢量。
为了便于理解本申请实施例,下面对确定所需预置的八个方向以及预置的模拟出的摄像机的位置的过程进行介绍:
为了能够预先确定所需预置的八个方向,可以先根据共用该顶点的八个正立方体的大小,构建一个以该顶点为中心的正八面体,如参见图6,为构建出的以顶点为中心的正八面体,然后可以确定顶点到该正八面体各个面的垂线,得到正八面体上各个面的垂点(每个面该垂线与该面的交点),将顶点到每个垂点的矢量方向分别确定为一个预置的矢量方向。
相应的,模拟的摄像机的位置可以为该正八面体各面中垂点所在位置处,当然,也可以是其他位置处,这样,八个预置矢量方向对应着八个预置方向,这个需要分别在八个预置方向上模拟摄像机进行摄像,这八个预置方向上设置的八台摄像机的摄像范围也就组成了该正八面体,每个摄像机得到的是一个三角形的照片。如图7a和7b,在图7a中示出了三维场景空间的示意图,在这八个预置方向上模拟摄像机对图7a的三维场景空间摄取照片时,某一个预置方向上模拟生成的照片可以参见图7b。
406,逐步缩小该场景图像,并利用高斯滤波器平均化缩小后的场景图像中各个像素点的像素颜色,直至得到一个单位像素的像素颜色,将得到的单位像素的像素颜色作为该顶点在该场景图像所对应的预置方向上的环境光颜色。
需要说明的是,403至406是确定一个顶点在一个预置方向上的环境光颜色的过程,但是对于任意一个顶点而言,在以该顶点为基准的任意一个预置方向上,均可以通过步骤403至406的操作来确定该顶点在该预置方向上的环境光颜色,从而最终得到该多个正立方体的每个顶点所各自对应的八个预置方向上的环境光颜色。
407,将每个空间多面体在该三维场景空间中的空间位置信息以及每个空间多面体中每个顶点对应的该多个预置方向上的环境光颜色信息存储为该三维场景空间的全局光照参数。
需要说明的是,图4是以模拟将三维场景空间切分为多个连续的正立方体为例进行说明,但是可以理解的是,当将三维场景空间切分为其他空间多面体的情况也适用于本申请实施例,不同之处仅在于预置方向的数量以及朝向可能会不同。
可选的,在本申请以上任意一个实施例中,在确定出该三维场景空间的全局光照参数之后,当需要确定该三维场景空间中动态对象的光照效果时,该动态对象在三维场景空间中位置,以及该三维场景空间中各个顶点的环境光颜色,确定该动态对象的全局光照效果。
具体的,当需要确定所述三维场景空间中动态对象的全局光照效果时,基于该动态对象在三维场景中的位置以及该多个空间多面体在三维场景空间中的空间位置信息,从该多个空间多面体中确定包围该动态对象的目标多面体;对于该目标多面体中任意一个目标顶点,确定出以该目标顶点为基准的多个预置方向中,指向该目标多面体的目标预置方向;然后,利用目标多面体中每个顶点在该目标预置方向上的环境光颜色信息,确定动态对象的全局光照效果。
为了便于理解,基于本申请模拟出的三维场景中的全局光照参数,确定动态对象的全局光照效果的过程,下面结合一种应用场景,对本申请的方案所模拟出的全局光照参数的具体应用进行介绍。
以游戏中的游戏场景为例,游戏场景所对应的游戏系统可以包括游戏玩家所在的游戏客户端以及提供游戏服务的游戏服务系统,如,结合图2,当图2所示的系统为一个游戏系统时,终端可以理解为游戏客户端,而服务系统为提供游戏服务的服务系统,服务系统中的服务器为游戏服务器。相应的,结合图2,参见图8,其示出了应用于本申请的模拟出的三维场景空间中的全局光照参数确定游戏对象全局光照效果的一种流程示意图,本实施例的方法包括:
801,游戏服务器获取游戏的三维场景空间对应的场景数据以及模拟出的该三维场景空间的全局光照参数。
其中,三维场景空间的场景数据实际上是构成该三维场景空间所需的参数或数据等,具体的,该场景数据可以包括三维场景空间的空间布局、背景、静态对象以及动态对象等相关数据。
模拟出的该三维场景空间的全局光照参数包括前面实施例所提到的,该三维场景空间被模拟切分为的多个连续的空间多面体的空间位置,该空间位置表示该空间多面体在三维场景空间中的空间分布;以及该每个空间多面体中每个顶点对应的多个预置方向上的环境光颜色。
其中,该全局光照参数可以是预先在该游戏服务器中模拟出来的,也可以是由其他计算机设备确定出并发送给该游戏服务器的。
802,终端向游戏服务器请求游戏数据。
在玩家需要运行游戏时,可以向服务器发送用于获取游戏数据的请求。如,在玩家与玩家的对战游戏中,如果某个游戏玩家希望加入到该款游戏的对战中,可以向游戏服务器发起加入游戏的请求,以请求该游戏的游戏数据。当然,对于其他游戏场景也同样适用,在此不再赘述。
803,游戏服务器响应于终端的请求,向终端返回该游戏的场景数据。
804,终端展现该场景数据对应的游戏场景画面。
805,当游戏服务器检测到终端移动该游戏场景画面中的动态游戏对象或者需要为终端传送该游戏场景画面的下一帧游戏画面时,依据该游戏场景中动态游戏对象在三维场景中的位置以及该三维场景空间被切分出的多个空间多面体的空间位置信息,从该多个空间多面体中确定包围该动态游戏对象的目标多面体。
其中,动态游戏对象为游戏场景中可以移动位置的游戏对象。
当动态游戏对象的位置发生变化,或者终端请求切换到下一帧游戏画面(如图中虚线所示)时,为了能够在游戏画面中反映出全局光照效果,就需要利用本申请确定出的全局光照参数,渲染出动态游戏对象的全局光照效果。
可以理解的是,在三维场景空间被模拟为由多个空间多面体组成的情况下,动态游戏对象在游戏场景中移动的过程中,某一时刻,该动态游戏对象必然会处于某个空间多面体内部,在本申请实施例中,将包含有动态游戏对象的空间多面体称为目标多面体。如,参见图9,假设动态游戏对象为图9中的圆柱体,则当前包含该圆柱体的立方体就是目标多面体。
806,在游戏服务器中,对于该目标多面体中任意一个目标顶点,确定出以该目标顶点为基准的多个预置方向中,指向该目标多面体的目标预置方向。
而由前面实施例可知,该空间多面体的每个顶点可能会被多个空间多面体共用,而每个顶点可以认为是三维场景空间中的一个模拟光源,这样,该顶点就会朝向不同方向发射光照,且不同方向的光照情况会有所差异。因此,为了确定出目标多面体中每个顶点作用于该目标多面体的环境光颜色,对于该目标多面体的任意一个顶点,需要先确定出该顶点指向该目标立方体的方向为哪个预置方向,然后再确定该顶点在该预置方向上的环境光颜色。
为了便于区分,将顶点对应的多个预置方向中,指向该目标立方体的预置方向称为目标预置方向。
仍以三维场景空间被划分为多个立方体为例,参见图9,其示出了动态游戏对象以及包含该动态游戏对象的目标立方体的示意图。而对于三维场景空间被划分为多个立方体的情况中,除了边缘的立方体之外,每个立方体的顶点会被八个顶点共用,每个顶点具有八个预置方向上的环境光颜色,由图9可知,目标立方体中每个顶点作用于该目标立方体的预置方向均指向该目标立方体的中心,如图9中每个顶点处画出了一个箭头,箭头方向表示了该顶点对应的目标预置方向,该目标预置方向指向该目标立方体的中心。
807,游戏服务器利用目标多面体中每个顶点在各自的目标预置方向上的环境光颜色信息,确定动态对象的全局光照效果。
对于目标多面体的任意一个顶点,确定出该顶点对应的目标预置方向之后,可以提取该顶点在该目标预置方向上的环境光颜色信息。
依据该目标多面体中各个顶点在各自对应的目标预置方向上的环境光颜色,可以确定出该各个顶点作用到该动态对象上的光照效果,便可以得到该动态对象在三维场景中的全局光照效果。如,仍以图9为例,可以按照预置的光照公式,将这八个顶点对应的八个目标预置方向的环境光颜色添加到该动态对象的光照方程中。
808,游戏服务器将游戏画面以及游戏画面中动态对象的全局光照信息发送给终端,以使得终端所展现出的游戏画面中可以呈现出动态对象的全局光照效果。
需要说明的是,本实施例是以游戏场景为例对本申请确定出的全局光照参数的应用进行介绍,但是可以理解的是,对于其他涉及到确定场景中动态对象的全局光照效果的领域,也同样可以应用本申请实施例所确定出的全局光照参数,在此不加以限制。
下面对本发明实施例提供的一种模拟场景中全局光照的装置进行介绍,下文描述的一种模拟场景中全局光照的装置可与上文描述的一种模拟场景中全局光照的方法相互对应参照。
参见图10,其示出了本申请一种模拟场景中全局光照的装置的一个实施例的组成结构示意图,本实施例的装置可以包括:
切分模拟单元1001,用于将三维场景空间模拟为由连续的多个空间多面体构成;
模拟摄像单元1002,用于对于每个所述空间多面体的每个顶点,在以所述顶点为基准的多个预置方向上,分别模拟摄像机朝向所述顶点对所述三维场景空间进行图像摄取,得到所述多个预置方向上模拟出的多幅场景图像;
光颜色确定单元1003,用于对于以所述顶点为基准的任意一个预置方向,依据所述预置方向上模拟出的场景图像中各个像素点的像素颜色,确定所述顶点在所述预置方向上的环境光颜色信息;
信息存储单元1004,用于将每个所述空间多面体在所述三维场景空间中的空间位置信息以及每个所述空间多面体中每个顶点在所述多个预置方向上的环境光颜色信息存储为所述三维场景空间的全局光照参数。
可选的,该装置还包括:
方向确定单元,用于在所述模拟摄像单元在分别模拟摄像机朝向所述顶点对所述三维场景空间进行图像摄取之前,按照预置的多个方向矢量,确定以所述顶点为基准的多个预置方向,其中,所述方向矢量的数量与所述顶点所归属的空间多面体的最大数量相同。
可选的,所述模拟摄像单元,包括:
摄像点确定单元,用于对于每个所述空间多面体的每个顶点,在以所述顶点为基准的任意一个预置方向,基于预置的摄像机与顶点的距离,在所述三维场景空间中,确定模拟的摄像机处于所述预置方向上的空间摄像位置;
像素匹配单元,用于确定所述三维场景空间中处于所述摄像机摄像范围内的原始像素点;
模拟成像单元,用于依据所述原始像素点的像素颜色,所述原始像素点在所述三维场景空间中的像素位置相对于所述空间摄像位置的第一方向矢量,以及所述摄像机朝向所述顶点摄像的摄像方向所对应的第二方向矢量,模拟出所述摄像机朝向所述顶点对所述三维场景进行图像摄取所得到场景图像中各个像素点的像素颜色。
进一步的,所述模拟成像单元确定出的:
所述原始像素点在所述三维场景空间中的像素位置相对于所述空间摄像位置的第一方向矢量为:所述原始像素点的像素位置减去所述空间摄像位置所得到的差值转换为单位向量所得到方向矢量;
所述摄像机朝向所述顶点摄像的摄像方向所对应的第二方向矢量为:所述摄像机朝向所述顶点摄像的摄像方向转换为单位向量所得到的方向矢量;
所述场景图像中每个像素点的像素颜色为:与所述像素点具有映射关系的原始像素点的像素颜色乘以所述第一方向矢量与第二方向矢量的向量点乘。
可选的,所述光颜色确定单元具体为,用于对于以所述顶点为基准的任意一个预置方向,对所述预置方向上模拟出的场景图像中各个像素点的像素颜色进行平均化,并将所述平均化所得到的像素颜色作为所述预置方向上的环境光颜色。
进一步的,所述光颜色确定单元在对所述预置方向上模拟出的场景图像中各个像素点的像素颜色进行平均化时,具体用于,逐步缩小所述预置方向上模拟出的场景图像,并利用高斯滤波器平均化缩小后的场景图像中各个像素点的像素颜色,直至得到一个单位像素的像素颜色。
可选的,所述切分模拟单元具体为,确定所述三维场景空间中可供动态对象移动的可移动空间区域,并将所述可移动空间区域模拟为由连续的多个空间多面体构成。
可选的,所述切换模拟单元在将三维场景空间模拟为由连续的多个空间多面体构成具体为,将所述三维场景空间模拟为由连续的多个正八面体构成;
所述模拟摄像单元具体为,用于对于每个所述正八面体的每个顶点,在以所述顶点为基准的八个预置方向上,分别模拟摄像机朝向所述顶点对所述三维场景空间进行图像摄取,其中,所述以所述顶点为基准的八个预置方向分别指向共用所述顶点的八个正多面体的中心。
可选的,所述装置还包括:
多面体匹配单元,用于当需要确定所述三维场景空间中动态对象的全局光照效果时,基于所述动态对象在所述三维场景中的位置以及所述多个空间多面体在所述三维场景空间中的空间位置信息,从所述多个空间多面体中确定包围所述动态对象的目标多面体;
光照方向匹配单元,用于对于所述目标多面体中任意一个目标顶点,确定出以所述目标顶点为基准的多个预置方向中,指向所述目标多面体的目标预置方向;
光照映射单元,用于利用所述目标多面体中每个顶点在所述目标预置方向上的环境光颜色信息,确定所述动态对象的全局光照效果。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (11)

1.一种模拟场景中全局光照的方法,其特征在于,包括:
将三维场景空间模拟为由连续的多个空间多面体构成;
对于每个所述空间多面体的每个顶点,在以所述顶点为基准的多个预置方向上,分别模拟摄像机朝向所述顶点对所述三维场景空间进行图像摄取,得到所述多个预置方向上模拟出的多幅场景图像;
对于以所述顶点为基准的任意一个预置方向,依据所述预置方向上模拟出的场景图像中各个像素点的像素颜色,确定所述顶点在所述预置方向上的环境光颜色信息;
将每个所述空间多面体在所述三维场景空间中的空间位置信息以及每个所述空间多面体中每个顶点在所述多个预置方向上的环境光颜色信息存储为所述三维场景空间的全局光照参数;
其中,所述依据所述预置方向上模拟出的场景图像中各个像素点的像素颜色,确定所述顶点在所述预置方向上的环境光颜色信息,包括:
对所述预置方向上模拟出的场景图像中各个像素点的像素颜色进行平均化,并将所述平均化所得到的像素颜色作为所述预置方向上的环境光颜色;
其中,所述对所述预置方向上模拟出的场景图像中各个像素点的像素颜色进行平均化,包括:
逐步缩小所述预置方向上模拟出的场景图像,并利用高斯滤波器平均化缩小后的场景图像中各个像素点的像素颜色,直至得到一个单位像素的像素颜色。
2.根据权利要求1所述的方法,其特征在于,在分别模拟摄像机朝向所述顶点对所述三维场景空间进行图像摄取之前,还包括:
按照预置的多个方向矢量,确定以所述顶点为基准的多个预置方向,其中,所述方向矢量的数量与所述顶点所归属的空间多面体的最大数量相同。
3.根据权利要求1或2所述的方法,其特征在于,所述在以所述顶点为基准的多个预置方向上,分别模拟摄像机朝向所述顶点对所述三维场景空间进行图像摄取,得到所述多个预置方向上模拟出的多幅场景图像,包括:
对于以所述顶点为基准的任意一个预置方向,基于预置的摄像机与顶点的距离,在所述三维场景空间中,确定模拟的摄像机处于所述预置方向上的空间摄像位置;
确定所述三维场景空间中处于所述摄像机摄像范围内的原始像素点;
依据所述原始像素点的像素颜色,所述原始像素点在所述三维场景空间中的像素位置相对于所述空间摄像位置的第一方向矢量,以及所述摄像机朝向所述顶点摄像的摄像方向所对应的第二方向矢量,模拟出所述摄像机朝向所述顶点对所述三维场景进行图像摄取所得到场景图像中各个像素点的像素颜色。
4.根据权利要求3所述的方法,其特征在于,所述原始像素点在所述三维场景空间中的像素位置相对于所述空间摄像位置的第一方向矢量为:所述原始像素点的像素位置减去所述空间摄像位置所得到的差值转换为单位向量所得到方向矢量;
所述摄像机朝向所述顶点摄像的摄像方向所对应的第二方向矢量为:所述摄像机朝向所述顶点摄像的摄像方向转换为单位向量所得到的方向矢量;
所述场景图像中每个像素点的像素颜色为:与所述像素点具有映射关系的原始像素点的像素颜色乘以所述第一方向矢量与第二方向矢量的向量点乘。
5.根据权利要求1所述的方法,其特征在于,所述将三维场景空间模拟为由连续的多个空间多面体构成,包括:
确定所述三维场景空间中可供动态对象移动的可移动空间区域;
将所述可移动空间区域模拟为由连续的多个空间多面体构成。
6.根据权利要求1所述的方法,其特征在于,所述将三维场景空间模拟为由连续的多个空间多面体构成,包括:
将所述三维场景空间模拟为由连续的多个正八面体构成;
所述对于每个所述空间多面体的每个顶点,在以所述顶点为基准的多个预置方向上,分别模拟摄像机朝向所述顶点对所述三维场景空间进行图像摄取,包括:
对于每个所述正八面体的每个顶点,在以所述顶点为基准的八个预置方向上,分别模拟摄像机朝向所述顶点对所述三维场景空间进行图像摄取,其中,所述以所述顶点为基准的八个预置方向分别指向共用所述顶点的八个正多面体的中心。
7.根据权利要求1所述的方法,其特征在于,还包括:
当需要确定所述三维场景空间中动态对象的全局光照效果时,基于所述动态对象在所述三维场景中的位置以及所述多个空间多面体在所述三维场景空间中的空间位置信息,从所述多个空间多面体中确定包围所述动态对象的目标多面体;
对于所述目标多面体中任意一个目标顶点,确定出以所述目标顶点为基准的多个预置方向中,指向所述目标多面体的目标预置方向;
利用所述目标多面体中每个顶点在所述目标预置方向上的环境光颜色信息,确定所述动态对象的全局光照效果。
8.一种模拟场景中全局光照的装置,其特征在于,包括:
切分模拟单元,用于将三维场景空间模拟为由连续的多个空间多面体构成;
模拟摄像单元,用于对于每个所述空间多面体的每个顶点,在以所述顶点为基准的多个预置方向上,分别模拟摄像机朝向所述顶点对所述三维场景空间进行图像摄取,得到所述多个预置方向上模拟出的多幅场景图像;
光颜色确定单元,用于对于以所述顶点为基准的任意一个预置方向,依据所述预置方向上模拟出的场景图像中各个像素点的像素颜色,确定所述顶点在所述预置方向上的环境光颜色信息;
信息存储单元,用于将每个所述空间多面体在所述三维场景空间中的空间位置信息以及每个所述空间多面体中每个顶点在所述多个预置方向上的环境光颜色信息存储为所述三维场景空间的全局光照参数;
其中,所述光颜色确定单元具体为,用于对于以所述顶点为基准的任意一个预置方向,对所述预置方向上模拟出的场景图像中各个像素点的像素颜色进行平均化,并将所述平均化所得到的像素颜色作为所述预置方向上的环境光颜色;
其中,所述对所述预置方向上模拟出的场景图像中各个像素点的像素颜色进行平均化,包括:
逐步缩小所述预置方向上模拟出的场景图像,并利用高斯滤波器平均化缩小后的场景图像中各个像素点的像素颜色,直至得到一个单位像素的像素颜色。
9.根据权利要求8所述的装置,其特征在于,还包括:
方向确定单元,用于在所述模拟摄像单元在分别模拟摄像机朝向所述顶点对所述三维场景空间进行图像摄取之前,按照预置的多个方向矢量,确定以所述顶点为基准的多个预置方向,其中,所述方向矢量的数量与所述顶点所归属的空间多面体的最大数量相同。
10.根据权利要求8或9所述的装置,其特征在于,所述模拟摄像单元,包括:
摄像点确定单元,用于对于每个所述空间多面体的每个顶点,在以所述顶点为基准的任意一个预置方向,基于预置的摄像机与顶点的距离,在所述三维场景空间中,确定模拟的摄像机处于所述预置方向上的空间摄像位置;
像素匹配单元,用于确定所述三维场景空间中处于所述摄像机摄像范围内的原始像素点;
模拟成像单元,用于依据所述原始像素点的像素颜色,所述原始像素点在所述三维场景空间中的像素位置相对于所述空间摄像位置的第一方向矢量,以及所述摄像机朝向所述顶点摄像的摄像方向所对应的第二方向矢量,模拟出所述摄像机朝向所述顶点对所述三维场景进行图像摄取所得到场景图像中各个像素点的像素颜色。
11.根据权利要求8所述的装置,其特征在于,还包括:
多面体匹配单元,用于当需要确定所述三维场景空间中动态对象的全局光照效果时,基于所述动态对象在所述三维场景中的位置以及所述多个空间多面体在所述三维场景空间中的空间位置信息,从所述多个空间多面体中确定包围所述动态对象的目标多面体;
光照方向匹配单元,用于对于所述目标多面体中任意一个目标顶点,确定出以所述目标顶点为基准的多个预置方向中,指向所述目标多面体的目标预置方向;
光照映射单元,用于利用所述目标多面体中每个顶点在所述目标预置方向上的环境光颜色信息,确定所述动态对象的全局光照效果。
CN201611012587.3A 2016-11-17 2016-11-17 模拟场景中全局光照的方法和装置 Active CN106780707B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611012587.3A CN106780707B (zh) 2016-11-17 2016-11-17 模拟场景中全局光照的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611012587.3A CN106780707B (zh) 2016-11-17 2016-11-17 模拟场景中全局光照的方法和装置

Publications (2)

Publication Number Publication Date
CN106780707A CN106780707A (zh) 2017-05-31
CN106780707B true CN106780707B (zh) 2019-08-06

Family

ID=58969176

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611012587.3A Active CN106780707B (zh) 2016-11-17 2016-11-17 模拟场景中全局光照的方法和装置

Country Status (1)

Country Link
CN (1) CN106780707B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107481309B (zh) * 2017-08-09 2023-08-22 北京我易家网络科技发展有限公司 三维反射渲染方法及装置
CN108236783B (zh) * 2018-01-09 2020-10-23 网易(杭州)网络有限公司 游戏场景中模拟光照的方法、装置、终端设备及存储介质
CN109364486A (zh) * 2018-10-30 2019-02-22 网易(杭州)网络有限公司 游戏中hdr渲染的方法及装置、电子设备、存储介质
CN112562051B (zh) * 2020-11-30 2023-06-27 腾讯科技(深圳)有限公司 虚拟对象显示方法、装置、设备及存储介质
CN112755535B (zh) * 2021-02-05 2022-07-26 腾讯科技(深圳)有限公司 光照渲染方法、装置、存储介质及计算机设备
CN113744364B (zh) * 2021-02-09 2024-04-05 北京沃东天骏信息技术有限公司 图像处理方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103077552A (zh) * 2012-12-27 2013-05-01 浙江大学 一种基于多视点视频的三维展示方法
CN104167011A (zh) * 2014-07-30 2014-11-26 北京航空航天大学 一种基于方向光辐射度的微结构表面全局光照绘制方法
CN104361624A (zh) * 2014-11-20 2015-02-18 南京大学 一种计算机三维模型中全局光照的渲染方法
CN104574495A (zh) * 2014-12-22 2015-04-29 北京像素软件科技股份有限公司 一种图像渲染方法和装置
CN105989624A (zh) * 2015-02-11 2016-10-05 华为技术有限公司 用于绘制全局光照场景的方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7227548B2 (en) * 2004-05-07 2007-06-05 Valve Corporation Method and system for determining illumination of models using an ambient cube
KR100609145B1 (ko) * 2004-12-20 2006-08-08 한국전자통신연구원 실시간 전역조명 효과를 위한 렌더링 장치 및 그 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103077552A (zh) * 2012-12-27 2013-05-01 浙江大学 一种基于多视点视频的三维展示方法
CN104167011A (zh) * 2014-07-30 2014-11-26 北京航空航天大学 一种基于方向光辐射度的微结构表面全局光照绘制方法
CN104361624A (zh) * 2014-11-20 2015-02-18 南京大学 一种计算机三维模型中全局光照的渲染方法
CN104574495A (zh) * 2014-12-22 2015-04-29 北京像素软件科技股份有限公司 一种图像渲染方法和装置
CN105989624A (zh) * 2015-02-11 2016-10-05 华为技术有限公司 用于绘制全局光照场景的方法和装置

Also Published As

Publication number Publication date
CN106780707A (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
CN106780707B (zh) 模拟场景中全局光照的方法和装置
CN106780709B (zh) 一种确定全局光照信息的方法及装置
CN106484115B (zh) 用于增强和虚拟现实的系统和方法
JP5044817B2 (ja) 仮想空間を構築するための画像処理方法、装置
KR101861313B1 (ko) 삼차원 환경 재구성
CN106710003B (zh) 一种基于OpenGL ES的三维拍照方法和系统
CN107223269A (zh) 三维场景定位方法和装置
US10573060B1 (en) Controller binding in virtual domes
CN109242961A (zh) 一种脸部建模方法、装置、电子设备和计算机可读介质
CN106504315B (zh) 模拟全局光照的方法和装置
WO2023231537A1 (zh) 地形图像渲染方法、装置、设备及计算机可读存储介质及计算机程序产品
CN109685909A (zh) 图像的显示方法、装置、存储介质和电子装置
Clini et al. Interactive immersive virtualmuseum: Digital documentation for virtual interaction
CN111915710B (zh) 基于实时渲染技术的建筑渲染方法
JP2008287696A (ja) 画像処理方法と装置
EP4213102A1 (en) Rendering method and apparatus, and device
CN108043027B (zh) 存储介质、电子装置、游戏画面的显示方法和装置
CN109242966A (zh) 一种基于激光点云数据的3d全景模型建模方法
US10740957B1 (en) Dynamic split screen
CN116402931A (zh) 体积渲染方法、装置、计算机设备和计算机可读存储介质
CN111949904B (zh) 一种基于浏览器的数据处理方法、装置以及终端
CN110889384A (zh) 场景切换方法及装置、电子设备和存储介质
US10909752B2 (en) All-around spherical light field rendering method
CN117974856A (zh) 渲染方法、计算设备及计算机可读存储介质
CN112891940A (zh) 图像数据处理方法及装置、存储介质、计算机设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant