CN113034657B - 游戏场景中光照信息的渲染方法、装置及设备 - Google Patents
游戏场景中光照信息的渲染方法、装置及设备 Download PDFInfo
- Publication number
- CN113034657B CN113034657B CN202110342331.3A CN202110342331A CN113034657B CN 113034657 B CN113034657 B CN 113034657B CN 202110342331 A CN202110342331 A CN 202110342331A CN 113034657 B CN113034657 B CN 113034657B
- Authority
- CN
- China
- Prior art keywords
- illumination
- information
- grid
- probe
- spatial
- 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
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
- G06T15/005—General purpose rendering architectures
-
- 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
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
-
- 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
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Image Generation (AREA)
Abstract
本申请公开了一种游戏场景中光照信息的渲染方法、装置及设备,涉及3D渲染技术领域,能够自适应布局光照探针,降低游戏场景中光照信息采样的更新、传输和存储成本,提高光照信息的渲染效率。其中方法包括:利用游戏场景中空间区域的数据结构对空间区域进行切分,提取包含有物体的空间体素,数据结构为包含有多个层级的网格数据;遍历多个层级的网格数据,针对包含有物体的空间体素设置有效光照探针,得到空间区域的第一光照探针网格;针对未包含物体的空间体素补充设置虚拟光照探针,得到空间区域的第二光照探针网格;将第二光照探针网格所采集的光照信息传输至纹理资源信息中,并根据纹理资源信息对游戏场景中的光照信息进行渲染。
Description
技术领域
本申请涉及3D渲染技术领域,尤其是涉及到一种游戏场景中光照信息的渲染方法、装置及设备。
背景技术
随着游戏行业的兴起,很多3D游戏都需要场景,建立渲染场景,再加上物理效果,可以让游戏场景可视化,提高玩家的游戏效果。由于游戏场景是采用计算机技术描述的虚拟世界,该虚拟世界与真实世界相似,场景中包含光、物体以及游戏中的物体与场景光源发出的光线,发生反射或者折射现象,为了提高游戏场景的真实性,通常会使用全局光照进行渲染,全局光照通过一系列复杂的算法,来计算光线从光源射出后在物体表面间的弹射,通常在运行时实现精准的模拟,所使用的计算开销较大。
在实际开发场景中,针对动态物体全局光照效果,通常采用分布在游戏场景中的光照探收集器对光照信息进行逐像素采样,光照探针收集器作为空间中的一个个位置点,能够存储来自所有方向的光线采样,以形成游戏场景中的光照信息。然而,以像素为单位对光照信息进行采样的方式需要使用更加精确的光照探针,游戏场景中像素纹理的数量决定了光照探针的数量,大量的像素纹理从一定程度上需要GPU硬件快速采样每帧数百万个光照探针,使得游戏场景中光照信息采样的更新、传输和存储成本较高,影响光照信息的渲染效率。
发明内容
有鉴于此,本申请提供了一种游戏场景中光照信息的渲染方法、装置及设备,主要目的在于解决现有技术游戏场景中光照信息采样的更新、传输和存储成本较高,影响光照信息的渲染效率的问题。
根据本申请的第一个方面,提供了一种游戏场景中光照信息的渲染方法,包括:
利用游戏场景中空间区域的数据结构对所述空间区域进行切分,提取包含有物体的空间体素,所述数据结构为包含有多个层级的网格数据;
遍历所述多个层级的网格数据,针对所述包含有物体的空间体素设置有效光照探针,得到空间区域的第一光照探针网格,所述第一光照探针网格包含有效光照探针;
针对未包含物体的空间体素补充设置虚拟光照探针,得到空间区域的第二光照探针网格,所述第二光照探针网格包含有效光照探针和虚拟光照探针;
将所述第二光照探针网格所采集的光照信息传输至纹理资源信息中,并根据所述纹理资源信息对游戏场景中的光照信息进行渲染。
进一步地,所述数据结构为所述空间区域所形成的树形结构,所述利用游戏场景中空间区域的数据结构对所述空间区域进行切分,提取包含有物体的空间体素,具体包括:
利用所述空间区域所形成的树形结构对所述空间区域进行多层级切分,形成多个层级的空间体素;
在多层级空间区域的切分过程中,判断切分后层级内的空间体素是否包含有物体;
若是,则对切分后层级内的空间体素进行下一层级切分,直至层级数量达到预设阈值,提取包含有物体的空间体素。
进一步地,针对所述包含有物体的空间体素设置有效光照探针,得到空间区域的第一光照探针网格,具体包括:
针对包含有物体的空间体素,获取所述空间体素在多个层级的网格数据中所处的网格位置;
在所述第一网格位置中的顶点设置有效光照探针,得到空间区域的第一光照探针网格。
进一步地,所述针对未包含物体的空间体素补充设置虚拟光照探针,得到空间区域的第二光照探针网格,具体包括:
遍历所述多个层级的网格数据,针对每个层级中未包含物体的空间体素,获取所述空间体素在多个层级的网格数据中所处的第二网格位置;
判断所述网格位置的四个顶点处是否设置有效光照探针;
若否,则针对网格位置中未设置有效光照探针的顶点补充设置虚拟光照探针,得到空间区域的第二光照探针网格。
进一步地,在所述将所述第二光照探针网格所采集的光照信息传输至纹理资源信息中,并根据所述纹理资源信息对游戏场景中的光照信息进行渲染之前,所述方法还包括:
抽取所述第二光照探针网格中光照信息所映射的空间逻辑关系,并将所述空间逻辑关系存储至纹理资源信息中。
进一步地,所述根据所述纹理资源信息对游戏场景中的光照信息进行渲染,具体包括:
按照所述空间逻辑关系将所述纹理资源信息中光照信息展开到三维分块数据集中,并利用间接纹理记录三维分块数据集之间层级关系;
利用所述间接纹理中三维分块数据集之间层级关系合并所述三维分块数据集,形成树形结构的三维分块纹理信息,所述三维分块纹理信息中记录有光照信息在游戏场景中的空间位置;
根据视点位置在游戏场景中的空间位置,从所述树形结构的三维分块纹理信息中读取相应空间位置的光照信息进行渲染。
进一步地,所述按照所述空间逻辑关系将所述纹理资源信息中光照信息展开到三维分块数据集中,并利用间接纹理记录每三维分块数据集之间层级关系,具体包括:
根据所述空间逻辑关系,提取所述第二光照探针网格中有效光照探针和虚拟光照探针的层级分布;
按照所述第二光照探针网格中有效光照探针和虚拟光照探针的层级分布,将所述纹理资源信息中光照信息展开到三维分块数据中,并利用间接纹理记录三维分块数据集之间层级关系。
进一步地,所述根据视点位置在游戏场景中的空间位置,从所述树形结构的三维分块纹理信息中读取相应空间位置的光照信息进行渲染,具体包括:
根据视点位置在游戏场景中的空间位置,从所述树形结构的三维分块纹理信息中获取表征三维分块数据集之间层级关系的间接纹理;
利用所述表征三维分块数据集之间层级关系的间接纹理,读取所述树形结构的三维分块纹理信息中相应空间位置的光照信息进行渲染。
根据本申请的第二个方面,提供了一种游戏场景中光照信息的渲染方法,包括:
获取游戏场景中空间体素包含的近距离体素,所述近距离体素为游戏场景中空间体素分割所形成预设层级的体素中符合距离条件的体素,所述距离条件为体素的包围盒与游戏场景中物体包围盒相交;
为所述空间体素包含的近距离体素创建有效光照探针和虚拟光照探针,生成空间体素的探针网格,所述探针网格用于捕获游戏场景中的光照信息;
根据游戏场景中视点位置将所述空间体素的探针网格所捕获的光照信息合并存储至纹理资源信息中;
响应于光照信息的渲染指令,利用所述纹理资源信息建立渲染任务,对所述游戏场景中光照信息进行渲染。
进一步地,所述获取游戏场景中物体表面的近距离体素,具体包括:
获取游戏场景中待挂接物体覆盖的空间区域,将所述空间区域内的每个空间体素分割为预设层级的体素;
遍历预设层级内的每个体素,判断分割后体素的包围盒与游戏场景中物体包围盒相交;
若是,则确定所述分割后体素为游戏场景中物体表面的近距离体素。
进一步地,所述为所述空间体素包含的近距离体素创建有效光照探针和虚拟光照探针,生成空间体素的探针网格,具体包括:
针对所述空间体素中处于层级内的近距离体素,创建有效光照探针;
为所述空间体素增设层级对应的虚拟体素,针对所述虚拟体素中符合添加条件的体素创建虚拟光照探针,所述虚拟光照探针用于对所述空间体素中处于层级内近距离体素所采样的光照数据进行无缝插值。
进一步地,所述为所述空间体素增设层级对应的虚拟体素,针对所述虚拟体素中符合添加条件的体素创建虚拟光照探针,具体包括:
针对所述空间体素中大于一阶的层级,增设层级对应的虚拟体素,所述虚拟体素与所述空间体素中对应层级的体素相映射;
遍历层级对应的虚拟体素,判断所述空间体素中相映射体素是否存在有效光照探针;
若否,则针对虚拟体素创建虚拟光照探针。
进一步地,在所述根据游戏场景中视点位置将所述空间体素的探针网格所捕获的光照信息合并存储至纹理资源信息中之前,所述方法还包括:
根据游戏场景中视点位置将所述空间体素的探针网格所捕获的光照信息展开到三维分块数据集,形成多层级树形结构的三维分块纹理信息;
在展开到三维分块数据集的过程中,将所述三维分块数据集映射的层级关系记录至间接纹理信息中;
所述所述根据游戏场景中视点位置将所述空间体素的探针网格所捕获的光照信息合并存储至纹理资源信息中,具体包括:
将所述三维分块纹理信息与所述间接纹理信息合并存储至纹理资源信息中。
进一步地,所述根据游戏场景中视点位置将所述空间体素的探针网格所捕获的光照信息展开到三维分块数据集,形成多层级树形结构的三维分块纹理信息,具体包括:
利用所述探针网格中有效光照探针采样游戏场景中的光照数据,并对所述光照数据进行插值运算,得到游戏场景中视点位置的第一光照信息;
利用所述探针网格中虚拟光照探针对所述空间体素中处于层级内近距离体素所采样的光照数据进行无缝插值,得到游戏场景中视点位置的第二光照信息;
将所述游戏场景中视点位置的第一光照信息和第二光照信息展开到三维分块数据集,形成多层级树形结构的三维分块纹理信息。
进一步地,所述利用所述纹理资源信息建立渲染任务,对所述游戏场景中光照信息进行渲染,具体包括:
利用所述纹理资源信息建立渲染任务,从所述间接纹理信息中获取三维分块纹理信息映射的层级关系;
根据所述三维分块纹理信息映射的层级关系,查询所述三维纹理信息在树形结构中的位置信息;
按照所述三维纹理信息在树形结构中的位置位置从所述三维分块纹理信息中采样所述空间体素的探针网格所捕获的光照信息,对所述光照信息进行渲染。
进一步地,所述根据所述三维分块纹理信息映射的层级关系,查询所述三维纹理信息在树形结构中的位置信息,具体包括:
根据所述三维分块纹理信息映射的层级关系,提取所述三维分块纹理信息在树形结构中所处层级和偏移量;
根据所述三维分块纹理信息在树形结构中所处层级和偏移量,计算所述三维纹理信息在树形结构中的位置信息。
根据本申请的第三个方面,提供了一种游戏场景中光照信息的渲染装置,包括:
提取单元,用于利用游戏场景中空间区域的数据结构对所述空间区域进行切分,提取包含有物体的空间体素,所述数据结构为包含有多个层级的网格数据;
第一设置单元,用于遍历所述多个层级的网格数据,针对所述包含有物体的空间体素设置有效光照探针,得到空间区域的第一光照探针网格,所述第一光照探针网格包含有效光照探针;
第二设置单元,用于针对未包含物体的空间体素补充设置虚拟光照探针,得到空间区域的第二光照探针网格,所述第二光照探针网格包含有效光照探针和虚拟光照探针;
第一渲染单元,用于将所述第二光照探针网格所采集的光照信息传输至纹理资源信息中,并根据所述纹理资源信息对游戏场景中的光照信息进行渲染。
进一步地,所述数据结构为所述空间区域所形成的树形结构,所述提取单元包括:
切分模块,用于利用所述空间区域所形成的树形结构对所述空间区域进行多层级切分,形成多个层级的空间体素;
第一判断模块,用于在多层级空间区域的切分过程中,判断切分后层级内的空间体素是否包含有物体;
提取模块,用于若是,则对切分后层级内的空间体素进行下一层级切分,直至层级数量达到预设阈值,提取包含有物体的空间体素。
进一步地,所述第一设置单元包括:
第一获取模块,用于针对包含有物体的空间体素,获取所述空间体素在多个层级的网格数据中所处的网格位置;
第一设置模块,用于在所述第一网格位置中的顶点设置有效光照探针,得到空间区域的第一光照探针网格。
进一步地,所述第二设置单元包括:
第二获取模块,用于遍历所述多个层级的网格数据,针对每个层级中未包含物体的空间体素,获取所述空间体素在多个层级的网格数据中所处的第二网格位置;
第二判断模块,用于判断所述网格位置的四个顶点处是否设置有效光照探针;
第二设置模块,用于若否,则针对网格位置中未设置有效光照探针的顶点补充设置虚拟光照探针,得到空间区域的第二光照探针网格。
进一步地,所述装置还包括:
抽取单元,用于在所述将所述第二光照探针网格所采集的光照信息传输至纹理资源信息中,并根据所述纹理资源信息对游戏场景中的光照信息进行渲染之前,抽取所述第二光照探针网格中光照信息所映射的空间逻辑关系,并将所述空间逻辑关系存储至纹理资源信息中。
进一步地,所述第一渲染单元包括:
展开模块,用于按照所述空间逻辑关系将所述纹理资源信息中光照信息展开到三维分块数据集中,并利用间接纹理记录三维分块数据集之间层级关系;
合并模块,用于利用所述间接纹理中三维分块数据集之间层级关系合并所述三维分块数据集,形成树形结构的三维分块纹理信息,所述三维分块纹理信息中记录有光照信息在游戏场景中的空间位置;
读取模块,用于根据视点位置在游戏场景中的空间位置,从所述树形结构的三维分块纹理信息中读取相应空间位置的光照信息进行渲染。
进一步地,所述展开模块,具体用于根据所述空间逻辑关系,提取所述第二光照探针网格中有效光照探针和虚拟光照探针的层级分布;
所述展开模块,具体还用于按照所述第二光照探针网格中有效光照探针和虚拟光照探针的层级分布,将所述纹理资源信息中光照信息展开到三维分块数据中,并利用间接纹理记录三维分块数据集之间层级关系。
进一步地,所述读取模块,具体用于根据视点位置在游戏场景中的空间位置,从所述树形结构的三维分块纹理信息中获取表征三维分块数据集之间层级关系的间接纹理;
所述读取模块,具体还用于利用所述表征三维分块数据集之间层级关系的间接纹理,读取所述树形结构的三维分块纹理信息中相应空间位置的光照信息进行渲染。
根据本申请的第四个方面,提供了一种游戏场景中光照信息的渲染装置,包括:
获取单元,用于获取游戏场景中空间体素包含的近距离体素,所述近距离体素为游戏场景中空间体素分割所形成预设层级的体素中符合距离条件的体素,所述距离条件为体素的包围盒与游戏场景中物体包围盒相交;
创建单元,用于为所述空间体素包含的近距离体素创建有效光照探针和虚拟光照探针,生成空间体素的探针网格,所述探针网格用于捕获游戏场景中的光照信息;
存储单元,用于根据游戏场景中视点位置将所述空间体素的探针网格所捕获的光照信息合并存储至纹理资源信息中;
第二渲染单元,用于响应于光照信息的渲染指令,利用所述纹理资源信息建立渲染任务,对所述游戏场景中光照信息进行渲染。
进一步地,所述获取单元包括:
分割模块,用于获取游戏场景中待挂接物体覆盖的空间区域,将所述空间区域内的每个空间体素分割为预设层级的体素;
第三判断模块,用于遍历预设层级内的每个体素,判断分割后体素的包围盒与游戏场景中物体包围盒相交;
确定模块,用于若是,则确定所述分割后体素为游戏场景中物体表面的近距离体素。
进一步地,所述创建单元包括:
创建模块,用于针对所述空间体素中处于层级内的近距离体素,创建有效光照探针;
增设模块,用于为所述空间体素增设层级对应的虚拟体素,针对所述虚拟体素中符合添加条件的体素创建虚拟光照探针,所述虚拟光照探针用于对所述空间体素中处于层级内近距离体素所采样的光照数据进行无缝插值。
进一步地,所述增设模块包括:
增设子模块,用于针对所述空间体素中大于一阶的层级,增设层级对应的虚拟体素,所述虚拟体素与所述空间体素中对应层级的体素相映射;
判断子模块,用于遍历层级对应的虚拟体素,判断所述空间体素中相映射体素是否存在有效光照探针;
创建子模块,用于若否,则针对虚拟体素创建虚拟光照探针。
进一步地,所述装置还包括:
展开单元,用于在所述根据游戏场景中视点位置将所述空间体素的探针网格所捕获的光照信息合并存储至纹理资源信息中之前,根据游戏场景中视点位置将所述空间体素的探针网格所捕获的光照信息展开到三维分块数据集,形成多层级树形结构的三维分块纹理信息;
记录单元,用于在展开到三维分块数据集的过程中,将所述三维分块数据集映射的层级关系记录至间接纹理信息中;
所述存储单元,还用于将所述三维分块纹理信息与所述间接纹理信息合并存储至纹理资源信息中。
进一步地,所述展开单元包括:
运算模块,用于利用所述探针网格中有效光照探针采样游戏场景中的光照数据,并对所述光照数据进行插值运算,得到游戏场景中视点位置的第一光照信息;
插值模块,用于利用所述探针网格中虚拟光照探针对所述空间体素中处于层级内近距离体素所采样的光照数据进行无缝插值,得到游戏场景中视点位置的第二光照信息;
展开模块,用于将所述游戏场景中视点位置的第一光照信息和第二光照信息展开到三维分块数据集,形成多层级树形结构的三维分块纹理信息。
进一步地,所述第二渲染单元包括:
获取模块,用于利用所述纹理资源信息建立渲染任务,从所述间接纹理信息中获取三维分块纹理信息映射的层级关系;
查询模块,用于根据所述三维分块纹理信息映射的层级关系,查询所述三维纹理信息在树形结构中的位置信息;
采样模块,用于按照所述三维纹理信息在树形结构中的位置位置从所述三维分块纹理信息中采样所述空间体素的探针网格所捕获的光照信息,对所述光照信息进行渲染。
进一步地,所述查询模块包括:
提取子模块,用于根据所述三维分块纹理信息映射的层级关系,提取所述三维分块纹理信息在树形结构中所处层级和偏移量;
计算子模块,用于根据所述三维分块纹理信息在树形结构中所处层级和偏移量,计算所述三维纹理信息在树形结构中的位置信息。
根据本申请的第五个方面,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述方法的步骤。
根据本申请的第六个方面,提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法的步骤。
在游戏场景中,光照是一个影响较大的因素,也是视觉风格不可缺失的一部分,通常情况下,游戏场景中的静态和动态物体都存在体积大小不一、或者模型结构复杂的可能,这些美术资产都很难烘焙成有效的光照贴图,而逐像素采样的光照探针可以避免运动物体的光照效果和整个使用静态光照贴图的场景不协调的感觉,能够给场景带来统一的间接光照,同时简化了渲染管线的复杂度,提升渲染效率。在光照探针运行过程中,可以针对某一光照探针所在的位置点上对光照信息进行采样,然后从该光照探针相邻的其他光照探针的位置上对光照信息进行采样,然后把这些采样得到的光照信息进行插值运算,以计算出这些光照探针之间某个位置的光照信息。
作为光照探针采集光照信息的一种方式,可以针对游戏场景中逐个物体进行采样,具体包括逐个物体对应参数采样和逐个物体3D纹理采样,在逐个物体对应参数采样的过程中,光照变化取决于物体表面法线,在解算阶段都需要利用物体表面的法线,针对小型物体来说是足够的,但可能会导致与相邻较大的模型出现光照不匹配和不连续的情况,所以在CPU端进行一对一的收集、更新、采样,针对每个相关物体都有其对应插值后的SH系数(Spherical Harmonic,球面调和函数),相对容易维护、成本低廉;在逐个物体3D纹理采样的过程中,利用了硬件加速功能在GPU端进行采样插值计算,相比上述逐个物体对应参数采样的方式,从一定程度上改善了光照信息的采样效果。
作为光照探针的采集光照信息的另一种方式,可以针对游戏场景中逐个像素进行采样,由于屏幕像素是固定的,以像素为单位代替以物体单位采集光照信息的方式,能够提供更加精确的光照探针,并在像素或计算着色器中,多个光照探针之间进行线性插值时,可以使用GPU硬件来快速采样每帧数百万个光照探针捕获的光照信息。
借由上述技术方案,本申请提供的一种游戏场景中光照信息的渲染方法、装置及设备,与现有方式使用逐物体采样光照信息的方式相比,本申请通过使用逐像素采样光照信息的方式,一方面能够为大量及复杂物体提供间接光照,适用多种光照采集场景,另一方面避免了3D纹理从CPU端至GPU端的更新成本、传输带宽所限制逐个物体采样的物体总数。与现有方式使用逐像素采样光照信息的方式相比,本申请通过获取游戏场景中空间体素包含的近距离体素,该近距离体素为靠近物体表面的体素,需要更多数量的光照探针,进一步为空间体素包含的近距离体素创建有效光照探针和虚拟光照探针,生成空间体素的探针网格,能够自适应布局光照探针和虚拟光照探针,该虚拟光照探针作为辅助有效光照探针,为游戏场景提供无缝插值,并根据游戏场景中视点位置将空间体素的探针网格所捕获的光照信息合并存储至纹理资源信息中,该纹理资源信息能够应对不同游戏场景的光照信息采样,以使得同屏像素根据其在不同的空间位置采样到不同面密度的插值结果,进而在响应于光照信息的渲染指令时,利用纹理资源信息建立渲染任务,对游戏场景中光照信息进行渲染,该纹理资源信息中缓存了游戏场景的三维纹理地址,由于游戏场景中像素纹理的数量决定了光照探针的数量,而大量的体素通过自适应布局光照探针,能够节省光照探针数量,无需GPU硬件快速采样每帧数百万个光照探针,降低游戏场景中光照信息采样的更新、传输和存储成本,提高光照信息的渲染效率。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本申请实施例提供的一种游戏场景中光照信息的渲染方法的流程示意图;
图2a-2c示出了本申请实施例提供的游戏场景中光照探针的创建过程示意图;
图3示出了本申请实施例提供的另一种游戏场景中光照信息的渲染方法的流程示意图;
图4示出了本申请实施例提供的另一种游戏场景中光照信息的渲染方法的流程示意图;
图5a-5b示出了本申请实施例提供的游戏场景中光照信息的渲染过程示意图;
图6示出了本申请实施例提供的一种游戏场景中光照信息的渲染装置的结构示意图;
图7示出了本申请实施例提供的另一种游戏场景中光照信息的渲染装置的结构示意图;
图8示出了本申请实施例提供的另一种游戏场景中光照信息的渲染装置的结构示意图;
图9示出了本申请实施例提供的另一种游戏场景中光照信息的渲染装置的结构示意图;
图10示出了本发明实施例提供的一种计算机设备的装置结构示意图。
具体实施方式
现在将参照若干示例性实施例来论述本发明的内容。应当理解,论述了这些实施例仅是为了使得本领域普通技术人员能够更好地理解且因此实现本发明的内容,而不是暗示对本发明的范围的任何限制。
如本文中所使用的,术语“包括”及其变体要被解读为意味着“包括但不限于”的开放式术语。术语“基于”要被解读为“至少部分地基于”。术语“一个实施例”和“一种实施例”要被解读为“至少一个实施例”。术语“另一个实施例”要被解读为“至少一个其他实施例”。
本实施例提供了一种游戏场景中光照信息的渲染方法,如图1所示,该方法应用于场景渲染工具的客户端,包括如下步骤:
101、利用游戏场景中空间区域的数据结构对所述空间区域进行切分,提取包含有物体的空间体素。
102、遍历所述多个层级的网格数据,针对所述包含有物体的空间体素设置有效光照探针,得到空间区域的第一光照探针网格。
103、针对未包含物体的空间体素补充设置虚拟光照探针,得到空间区域的第二光照探针网格。
104、将所述第二光照探针网格所采集的光照信息传输至纹理资源信息中,并根据所述纹理资源信息对游戏场景中的光照信息进行渲染。
本发明实施例提供的游戏场景中光照信息的渲染方法,通过利用游戏场景中空间区域的数据结构对空间区域进行切分,提取包含有物体的空间体素,该数据结构包含有多个层级的网格数据,每个层级包含相应层级数量的空间体素,能够利用网格数据形成空间区域内空间体素与物体的相对空间位置关系,以获取到光照变化较强的空间位置,并针对包含有物体的空间体素设置有效光照探针,得到第一光照探针网格,以使得光照变化较强的空间位置能够自适应布置光照探针,遍历多个层级的网格数据,针对未包含物体的空间体素补充设置虚拟光照探针,得到空间区域的第二光照探针网格,以使得不同层级之间空间体素在光照信息采样过程中可以有效插值过渡,针对游戏场景中光照密度分布不均匀的位置,能够提供更有效的光照信息采样结果,将第二光照探针网格所采集的光照信息传输至纹理资源信息,根据纹理资源信息对游戏场景中的光照信息进行渲染,由于光照信息为围绕物体周围所设置有效光照探针所采集,无需使用大量有效光照探针即可采集到符合条件的光照信息,简化渲染的复杂度,而虚拟光照探针能够在有效光照探针采集光照信息的过程中提供补充插值的效果,保证实时渲染的丰富表现力。
本发明实施例中空间区域的数据结构可以为空间区域所形成的树形结构,可以为四叉树、八叉树、十六叉树等,具体在对空间区域进行切分过程中,利用空间区域所形成的树形结构对空间区域进行多层级切分,形成多个层级的空间体素,并在层级空间区域切分过程中,判断切分后层级内的空间体素是否包含有物体,若是,则对切分后层级内的空间体素进行下一层级切分,直至层级数量达到预设阈值,提取包含有物体的空间体素,这里包含有物体指的是靠近物体表面的空间体素。
可以理解的是,在对空间区域进行切分过程中,首先从一个大的体素作为开始,这里大的体素作为最开始进行分割的空间区域,可以基于最小空间体素的层级所设置的,例如,最小空间体素为1*1*1,空间区域的层级数量为3,空间区域为8*8*8,还可以自定义设置。然后在对大的体素进行切分之前,判断空间区域是否包含物体,如果是,则对大的体素进行切分,否则,不对大的体素进行切分,进一步针对切分后形成的两个子体素,分别判断每个子体素中是否物体,同样的,如果是,则对子体素进行切分,否则,不对子体素进行切分,每经过一次体素的切分,会形成一个层级的空间体素,这里空间体素的体素大小随着层级的增大而不断变小,例如,第一层级的空间体素,也就是最开始的大的空间体素,对应有最大体素,而最高层级的空间体素,也就是对空间区域多次切分后对应的空间体素,对应有最小体素,并且没增加一个层级,体素的大小翻倍缩小,最终每个空间区域经过分割后都会形成多个层级的网格数据,但该网格数据中层级分布式不均匀的,只有围绕物体附近的空间区域才会被切分,并且切分后的空间体素的层级分布也是不均等的,例如,针对8*8*8的空间区域,该空间区域包含物体的位置在左上角,且处于第二层级,第一次切分后形成4个的4*4*4空间体素,即为第一层级的空间体素,针对第一层级的空间体素,只有包含物体的空间体素才会被切分为第二层级的空间体素,也就是处于第一层级的其他3个空间体素并不会被切分,第二次切分后形成4个的2*2*2空间体素,同理,针对第二层级的空间体素,也是只有包含物体的空间体素才会被切分为第三层级的空间体素,如果第二层级上的4个空间体素都包含有物体,那么对4个空间体素进行切分后形成的第三层级的空间体素,即每一个第二层级的空间体素都会形成4个1*1*1空间体素。
由于网格数据中层级分布是不均匀的,为了在游戏场景中分布不同密度的光照探针,可以遍历多个层级的网格数据,针对包含有物体的空间体素,获取空间体素在多个层级的网格数据中所处的网格位置,在网格位置的四个顶点设置有效光照探针,得到空间区域的第一光照探针网格,这里空间体素处于不同层级,可能会出现重复的顶点,例如,空间区域的四个顶点位置可能只处于第一层级,也可能在切分过程中处于第二层级或者第三层级,而针对多个层级的网格数据,获取空间体素在多个层级的网格数据中所处的网格位置,判断网格位置的四个顶点处是否设置有效光照探针,若否,则针对网格位置中未设置有效光照探针的顶点补充设置虚拟光照探针,得到空间区域的第二光照探针网格,以使得多层级的网格数据被有效光照探针和虚拟光照探针填满,这里虚拟光照探针并不会捕获光照信息,而是为了后续在利用有效光照探针进行光照信息采样过程中,使用虚拟光照探针进行无缝插值,以提高光照信息的采样结果。
下面以2D四叉树作为具体应用场景进行举例,如图2a-2c所示,首先针对空间区域的切分过程,如图2a所示,将空间区域所形成的空间体素作为第一层级的空间体素,由于第一层级空间体素包含物体,接着对第一层级的空间体素进行切分,形成4个第二层级的空间体素,进一步判断每个第二层级的空间体素是否包含物体,若是,则对第二层级的空间体素进行切分,直至达到第三层级的空间体素;其次,针对空间体素内自适应设置光照探针(有效光照探针和虚拟光照探针),如图2b所示,这里以实线圆圈表示有效光照探针,由于第一层级空间体素中包含有物体,则在第一层级空间体素的四个角落摆放有效光照探针,而针对第二层级的空间体素,只有包含物体的空间体素的四个角落摆放有效光照探针,如图2c中的实线部分,只有处于实线位置的交点摆放有效光照探针,此时可能会出现与第一层级相同的位置,无需重复摆放有效光照探针,而针对不同层级上未摆放有效光照探针的空间体素,如图2c中的虚线部分,补充设置虚拟光照探针,也就是处于虚线位置的交点摆放虚拟光照探针,这里以虚线圆圈表示虚拟光照探针,最终形成包含有效光照探针和虚拟光照探针的光照探针网格。
进一步地,由于光照信息的采集过程受到光照探针网格中光照探位置的影响,不同空间位置的光照信息相互之间也会受到影响,需要在对光照信息进行渲染之前,抽取第二光照探针网格中光照信息所映射的空间逻辑关系,并将空间逻辑关系存储至纹理资源信息中,进而后续在对光照信息进行渲染的过程中,按照空间逻辑关系将纹理资源信息中光照信息展开到三维分块数据集中,并利用间接纹理记录三维分块数据集之间层级关系,进一步利用间接纹理中三维分块数据集之间层级关系合并三维分块数据集,形成树形结构的三维分块纹理信息,该三维分块纹理信息中记录有光照信息在游戏场景中的空间位置,根据视点位置在游戏场景中的空间位置,该视点位置相当于视频设备视角所对应的空间位置,并以该空间位置作为光照采集位置,从树形结构的三维分块纹理信息中读取相应空间位置的光照信息进行渲染,通过预先存储光照信息的空间逻辑关系,无需耗费大量资源去存储和传输探针数据,节省存储和传输开销的同时,保证了渲染精度。
进一步地,考虑到第二光照探针网格中有效光照探针和虚拟光照探针的分布情况,在按照空间逻辑关系将纹理资源信息中光照信息展开到三维分块数据集中,并利用间接纹理记录每三维分块数据集之间层级关系的过程中,首先根据空间逻辑关系,提取第二光照探针网格中有效光照探针和虚拟光照探针的层级分布,然后按照第二光照探针网格中有效光照探针和虚拟光照探针的层级分布,将纹理资源信息中光照信息展开到三维分块数据中,并利用间接纹理记录三维分块数据集之间层级关系。由于间接纹理并不是直接的纹理信息,在传输纹理资源信息的过程可以无需传输大量纹理信息,以提高后续渲染过程中光照信息的传输效率和采样效率。
进一步地,为了准确获取到游戏世界中实际光照信息,在根据视点位置在游戏场景中的空间位置,从树形结构的三维分块纹理信息中读取相应空间位置的光照信息进行渲染的过程中,首先根据视点位置在游戏场景中的空间位置,从树形结构的三维分块纹理信息中获取表征三维分块数据集之间层级关系的间接纹理,然后利用表征三维分块数据集之间层级关系的间接纹理,读取树形结构的三维分块纹理信息中相应空间位置的光照信息进行渲染。由于间接纹理存储有三维分块数据在树形结构中的层级和偏移量,可根据屏幕像素的世界空间位置采样间接纹理中相应层级和偏移量去获取有效光照探针采集到的光照信息。
本实施例提供了另一种游戏场景中光照信息的渲染方法,如图3所示,该方法应用于场景渲染工具的客户端,包括如下步骤:
201、获取游戏场景中空间体素包含的近距离体素。
游戏是实时的、动态的、互动的计算机模拟,很多三维游戏使用三维三角网格表述物体表面,这种表述物体表面的细节层被存储在纹理中,在进行着色的时候,需要首先考虑到光线与之相交的物体,然后选择该物体表面对应的细节层次的多级纹理进行着色计算,空间体素作为游戏空间中纹理渲染的体积单元,包含空间体素的对象可通过立体渲染或者提取给定阈值轮廓的多边形等值面表现出来。
针对游戏场景涉及的光照效果,通常使用全局光照进行渲染,全局光照考虑了光线的直射与尽可能多的漫反射效果,最终呈现出来的光影效果更接近于现实世界。具体全局光照指的是对游戏场景周围光线反射的计算,负责制作出实现环境中的许多细微着色特效、气氛以及有光泽的金属反射效果。现有全局光照方式中,所有间接光照是预先计算的,存储于有光线贴图的纹理信息中,光线贴图让游戏场景能够具备类似全局光照的效果,由于预先计算的,所以只在静态物体上有效。而针对非静态物体的全局光照,使用光照探针可以模拟使用光照贴图的效果,该光照探针可以对照亮在3D空间中的某一个指定点的光照信息在运行前的预计算阶段进行采样,然后将采集到的信息通过球谐函数进行编译打包存。在游戏运行时,通过着色器程序可以把这些光照信息编码快速地重建出光照效果。与光照贴图类似,光照探针存储了场景中的光照信息,而不用的是光照贴图存储的是灯光照射到物体表面的光照信息,而光照探针存储的是灯光穿过真空区域时的光照信息。
其中,游戏场景中空间体素相当于游戏世界中的立体空间单位,近距离体素为游戏场景中空间体素分割所形成预设层级的体素中符合距离条件的体素,相当于靠近物体表面的体素,该距离条件作为判定靠近物体表面体素的依据,可以为体素的包围盒与游戏场景中物体包围盒相交,通过在空间体素在分割过程中会形成,会根据距离条件对待分割像素以及已分割像素进行判断,若体素的包围盒与游戏场景中物体包围盒相交,则说明该体素靠近物体表面,即为近距离体素。
本申请实施例中,对于游戏世界中光照探针的摆放,通常是人工手动摆放,并根据实际光照信息的渲染结果进行摆放位置的调整,时间和空间浪费非常严重,并且探针不能沿着物体表面进行有效覆盖,通过获取游戏场景中空间体素包含的近距离体素,可以从游戏世界中定位到物体表面的区域,并针对物体表面的区域自适应布置光照探针,以采集到游戏场景中更具有环境影响力的光照信息,提高光照信息的采样效率。
对于本实施例的执行主体可以为游戏场景中光照信息的渲染装置或设备,可以配置在场景渲染工具的客户端,游戏场景在布置好后,需要布置光照探针在游戏场景中的位置信息,由于光照探针不能直接挂载到游戏对象上,通常需要依赖游戏场景中指定的空间区域,当向游戏场景中添加光照探针时,可针对指定的空间区域,获取游戏场景中空间像素包含的近距离体素,该近距离体素在游戏场景中的位置作为放置光照探针的优选位置,能够采集到更符合游戏场景需求的光照信息,提高光照渲染效果。
202、为所述空间体素包含的近距离体素创建有效光照探针和虚拟光照探针,生成空间体素的探针网格。
其中,有效光照探针为在游戏世界中具有真实位置的采样点所布置的光照收集器,能够在采样点从各个方向捕捉光线,并将捕捉到光线的颜色信息编码为一组可在游戏运行过程中快速评估的系数,由于空间像素包含预设层级的近距离体素,为了保证不同层级间所布置有效光照探针采样光照信息的插值效果,虚拟光照探针为辅助有效光照探针后续在GPU采样时可以有效插值过渡而形成增设的光照收集器,能够为游戏场景中更大层级体素和更小层级体素之间采样时提供无缝插值。
在本申请实例中,空间体素的探针网格相当于树形结构的网格,该树形结构即为空间体素分割所形成预设层级,例如,八叉树结构对应预设层级为3,即空间体素被分割为8个体素,将每个体素的边角形成2*2*2个探针网格,为了在游戏世界中分布不同密度的光照探针,以及自适应最小化创建总数,当分割空间体素过程中,会记录近距离体素,近距离体素具有更优的光照信息采样效果,进一步针对近距离体素上创建有效光照探针。
可以理解的是,有效光照探针虽然可以提供具有插值效果的光照信息,但仍需要千兆字节以上的资源占用,为了能够胜任各种规模、类型的游戏场景,以及降低资源占用,通过在空间像素不同层级间增设虚拟光照探针,该虚拟光照探针能够关联各个层级内有效光照探针,并根据有效光照探针在游戏世界中不同空间像素采样不同密度的采样插值结果,以减少光照信息采集过程的资源开销。
203、根据游戏场景中视点位置将所述空间体素的探针网格所捕获的光照信息合并存储至纹理资源信息中。
其中,游戏场景中的视点位置为游戏场景中设置光照信息的任一采样位置,针对视点位置,有效光照探针会不断采集游戏场景中变化的光照数据,然后在对光照数据进行插值过程中,利用虚拟光照探针对有效光照探针采集的光照数据提供不同密度的采样插值结果,以形成探针网格捕获的光照信息合并存储至纹理资源信息中。
可以理解的是,空间体素的探针网格所捕获的光照信息包括预先计算的光照数据,许多预算开销尽在编辑时产生,不会出现在运行时,光照探针会存储穿过场景空间的光照数据,并将其整合到纹理资源信息中,该纹理资源信息相当于动态物体的光照贴图,同样包含场景内投射到物体表面的直接光源,以及不同物体间反射的间接光源,可透过物体材质上的着色器描述物体的表面信息和凹凸信息。
204、响应于光照信息的渲染指令,利用所述纹理资源信息建立渲染任务,对所述游戏场景中光照信息进行渲染。
由于纹理资源信息可用准确当前游戏场景中的光照信息,进一步利用纹理资源信息建立渲染任务,对游戏场景中光照信息进行渲染。可以理解的是,以同样的方式,游戏场景中每个场景数据帧都会建立渲染任务,并由场景渲染工具将游戏场景中的场景空间一次提交到渲染队列中,每个可渲染的场景空间,除了自身的网格、材质外,还有包围盒以及其在游戏场景中的矩阵等。
本申请实施例提供的游戏场景中光照信息的渲染方法,与现有方式使用逐物体采样光照信息的方式相比,本申请通过使用逐像素采样光照信息的方式,一方面能够为大量及复杂物体提供间接光照,适用多种光照采集场景,另一方面避免了3D纹理从CPU端至GPU端的更新成本、传输带宽所限制逐个物体采样的物体总数。与现有方式使用逐像素采样光照信息的方式相比,本申请通过获取游戏场景中空间体素包含的近距离体素,该近距离体素为靠近物体表面的体素,需要更多数量的光照探针,进一步为空间体素包含的近距离体素创建有效光照探针和虚拟光照探针,生成空间体素的探针网格,能够自适应布局光照探针和虚拟光照探针,该虚拟光照探针作为辅助有效光照探针,为游戏场景提供无缝插值,并根据游戏场景中视点位置将空间体素的探针网格所捕获的光照信息合并存储至纹理资源信息中,该纹理资源信息能够应对不同游戏场景的光照信息采样,以使得同屏像素根据其在不同的空间位置采样到不同面密度的插值结果,进而在响应于光照信息的渲染指令时,利用纹理资源信息建立渲染任务,对游戏场景中光照信息进行渲染,该纹理资源信息中缓存了游戏场景的三维纹理地址,由于游戏场景中像素纹理的数量决定了光照探针的数量,而大量的体素通过自适应布局光照探针,能够节省光照探针数量,无需GPU硬件快速采样每帧数百万个光照探针,降低游戏场景中光照信息采样的更新、传输和存储成本,提高光照信息的渲染效率。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,本实施例提供了另一种游戏场景中光照信息的渲染方法,如图4所示,该方法包括:
301、获取游戏场景中待挂接物体覆盖的空间区域,将所述空间区域内的每个空间体素分割为预设层级的体素。
游戏场景由物体组成,有些物体是固态的,例如,一块砖头,有些物体无固定形状,例如,一缕烟,但所有物体都占据三维空间的体积,物体可以是不透明的,即光不能通过该物体,也可以是透明的,即光能通过该物体。在渲染不透明物体时,只需要考虑其表面,无需知道物体内部是怎样的,当渲染透明或者半透明物体时,便需要考虑光线通过物体时所造成的反射、折射、散射、吸收等行为,需要结合物体内部结构及属性知识。
游戏场景中光线可以控制角色的活动,影响玩家心情,也可以影响感知各种事件的方式,游戏引擎作为游戏开发的工具,可以在制作游戏当中就实时观察到的各种效果,包括强度、颜色、阴影等都可以在制作成中灵活调整。通常情况下,针对游戏场景中的静态物体,可以使用全局光照来烘焙光照贴图,当烘焙一张光照贴图时,游戏场景内物体会基于光的影响算出一张贴图结果,并迭在游戏场景中物体上建立照明效果,该光照贴图可以包含场景内投射到物体表面的直接光源,以及不同物体间反射的间接光源,可透过物体材质上的着色器描述物体的表面信息和凹凸信息。虽然静态物体的光照贴图无法在游戏执行时改变游戏场景光照条件,但预先计算的实时全局光照***能实时运算复杂的场景光源互动,通过预计算全局光照,能够建立游戏环境带有丰富的全局光照反射,并实时反映光源的改变。而针对游戏场景中的动态物体,可以在指定区域设置光照探针的采样点,来收集指定区域的明暗信息,该指定区域可以为游戏场景中待挂接物体覆盖的空间区域,由于游戏场景中光照变化小的地方所产生的光照信息较少,布置过多光照探针会产生浪费,优选位置是在光照变化、阴影处和光照过渡区域设置密集的光照探针。这里可以针对待挂接区域覆盖的空间区域来选取相应的优选位置,并将空间区域内的每个空间体素分割为预设层级的体素,这里预设层级为树形结构的限制深度,具体可根据实际应用场景来设置,层级数量越高,所需光照探针数量越多。
302、遍历预设层级内的每个体素,判断分割后体素的包围盒与游戏场景中物体包围盒相交。
可以理解的是,为了在靠近物体表面的空间像素布置更多的光照探针,而空旷的空间像素布置少量光照探针,针对预设层级内的每个体素,对其进行距离条件判定,这里分割后体素的包围盒相当于包围分割后体素且平行于坐标轴的最小六面体,游戏场景中物体包围盒相当于包围物体且平行于坐标轴的最小六面体,包围盒构造简单,存储空间小,不适合包含软体变形的复杂虚拟环境,通过判断分割后体素的包围盒与游戏场景中物体的包围盒是否相交,可以空间体素内是否有物体,对应没有物体的空间体素无需对其进行分割,也无需布置光照探针。
303、若是,则确定所述分割后体素为游戏场景中物体表面的近距离体素。
上述判定过程可以在对空间体素进行分割前以及分割后执行,并对符合判定条件的体素进行重复分割,若不符合判定条件的体素则不进行分割,首先,针对一个大的体素开始,作为待分割的原始空间体素,接着对其进行均匀分割,分割原则就是如果靠近物体表面,则对其进行细分,对每一个子体素进行重复分割,直至到达指定最小体素大小,也就是预设层级,该过程会产生预设层级的树形结构。
304、为所述空间体素包含的近距离体素创建有效光照探针和虚拟光照探针,生成空间体素的探针网格。
在本申请实施例中,有效光照探针作为游戏场景中布置的光照探针,通常会接近物体表面,以获取物体表面的光照明暗情况,具体可以针对空间体素中处于层级内的近距离体素,创建有效光照探针,为空间体素增设层级对应的虚拟体素,针对虚拟体素中符合添加条件的体素创建虚拟光照探针,该虚拟光照探针用于对空间体素中处于层级内近距离体素所采样的光照数据进行无缝插值。
具体在为空间体素增设层级对应的虚拟体素,针对虚拟体素中符合添加条件的体素创建虚拟光照探针过程中,可以针对空间体素中大于一阶的层级,增设层级对应的虚拟体素,该虚拟体素与空间体素中对应层级的体素相映射,进一步遍历层级对应的虚拟体素,判断空间体素中相映射体素是否存在有效光照探针,若否,则针对虚拟体素创建虚拟光照探针。这里可以针对不同层级的体素以不同颜色显示,并针对不同层级增设虚拟体素和虚拟光照探针,针对创建有效光照探针的近距离体素周围不存在有效光光照探针的地方,补充创建虚拟光照探针。
305、根据游戏场景中视点位置将所述空间体素的探针网格所捕获的光照信息展开到三维分块数据集,形成多层级树形结构的三维分块纹理信息。
在本申请实施例中,具体可以利用探针网格中有效光照探针采样游戏场景中的光照数据,并对光照数据进行插值运算,得到游戏场景中视点位置的第一光照信息,利用探针网格中虚拟光照探针对空间体素中处于层级内近距离体素所采样的光照数据进行无缝插值,得到游戏场景中视点位置的第二光照信息,进一步将游戏场景中视点位置的第一光照信息和第二光照信息展开到三维分块数据集,形成多层级树形结构的三维分块纹理信息。
应说明的是,树形结构的三维纹理信息结合有效光照探针和虚拟光照探针所捕获的光照信息,并能够能够向GPU传输光照信息以形成文理资源信息。
306、在展开到三维分块数据集的过程中,将所述三维分块数据集映射的层级关系记录至间接纹理信息中。
应说明的是,为了完成三维分块数据集的存储,还需要利用树形结构来构建一个包含逐层级展开表示的间接纹理信息,运行时对间接纹理信息进行采样,获取的内容即为三维分块数据在树形结构中的层级关系,由此计算出三维分块数据中缓存光照探针的采样位置。
307、将所述三维分块纹理信息与所述间接纹理信息合并存储至纹理资源信息中。
可以理解的是,该纹理资源信息存储有游戏场景中每个空间体素中的光照信息,然后通过烘焙到最近光照探针所捕获的光照信息之间进行插值,位于空间体素内任何位置所处的光照信息将在估算后投射到移动对象上。
308、响应于光照信息的渲染指令,利用所述纹理资源信息建立渲染任务,对所述游戏场景中光照信息进行渲染。
在本申请实例中,具体可以利用纹理资源信息建立渲染任务,从间接纹理信息中获取三维分块纹理信息映射的层级关系,然后根据三维分块纹理信息映射的层级关系,查询三维纹理信息在树形结构中的位置信息,最后按照三维纹理信息在树形结构中的位置位置从三维分块纹理信息中采样空间体素的探针网格所捕获的光照信息,对光照信息进行渲染。
具体在根据三维分块纹理信息映射的层级关系,查询三维纹理信息在树形结构中的位置信息的过程中,可以根据三维分块纹理信息映射的层级关系,提取三维分块纹理信息在树形结构中所处层级和偏移量,并根据三维分块纹理信息在树形结构中所处层级和偏移量,计算三维纹理信息在树形结构中的位置信息。
下面以2D四叉树作为具体应用场景进行举例,首先在游戏场景中空间体素内自适应创建有效光照探针,接着在每个体素角落摆放一个有效光照探针,具体可以将每个空间体素分割为4个体素,进一步针对每个体素重复分割,将空间体素形成八叉树结构,形成2*2*2的探针网格,记录接近物体表面的体素,并在这些体素节点上放置有效光照探针,然后在游戏场景中空间体素对应的层级增设虚拟体素和虚拟光照探针,该虚拟体素和虚拟光照探针能够在更大层级和更小层级体素之间采样时实现光照信息的无缝插值,进一步将有效光照探针和虚拟光照探针所捕获的光照信息合并存储至纹理资源信息,该纹理资源信息在渲染过程中可以逐层级展开,每一层级的纹理资源信息中每个三维分块数据都有单独编号,通常每一层级的三维分块数据都以合并了有效光照探针和虚拟光照探针所捕获的光照信息,对于未合并存储的三维分块数据,可以继续合并处理,由于展开后的三维分块数据集由具有相同分块尺寸布局的多个纹理组成的存储结构,该存储结构可以在渲染过程中实现间接寻址,以使得在完成三维分块数据缓存后,可从缓存中获取三维分块数据,整个渲染过程如图5a-5b所示,利用树形结构构建包含逐层级展开的间接纹理,渲染运行时对间接纹理进行采样,获取的内容即为三维分块数据中缓存在树形结构中层级和偏移量,由此可计算出分块缓存中用于光照探针的采样位置。
本申请实例通过将树形结构中带有层级关系的空间体素展开为光照探针集合,形成三维分块数据集,每个三维分块数据在树形结构的层级关系存储在间接映射纹理中,进而在游戏场景渲染过程中,每一帧场景数据根据视点位置更新树形结构中光照探针所捕获的光照信息,并展开到三维分块数据集,展开过程中层级关系记录到间接纹理,然后传输到GPU,采样时根据物体表面采样点的世界位置,先从间接纹理中获得对应树形结构中某一层级关系,最后利用层级关系到三维分块数据中采样最终光照探针所形成的光照信息,对其进行渲染。
进一步的,作为图1方法的具体实现,本申请实施例提供了一种游戏场景中光照信息的渲染装置,如图6所示,该装置包括:提取单元41、第一设置单元42、第二设置单元43、第一渲染单元44。
提取单元41,可以用于利用游戏场景中空间区域的数据结构对所述空间区域进行切分,提取包含有物体的空间体素,所述数据结构为包含有多个层级的网格数据;
第一设置单元42,可以用于遍历所述多个层级的网格数据,针对所述包含有物体的空间体素设置有效光照探针,得到空间区域的第一光照探针网格,所述第一光照探针网格包含有效光照探针;
第二设置单元43,可以用于针对未包含物体的空间体素补充设置虚拟光照探针,得到空间区域的第二光照探针网格,所述第二光照探针网格包含有效光照探针和虚拟光照探针;
第一渲染单元44,可以用于将所述第二光照探针网格所采集的光照信息传输至纹理资源信息中,并根据所述纹理资源信息对游戏场景中的光照信息进行渲染。
在具体的应用场景中,如图7所示,所述数据结构为所述空间区域所形成的树形结构,所述提取单元41包括:
切分模块411,可以用于利用所述空间区域所形成的树形结构对所述空间区域进行多层级切分,形成多个层级的空间体素;
第一判断模块412,可以用于在多层级空间区域的切分过程中,判断切分后层级内的空间体素是否包含有物体;
提取模块413,可以用于若是,则对切分后层级内的空间体素进行下一层级切分,直至层级数量达到预设阈值,提取包含有物体的空间体素。
在具体的应用场景中,如图7所示,所述第一设置单元42包括:
第一获取模块421,可以用于针对包含有物体的空间体素,获取所述空间体素在多个层级的网格数据中所处的网格位置;
第一设置模块422,可以用于在所述第一网格位置中的顶点设置有效光照探针,得到空间区域的第一光照探针网格。
在具体的应用场景中,如图7所示,所述第二设置单元43包括:
第二获取模块431,可以用于遍历所述多个层级的网格数据,针对每个层级中未包含物体的空间体素,获取所述空间体素在多个层级的网格数据中所处的第二网格位置;
第二判断模块432,可以用于判断所述网格位置的四个顶点处是否设置有效光照探针;
第二设置模块433,可以用于若否,则针对网格位置中未设置有效光照探针的顶点补充设置虚拟光照探针,得到空间区域的第二光照探针网格。
在具体的应用场景中,如图7所示,所述装置还包括:
抽取单元45,可以用于在所述将所述第二光照探针网格所采集的光照信息传输至纹理资源信息中,并根据所述纹理资源信息对游戏场景中的光照信息进行渲染之前,抽取所述第二光照探针网格中光照信息所映射的空间逻辑关系,并将所述空间逻辑关系存储至纹理资源信息中。
在具体的应用场景中,如图7所示,所述第一渲染单元44包括:
展开模块441,可以用于按照所述空间逻辑关系将所述纹理资源信息中光照信息展开到三维分块数据集中,并利用间接纹理记录三维分块数据集之间层级关系;
合并模块442,可以用于利用所述间接纹理中三维分块数据集之间层级关系合并所述三维分块数据集,形成树形结构的三维分块纹理信息,所述三维分块纹理信息中记录有光照信息在游戏场景中的空间位置;
读取模块443,可以用于根据视点位置在游戏场景中的空间位置,从所述树形结构的三维分块纹理信息中读取相应空间位置的光照信息进行渲染。
在具体的应用场景中,所述展开模块441,具体可以用于根据所述空间逻辑关系,提取所述第二光照探针网格中有效光照探针和虚拟光照探针的层级分布;
所述展开模块441,具体还可以用于按照所述第二光照探针网格中有效光照探针和虚拟光照探针的层级分布,将所述纹理资源信息中光照信息展开到三维分块数据中,并利用间接纹理记录三维分块数据集之间层级关系。
在具体的应用场景中,所述读取模块443,具体可以用于根据视点位置在游戏场景中的空间位置,从所述树形结构的三维分块纹理信息中获取表征三维分块数据集之间层级关系的间接纹理;
所述读取模块443,具体还可以用于利用所述表征三维分块数据集之间层级关系的间接纹理,读取所述树形结构的三维分块纹理信息中相应空间位置的光照信息进行渲染。
需要说明的是,本实施例提供的一种游戏场景中光照信息的渲染装置所涉及各功能单元的其它相应描述,可以参考图1中的对应描述,在此不再赘述。
进一步的,作为图3和图4方法的具体实现,本申请实施例提供了一种游戏场景中光照信息的渲染装置,如图8所示,该装置包括:获取单元51、创建单元52、存储单元53、第二渲染单元54。
获取单元51,可以用于获取游戏场景中空间体素包含的近距离体素,所述近距离体素为游戏场景中空间体素分割所形成预设层级的体素中符合距离条件的体素,所述距离条件为体素的包围盒与游戏场景中物体包围盒相交;
创建单元52,可以用于为所述空间体素包含的近距离体素创建有效光照探针和虚拟光照探针,生成空间体素的探针网格,所述探针网格用于捕获游戏场景中的光照信息;
存储单元53,可以用于根据游戏场景中视点位置将所述空间体素的探针网格所捕获的光照信息合并存储至纹理资源信息中;
第二渲染单元54,可以用于响应于光照信息的渲染指令,利用所述纹理资源信息建立渲染任务,对所述游戏场景中光照信息进行渲染。
本发明实施例提供的游戏场景中光照信息的渲染装置,与现有方式使用逐物体采样光照信息的方式相比,本申请通过使用逐像素采样光照信息的方式,一方面能够为大量及复杂物体提供间接光照,适用多种光照采集场景,另一方面避免了3D纹理从CPU端至GPU端的更新成本、传输带宽所限制逐个物体采样的物体总数。与现有方式使用逐像素采样光照信息的方式相比,本申请通过获取游戏场景中空间体素包含的近距离体素,该近距离体素为靠近物体表面的体素,需要更多数量的光照探针,进一步为空间体素包含的近距离体素创建有效光照探针和虚拟光照探针,生成空间体素的探针网格,能够自适应布局光照探针和虚拟光照探针,该虚拟光照探针作为辅助有效光照探针,为游戏场景提供无缝插值,并根据游戏场景中视点位置将空间体素的探针网格所捕获的光照信息合并存储至纹理资源信息中,该纹理资源信息能够应对不同游戏场景的光照信息采样,以使得同屏像素根据其在不同的空间位置采样到不同面密度的插值结果,进而在响应于光照信息的渲染指令时,利用纹理资源信息建立渲染任务,对游戏场景中光照信息进行渲染,该纹理资源信息中缓存了游戏场景的三维纹理地址,由于游戏场景中像素纹理的数量决定了光照探针的数量,而大量的体素通过自适应布局光照探针,能够节省光照探针数量,无需GPU硬件快速采样每帧数百万个光照探针,降低游戏场景中光照信息采样的更新、传输和存储成本,提高光照信息的渲染效率。
在具体的应用场景中,如图9所示,所述获取单元51包括:
分割模块511,可以用于获取游戏场景中待挂接物体覆盖的空间区域,将所述空间区域内的每个空间体素分割为预设层级的体素;
第三判断模块512,可以用于遍历预设层级内的每个体素,判断分割后体素的包围盒与游戏场景中物体包围盒相交;
确定模块513,可以用于若是,则确定所述分割后体素为游戏场景中物体表面的近距离体素。
在具体的应用场景中,如图9所示,所述创建单元52包括:
创建模块521,可以用于针对所述空间体素中处于层级内的近距离体素,创建有效光照探针;
增设模块522,可以用于为所述空间体素增设层级对应的虚拟体素,针对所述虚拟体素中符合添加条件的体素创建虚拟光照探针,所述虚拟光照探针用于对所述空间体素中处于层级内近距离体素所采样的光照数据进行无缝插值。
在具体的应用场景中,如图9所示,所述增设模块522包括:
增设子模块5221,可以用于针对所述空间体素中大于一阶的层级,增设层级对应的虚拟体素,所述虚拟体素与所述空间体素中对应层级的体素相映射;
判断子模块5222,可以用于遍历层级对应的虚拟体素,判断所述空间体素中相映射体素是否存在有效光照探针;
创建子模块5223,可以用于若否,则针对虚拟体素创建虚拟光照探针。
在具体的应用场景中,如图5所示,所述装置还包括:
展开单元55,可以用于在所述根据游戏场景中视点位置将所述空间体素的探针网格所捕获的光照信息合并存储至纹理资源信息中之前,根据游戏场景中视点位置将所述空间体素的探针网格所捕获的光照信息展开到三维分块数据集,形成多层级树形结构的三维分块纹理信息;
记录单元56,可以用于在展开到三维分块数据集的过程中,将所述三维分块数据集映射的层级关系记录至间接纹理信息中;
所述存储单元53,还可以用于将所述三维分块纹理信息与所述间接纹理信息合并存储至纹理资源信息中。
在具体的应用场景中,如图9所示,所述展开单元55包括:
运算模块551,可以用于利用所述探针网格中有效光照探针采样游戏场景中的光照数据,并对所述光照数据进行插值运算,得到游戏场景中视点位置的第一光照信息;
插值模块552,可以用于利用所述探针网格中虚拟光照探针对所述空间体素中处于层级内近距离体素所采样的光照数据进行无缝插值,得到游戏场景中视点位置的第二光照信息;
展开模块553,可以用于将所述游戏场景中视点位置的第一光照信息和第二光照信息展开到三维分块数据集,形成多层级树形结构的三维分块纹理信息。
在具体的应用场景中,如图9所示,所述第二渲染单元54包括:
获取模块541,可以用于利用所述纹理资源信息建立渲染任务,从所述间接纹理信息中获取三维分块纹理信息映射的层级关系;
查询模块542,可以用于根据所述三维分块纹理信息映射的层级关系,查询所述三维纹理信息在树形结构中的位置信息;
采样模块543,可以用于按照所述三维纹理信息在树形结构中的位置位置从所述三维分块纹理信息中采样所述空间体素的探针网格所捕获的光照信息,对所述光照信息进行渲染。
在具体的应用场景中,如图9所示,所述查询模块542包括:
提取子模块5421,可以用于根据所述三维分块纹理信息映射的层级关系,提取所述三维分块纹理信息在树形结构中所处层级和偏移量;
计算子模块5422,可以用于根据所述三维分块纹理信息在树形结构中所处层级和偏移量,计算所述三维纹理信息在树形结构中的位置信息。
需要说明的是,本实施例提供的一种游戏场景中光照信息的渲染装置所涉及各功能单元的其它相应描述,可以参考图1-图2中的对应描述,在此不再赘述。
基于上述如图1所示方法,相应的,本申请实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述如图1所示的游戏场景中光照信息的渲染方法。
基于上述如图3-图4所示方法,相应的,本申请实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述如图3-图4所示的游戏场景中光照信息的渲染方法。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
基于上述如图1、图3-图4所示的方法,以及图6-图9所示的虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种游戏场景中光照信息的渲染的实体设备,具体可以为计算机,智能手机,平板电脑,智能手表,服务器,或者网络设备等,该实体设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1、图3-图4所示的游戏场景中光照信息的渲染方法。
可选的,该实体设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)等。
在示例性实施例中,参见图10,上述实体设备包括通信总线、处理器、存储器和通信接口,还可以包括、输入输出接口和显示设备,其中,各个功能单元之间可以通过总线完成相互间的通信。该存储器存储有计算机程序,处理器,用于执行存储器上所存放的程序,执行上述实施例中的画作挂载方法。
本领域技术人员可以理解,本实施例提供的一种游戏场景中光照信息的渲染的实体设备结构并不构成对该实体设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作***、网络通信模块。操作***是管理上述店铺搜索信息处理的实体设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与信息处理实体设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。通过应用本申请的技术方案,与目前现有方式相比,本申请中对于游戏场景中地形元素未发生变更的地形数据帧,说明场景地形并未发生变动,可以使用上一次变更的地形数据帧形成的混合纹理信息来执行游戏场景渲染,无需对每帧地形场景执行多纹理混合运算,减少了纹理渲染过程的时间占用,提高游戏场景中光照信息的渲染速度。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (12)
1.一种游戏场景中光照信息的渲染方法,其特征在于,包括:
利用游戏场景中空间区域的数据结构对所述空间区域进行切分,提取包含有物体的空间体素,所述数据结构为包含有多个层级的网格数据;
遍历所述多个层级的网格数据,针对所述包含有物体的空间体素设置有效光照探针,得到空间区域的第一光照探针网格,所述第一光照探针网格包含有效光照探针,所述有效光照探针为在游戏世界中具有真实位置的采样点所布置的光照收集器;
针对未包含物体的空间体素补充设置虚拟光照探针,得到空间区域的第二光照探针网格,所述第二光照探针网格包含有效光照探针和虚拟光照探针,所述虚拟光照探针为辅助有效光照探针后续在GPU采样时有效插值过渡而增设的光照收集器;
将所述第二光照探针网格所采集的光照信息传输至纹理资源信息中,并根据所述纹理资源信息对游戏场景中的光照信息进行渲染,所述纹理资源信息中记录有从第二光照探针网格中抽取光照信息所映射的空间逻辑关系。
2.根据权利要求1所述的方法,其特征在于,所述数据结构为所述空间区域所形成的树形结构,所述利用游戏场景中空间区域的数据结构对所述空间区域进行切分,提取包含有物体的空间体素,具体包括:
利用所述空间区域所形成的树形结构对所述空间区域进行多层级切分,形成多个层级的空间体素;
在多层级空间区域的切分过程中,判断切分后层级内的空间体素是否包含有物体;
若是,则对切分后层级内的空间体素进行下一层级切分,直至层级数量达到预设阈值,提取包含有物体的空间体素。
3.根据权利要求1所述的方法,其特征在于,所述针对所述包含有物体的空间体素设置有效光照探针,得到空间区域的第一光照探针网格,具体包括:
遍历所述多个层级的网格数据,针对包含有物体的空间体素,获取所述空间体素在多个层级的网格数据中所处的第一网格位置;
在所述第一网格位置中的顶点设置有效光照探针,得到空间区域的第一光照探针网格。
4.根据权利要求1所述的方法,其特征在于,所述针对未包含物体的空间体素补充设置虚拟光照探针,得到空间区域的第二光照探针网格,具体包括:
遍历所述多个层级的网格数据,针对每个层级中未包含物体的空间体素,获取所述空间体素在多个层级的网格数据中所处的第二网格位置;
在所述第二网格位置中的顶点补充设置虚拟光照探针,得到空间区域的第二光照探针网格。
5.根据权利要求4所述的方法,其特征在于,所述在所述第二网格位置中的顶点补充设置虚拟光照探针,得到空间区域的第二光照探针网格,具体包括:
判断所述第二网格位置的四个顶点处是否设置有效光照探针;
若否,则针对所述第二网格位置中未设置有效光照探针的顶点补充设置虚拟光照探针,得到空间区域的第二光照探针网格。
6.根据权利要求1-5中任一项所述的方法,其特征在于,在所述将所述第二光照探针网格所采集的光照信息传输至纹理资源信息中,并根据所述纹理资源信息对游戏场景中的光照信息进行渲染之前,所述方法还包括:
抽取所述第二光照探针网格中光照信息所映射的空间逻辑关系,并将所述空间逻辑关系存储至纹理资源信息中。
7.根据权利要求6所述的方法,其特征在于,所述根据所述纹理资源信息对游戏场景中的光照信息进行渲染,具体包括:
按照所述空间逻辑关系将所述纹理资源信息中光照信息展开到三维分块数据集中,并利用间接纹理记录三维分块数据集之间层级关系;
利用所述间接纹理中三维分块数据集之间层级关系合并所述三维分块数据集,形成树形结构的三维分块纹理信息,所述三维分块纹理信息中记录有光照信息在游戏场景中的空间位置;
根据视点位置在游戏场景中的空间位置,从所述树形结构的三维分块纹理信息中读取相应空间位置的光照信息进行渲染。
8.根据权利要求7所述的方法,其特征在于,所述按照所述空间逻辑关系将所述纹理资源信息中光照信息展开到三维分块数据集中,并利用间接纹理记录每三维分块数据集之间层级关系,具体包括:
根据所述空间逻辑关系,提取所述第二光照探针网格中有效光照探针和虚拟光照探针的层级分布;
按照所述第二光照探针网格中有效光照探针和虚拟光照探针的层级分布,将所述纹理资源信息中光照信息展开到三维分块数据中,并利用间接纹理记录三维分块数据集之间层级关系。
9.根据权利要求7所述的方法,其特征在于,所述根据视点位置在游戏场景中的空间位置,从所述树形结构的三维分块纹理信息中读取相应空间位置的光照信息进行渲染,具体包括:
根据视点位置在游戏场景中的空间位置,从所述树形结构的三维分块纹理信息中获取表征三维分块数据集之间层级关系的间接纹理;
利用所述表征三维分块数据集之间层级关系的间接纹理,读取所述树形结构的三维分块纹理信息中相应空间位置的光照信息进行渲染。
10.一种游戏场景中光照信息的渲染装置,其特征在于,包括:
提取单元,用于利用游戏场景中空间区域的数据结构对所述空间区域进行切分,提取包含有物体的空间体素,所述数据结构为包含有多个层级的网格数据;
第一设置单元,用于遍历所述多个层级的网格数据,针对所述包含有物体的空间体素设置有效光照探针,得到空间区域的第一光照探针网格,所述第一光照探针网格包含有效光照探针,所述有效光照探针为在游戏世界中具有真实位置的采样点所布置的光照收集器;
第二设置单元,用于针对未包含物体的空间体素补充设置虚拟光照探针,得到空间区域的第二光照探针网格,所述第二光照探针网格包含有效光照探针和虚拟光照探针,所述虚拟光照探针为辅助有效光照探针后续在GPU采样时有效插值过渡而增设的光照收集器;
第一渲染单元,用于将所述第二光照探针网格所采集的光照信息传输至纹理资源信息中,并根据所述纹理资源信息对游戏场景中的光照信息进行渲染,所述纹理资源信息中记录有从第二光照探针网格中抽取光照信息所映射的空间逻辑关系。
11.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9中任一项所述游戏场景中光照信息的渲染方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述游戏场景中光照信息的渲染方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210325539.9A CN115131482A (zh) | 2021-03-30 | 2021-03-30 | 游戏场景中光照信息的渲染方法、装置及设备 |
CN202110342331.3A CN113034657B (zh) | 2021-03-30 | 2021-03-30 | 游戏场景中光照信息的渲染方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110342331.3A CN113034657B (zh) | 2021-03-30 | 2021-03-30 | 游戏场景中光照信息的渲染方法、装置及设备 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210325539.9A Division CN115131482A (zh) | 2021-03-30 | 2021-03-30 | 游戏场景中光照信息的渲染方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113034657A CN113034657A (zh) | 2021-06-25 |
CN113034657B true CN113034657B (zh) | 2022-04-22 |
Family
ID=76452932
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110342331.3A Active CN113034657B (zh) | 2021-03-30 | 2021-03-30 | 游戏场景中光照信息的渲染方法、装置及设备 |
CN202210325539.9A Pending CN115131482A (zh) | 2021-03-30 | 2021-03-30 | 游戏场景中光照信息的渲染方法、装置及设备 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210325539.9A Pending CN115131482A (zh) | 2021-03-30 | 2021-03-30 | 游戏场景中光照信息的渲染方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN113034657B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116740255A (zh) * | 2022-03-02 | 2023-09-12 | 腾讯科技(深圳)有限公司 | 渲染处理方法、装置、设备以及介质 |
CN116934946A (zh) * | 2022-04-02 | 2023-10-24 | 腾讯科技(深圳)有限公司 | 虚拟地形的光照渲染方法、装置和存储介质及电子设备 |
CN118096985A (zh) * | 2023-07-11 | 2024-05-28 | 北京艾尔飞康航空技术有限公司 | 虚拟森林场景实时渲染方法及装置 |
CN117876572A (zh) * | 2024-03-13 | 2024-04-12 | 腾讯科技(深圳)有限公司 | 光照渲染方法、装置、设备及存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103198515B (zh) * | 2013-04-18 | 2016-05-25 | 北京尔宜居科技有限责任公司 | 一种即时调节3d场景中物体光照渲染效果的方法 |
US9390548B2 (en) * | 2014-06-16 | 2016-07-12 | Sap Se | Three-dimensional volume rendering using an in-memory database |
CN104574489B (zh) * | 2014-12-16 | 2017-11-03 | 中国人民解放军理工大学 | 基于叠层四叉树图集的地形与动态矢量集成方法 |
EP3337585B1 (en) * | 2015-08-17 | 2022-08-10 | Lego A/S | Method of creating a virtual game environment and interactive game system employing the method |
CN106204701B (zh) * | 2016-06-22 | 2019-04-30 | 浙江大学 | 一种基于光探针插值动态计算间接反射高光的渲染方法 |
CN111340926B (zh) * | 2020-03-25 | 2023-09-22 | 北京畅游创想软件技术有限公司 | 一种渲染方法及装置 |
CN111798558A (zh) * | 2020-06-02 | 2020-10-20 | 完美世界(北京)软件科技发展有限公司 | 数据处理方法及装置 |
CN111744183B (zh) * | 2020-07-02 | 2024-02-09 | 网易(杭州)网络有限公司 | 游戏中的光照采样方法、装置以及计算机设备 |
CN112169324A (zh) * | 2020-09-22 | 2021-01-05 | 完美世界(北京)软件科技发展有限公司 | 游戏场景的渲染方法、装置及设备 |
-
2021
- 2021-03-30 CN CN202110342331.3A patent/CN113034657B/zh active Active
- 2021-03-30 CN CN202210325539.9A patent/CN115131482A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN115131482A (zh) | 2022-09-30 |
CN113034657A (zh) | 2021-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110738721B (zh) | 基于视频几何分析的三维场景渲染加速方法及*** | |
CN113034657B (zh) | 游戏场景中光照信息的渲染方法、装置及设备 | |
CN113034656B (zh) | 游戏场景中光照信息的渲染方法、装置及设备 | |
US8570322B2 (en) | Method, system, and computer program product for efficient ray tracing of micropolygon geometry | |
US11804002B2 (en) | Techniques for traversing data employed in ray tracing | |
CN111340928B (zh) | 一种结合光线跟踪的Web端实时混合渲染方法、装置及计算机设备 | |
US11816783B2 (en) | Enhanced techniques for traversing ray tracing acceleration structures | |
CN112755535B (zh) | 光照渲染方法、装置、存储介质及计算机设备 | |
CN113674389B (zh) | 场景渲染方法、装置、电子设备及存储介质 | |
US11373358B2 (en) | Ray tracing hardware acceleration for supporting motion blur and moving/deforming geometry | |
JP2009525526A (ja) | ビーム放出によって仮想画像を合成するための方法 | |
GB2571657A (en) | Graphics processing using directional representations of lighting at probe positions within a scene | |
JP6864495B2 (ja) | 3dシーンのグローバル・イルミネーションの描画 | |
US11508112B2 (en) | Early release of resources in ray tracing hardware | |
US20240009226A1 (en) | Techniques for traversing data employed in ray tracing | |
CN110738719A (zh) | 一种基于视距分层优化的Web3D模型渲染方法 | |
KR100624455B1 (ko) | 3차원 그래픽스 환경에서의 라이트맵 처리 방법 및 장치 | |
CN115423917B (zh) | 一种全球三维风场实时绘制方法及*** | |
CN116993894B (zh) | 虚拟画面的生成方法、装置、设备、存储介质及程序产品 | |
Hoppe et al. | Adaptive meshing and detail-reduction of 3D-point clouds from laser scans | |
Vyatkin et al. | Comparison of Volume Rendering Methods Using GPU and Specialized Volumetric Accelerator | |
CN118037962A (zh) | 一种实验设备的轻量化三维模型构建方法、***及介质 | |
Favorskaya et al. | Large scene rendering | |
Forstmann et al. | Visualizing large procedural volumetric terrains using nested clip-boxes | |
Manabe et al. | Illumination morphing: smooth transition of luminance distributions between two images |
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 | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20210625 Assignee: Beijing Xuanguang Technology Co.,Ltd. Assignor: Perfect world (Beijing) software technology development Co.,Ltd. Contract record no.: X2022990000254 Denomination of invention: Method, device and equipment for rendering lighting information in game scenes Granted publication date: 20220422 License type: Exclusive License Record date: 20220610 |
|
EE01 | Entry into force of recordation of patent licensing contract |