CN112802170B - 光照图像生成方法、装置、设备和介质 - Google Patents

光照图像生成方法、装置、设备和介质 Download PDF

Info

Publication number
CN112802170B
CN112802170B CN202110169601.5A CN202110169601A CN112802170B CN 112802170 B CN112802170 B CN 112802170B CN 202110169601 A CN202110169601 A CN 202110169601A CN 112802170 B CN112802170 B CN 112802170B
Authority
CN
China
Prior art keywords
target
particle model
illumination
particle
target particle
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
CN202110169601.5A
Other languages
English (en)
Other versions
CN112802170A (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.)
Douyin Vision Co Ltd
Original Assignee
Douyin Vision 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 Douyin Vision Co Ltd filed Critical Douyin Vision Co Ltd
Priority to CN202110169601.5A priority Critical patent/CN112802170B/zh
Publication of CN112802170A publication Critical patent/CN112802170A/zh
Priority to US18/275,778 priority patent/US20240087219A1/en
Priority to PCT/CN2022/073520 priority patent/WO2022166656A1/zh
Application granted granted Critical
Publication of CN112802170B publication Critical patent/CN112802170B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • 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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6638Methods for processing data by generating or executing the game program for rendering three dimensional images for simulating particle systems, e.g. explosion, fireworks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/62Semi-transparency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/12Shadow map, environment map
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2012Colour editing, changing, or manipulating; Use of colour codes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02BCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
    • Y02B20/00Energy efficient lighting technologies, e.g. halogen lamps or gas discharge lamps
    • Y02B20/40Control techniques providing energy savings, e.g. smart controller or presence detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Architecture (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本公开实施例涉及一种光照图像生成方法、装置、设备和介质,其中,该方法包括:在虚拟空间中建立多个GPU粒子;获取每个GPU粒子在虚拟空间中的位置,并分别在每个GPU粒子的位置处,绘制用于表示光照区域的粒子模型;基于每个粒子模型与虚拟空间中被照射对象的位置关系,筛选多个目标粒子模型,并确定每个目标粒子模型对应的光照范围;根据每个目标粒子模型对应的光照范围,对每个目标粒子模型进行渲染,得到虚拟光照范围图像,并与被照射对象对应的场景图像进行融合,得到虚拟空间的光照图像。本公开实施例可以在满足需要大量点光源的虚拟场景的同时,不增加电子设备的计算量,可兼容各种性能的电子设备,并优化电子设备上虚拟场景的界面展示效果。

Description

光照图像生成方法、装置、设备和介质
技术领域
本公开涉及图像处理技术领域,尤其涉及一种光照图像生成方法、装置、设备和介质。
背景技术
在游戏开发过程中,为游戏空间添加不同的实时光源,可以改善游戏空间的场景图像显示效果,例如增加游戏场景的真实感。
目前,在游戏空间中支持添加的实时光源的数量非常有限,例如通常为2-3个实时光源,不能满足需要大量点光源的游戏场景。并且,在图像渲染过程中,添加的实时光源数量越多,对电子设备的资源消耗越多,导致电子设备的性能大幅下降。即使采用延迟渲染策略,延迟渲染的复杂度与图像像素数量和光源数量的乘积成正比,计算量仍非常大。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开实施例提供了一种光照图像生成方法、装置、设备和介质。
第一方面,本公开实施例提供了一种光照图像生成方法,包括:
在虚拟空间中建立多个GPU粒子;
获取每个所述GPU粒子在所述虚拟空间中的位置,并分别在每个所述GPU粒子的所述位置处,绘制用于表示光照区域的粒子模型;
确定每个所述粒子模型与所述虚拟空间中被照射对象的位置关系;
基于所述位置关系,从多个所述粒子模型中筛选符合光照需求的多个目标粒子模型,并确定每个所述目标粒子模型对应的光照范围;
根据每个所述目标粒子模型对应的光照范围,对所述每个目标粒子模型进行渲染,得到虚拟光照范围图像;
将所述虚拟光照范围图像与所述被照射对象对应的场景图像进行融合,得到所述虚拟空间的光照图像。
第二方面,本公开实施例还提供了一种光照图像生成装置,包括:
GPU粒子建立模块,用于在虚拟空间中建立多个GPU粒子;
粒子模型绘制模块,用于获取每个所述GPU粒子在所述虚拟空间中的位置,并分别在每个所述GPU粒子的所述位置处,绘制用于表示光照区域的粒子模型;
位置关系确定模块,用于确定每个所述粒子模型与所述虚拟空间中被照射对象的位置关系;
目标粒子模型与光照范围确定模块,用于基于所述位置关系,从多个所述粒子模型中筛选符合光照需求的多个目标粒子模型,并确定每个所述目标粒子模型对应的光照范围;
虚拟光照范围图像生成模块,用于根据每个所述目标粒子模型对应的光照范围,对所述每个目标粒子模型进行渲染,得到虚拟光照范围图像;
光照图像生成模块,用于将所述虚拟光照范围图像与所述被照射对象对应的场景图像进行融合,得到所述虚拟空间的光照图像。
第三方面,本公开实施例还提供了一种电子设备,包括存储器和处理器,其中,所述存储器中存储有计算机程序,当所述计算机程序被所述处理器执行时,所述处理器执行本公开实施例提供的任一光照图像生成方法。
第四方面,本公开实施例还提供了一种计算机可读存储介质,所述存储介质中存储有计算机程序,当所述计算机程序被处理器执行时,所述处理器执行本公开实施例提供的任一光照图像生成方法。
本公开实施例提供的技术方案与现有技术相比至少具有如下优点:
根据本公开实施例的技术方案,首先基于GPU粒子的位置绘制粒子模型,然后按照粒子模型与虚拟空间中被照射对象的位置关系对粒子模型进行筛选,最后基于筛选得到的目标粒子模型生成虚拟点光源,无需真正在虚拟空间中增加实时点光源即可达到大量点光源照亮虚拟场景的效果,还确保了虚拟点光源的展示真实性,在满足需要大量点光源的虚拟场景的同时,不会增加电子设备的计算量,不会消耗过多的设备资源,进而不会过多影响设备性能,以游戏中的虚拟空间为例,本方案在实现利用大量虚拟点光源照亮虚拟空间中被照射对象的同时,不会影响游戏的运行,解决了现有关于添加光源的方案不能满足需要大量点光源的虚拟场景、以及随着光源增加计算量较大的问题,并且,本公开实施例的技术方案由于不会占用过多的设备资源,可以达到兼容各种性能的电子设备的效果,能够在电子设备上实时运行,并可以基于大量的虚拟点光源优化任意性能的电子设备上虚拟场景的界面展示效果。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种光照图像生成方法的流程图;
图2为本公开实施例提供的一种基于GPU粒子的位置所绘制的粒子模型的示意图;
图3为本公开实施例提供的一种虚拟空间中虚拟点光源的示意图;
图4为本公开实施例提供的一种虚拟光照范围图像的示意图;
图5为本公开实施例提供的另一种光照图像生成方法的流程图;
图6为本公开实施例提供的另一种光照图像生成方法的流程图;
图7为本公开实施例提供的一种光照图像生成装置的结构示意图;
图8为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
图1为本公开实施例提供的一种光照图像生成方法的流程图,本公开实施例可以适用于需求大量点光源的虚拟场景,例如萤火虫飞舞、满天烟花等,并且虚拟场景中存在被照射对象的情况等。该方法可以由光照图像生成装置执行,该装置可以采用软件和/或硬件实现,并可集成在任意的具有计算能力的电子设备中,例如智能移动终端、平板电脑等。
如图1所示,本公开实施例提供的光照图像生成方法可以包括:
S101、在虚拟空间中建立多个GPU粒子。
在本公开实施例中虚拟空间可以包括任意具有展示大量点光源的需求的场景空间,例如游戏中的虚拟空间、动画中的虚拟空间等。针对不同的需求场景,当确定存在展示大量点光源的需求时,例如游戏运行过程中或者动画制作过程中需要展示大量点光源照亮被照射对象的画面,则电子设备可以在虚拟空间中建立多个GPU(Graphics ProcessingUnit,图像处理单元))粒子。示例性地,电子设备可以随机性地创建多个GPU粒子,也可以基于预先配置的粒子参数,创建多个预设的GPU粒子,本公开实施例不作具体限定。其中,粒子参数可以包括但不限于GPU粒子的形状、颜色、初始位置、随时间变化的参数(例如移动速度、移动走向等)等。GPU粒子在虚拟空间中的位置即作为后续虚拟点光源的位置,也即GPU粒子作为虚拟点光源的载体。并且,虚拟点光源的运动状态与GPU粒子在虚拟空间中的运动状态保持一致,即本公开实施例可以实现模拟大量位置不断变化的点光源照亮虚拟场景的效果。GPU粒子能够用于快速绘制任意对象,可以提高模拟点光源的处理效率。
以游戏中的虚拟空间为例,游戏完成开发并上线之后,在游戏运行过程中,电子设备会调用游戏场景监测程序监测每个游戏场景,确定每个游戏场景是否是需要大量点光源照亮的场景,如果确定游戏场景为需要大量点光源照亮的场景,则在游戏中的虚拟空间中建立多个GPU粒子,为后续模拟大量的虚拟点光源奠定基础。
S102、获取每个GPU粒子在虚拟空间中的位置,并分别在每个GPU粒子的位置处,绘制用于表示光照区域的粒子模型。
需要说明的是,虚拟空间为虚拟三维空间,电子设备最终呈现二维画面,因此,在不影响虚拟场景的界面展示效果的基础上,可以采用二维的预设形状来绘制粒子模型,该预设形状可以是任意的几何形状,例如正方形、圆形等规则图形。粒子模型的几何中心与GPU粒子的几何中心重叠。
在一种可选实施方式中,优选地,粒子模型可以包括二维正方形(或称为正方形面片)。采用二维正方形绘制粒子模型,图形简单,有助于提高绘制效率,并且也比较贴切点光源的实际光照区域。分别在每个GPU粒子的位置处,绘制用于表示光照区域的粒子模型之后,本公开实施例提供的光照图像生成方法还包括:调整每个粒子模型的位置,使得位置调整后的粒子模型的边界与被照射对象对应的场景图像的边界平行。
虚拟空间中的场景图像是基于虚拟空间中的摄像机拍摄视角拍摄得到,调整每个粒子模型的位置,即指将每个粒子模型向面向虚拟空间中摄像机的方向进行旋转,最终每个粒子模型均正向面对虚拟空间中的摄像机。通过对粒子模型进行位置调整,可以将三维虚拟空间中粒子模型的朝向进行统一,确保模拟得到的虚拟点光源均是正向面对虚拟空间的摄像机,确保呈现优质的点光源照亮虚拟场景的界面效果。
图2为本公开实施例提供的一种基于GPU粒子的位置所绘制的粒子模型的示意图,具体以二维正方形为例,对本公开实施例进行示例性说明,不应理解为对本公开实施例的具体限定。并且,图2中示出了基于部分GPU粒子的位置所绘制的粒子模型,应当理解,针对剩余的各个GPU粒子,同样可以绘制出多个粒子模型。图2中示出的场景物体也作为被照射对象的一种示例,具体可以根据虚拟空间中需要展示的被照射对象来确定。
S103、确定每个粒子模型与虚拟空间中被照射对象的位置关系。
示例性地,可以基于粒子模型与被照射对象在虚拟空间中相对同一参考物的位置,确定粒子模型与被照射对象的位置关系。该参考物可以合理设置,例如可以将虚拟空间中的摄像机作为参考物。
S104、基于位置关系,从多个粒子模型中筛选符合光照需求的多个目标粒子模型,并确定每个目标粒子模型对应的光照范围。
粒子模型与虚拟空间中被照射对象的位置关系可以用于筛选出属于被照射对象遮挡的粒子模型和不属于被照射对象遮挡的粒子模型(即符合光照需求的目标粒子模型)。示例性地,从虚拟空间中摄像机的观察角度而言,粒子模型与被照射对象的位置关系可以包括:粒子模型位于被照射对象的前方,以及粒子模型位于被照射对象的后方,其中位于被照射对象前方的粒子模型可以作为符合光照需求的目标粒子模型。并且,目标粒子模型与被照射对象的距离越远,目标粒子模型对应的光照范围越小;目标粒子模型与被照射对象的距离越近,目标粒子模型对应的光照范围越大,由此可以展示出逐渐远离被照射对象的点光源亮度逐渐消失的效果。
S105、根据每个目标粒子模型对应的光照范围,对每个目标粒子模型进行渲染,得到虚拟光照范围图像。
确定光照范围的目标粒子模型,可以作为一个虚拟点光源。在得到虚拟光照范围图像的过程中,可以根据每个目标粒子模型对应的光照范围,以及虚拟空间中虚拟点光源的分布需求(由具体虚拟场景决定)等,对每个目标粒子模型进行渲染。渲染得到的虚拟光照范围图像可以包括但不限于黑白图像,即虚拟点光源的颜色包括但不限于白色,这些均可以根据展示需求进行合理设置,本公开实施例不作具体限定。
图3作为示例,示出了一种基于GPU粒子模拟得到的虚拟点光源的示意图,不应理解为本公开实施例的具体限定。如图3所示,图3中所示出的带有线条填充的圆形图案代表虚拟点光源,剩余的场景物体作为虚拟空间中被照射对象的一种示例。
图4为本公开实施例提供的一种虚拟光照范围图像的示意图,用于对本公开实施例进行示例性说明。如图4所示,该虚拟光照范围图像是对图3中的部分虚拟点光源进行渲染得到,图4以虚拟光照范围图像是黑白图像为例,图4中带有线条填充的圆形图案代表虚拟点光源的光照范围,剩余区域为黑色背景。
S106、将虚拟光照范围图像与被照射对象对应的场景图像进行融合,得到虚拟空间的光照图像。
由于虚拟点光源并非虚拟空间中的真实点光源,因此,虚拟点光源不能直接渲染至虚拟空间的最终画面中,需要首先渲染得到虚拟光照范围图像,然后将虚拟光照范围图像与被照射对象对应的场景图像进行融合,得到虚拟空间的光照图像(例如游戏运行过程中最终可呈现的游戏界面效果)。其中,关于图像融合的实现原理可以参考现有技术实现,本公开实施例不作具体限定。
可选地,将虚拟光照范围图像与被照射对象对应的场景图像进行融合,得到虚拟空间的光照图像,包括:
获取目标光源颜色和目标场景颜色;其中,目标光源颜色即虚拟场景下虚拟空间中需求的点光源的颜色,例如萤火虫飞舞的场景中目标光源颜色为黄色;目标场景颜色即虚拟场景下虚拟空间的环境颜色或者背景颜色,具体可以根据虚拟场景的具体展示需求而定,示例性地,以游戏中的虚拟空间为例,目标场景颜色可以为深蓝色,可以用于表示夜晚等虚拟场景;
利用虚拟光照范围图像的目标通道值对目标光源颜色和目标场景颜色作插值处理,得到插值处理结果;其中,虚拟光照范围图像的目标通道值可以是任一与虚拟光照范围图像的颜色信息相关的通道值,例如R通道值或G通道值或B通道值(三个通道值的作用具有等同性);插值处理可以包括但不限于线性插值处理等;
将插值处理结果与被照射对象对应的场景图像的颜色值进行叠加,得到虚拟空间的光照图像。
例如,针对萤火虫飞舞的场景,虚拟空间的光照图像可以是展示有存在黄色亮光的萤火虫飞舞、且照亮任意场景物体的图像。
通过利用虚拟光照范围图像的目标通道值对目标光源颜色和目标场景颜色作插值处理,可以确保最终的光照图像上目标光源颜色和目标场景颜色之间的平滑过度,然后将插值处理结果与虚拟空间的场景图像的颜色值进行叠加,使得虚拟空间的目标光照图像呈现优质的视觉效果。
根据本公开实施例的技术方案,首先基于GPU粒子的位置绘制粒子模型,然后按照粒子模型与虚拟空间中被照射对象的位置关系对粒子模型进行筛选,最后基于筛选得到的目标粒子模型生成虚拟点光源,无需真正在虚拟空间中增加实时点光源即可达到大量点光源照亮虚拟场景的效果,还确保了虚拟点光源的展示真实性,在满足需要大量点光源的虚拟场景的同时,不会增加电子设备的计算量,不会消耗过多的设备资源,进而不会过多影响设备性能,以游戏中的虚拟空间为例,本方案在实现利用大量虚拟点光源照亮虚拟空间中被照射对象的同时,不会影响游戏的运行,解决了现有关于添加光源的方案不能满足需要大量点光源的虚拟场景、以及随着光源增加计算量较大的问题,并且,本公开实施例的技术方案由于不会占用过多的设备资源,可以达到兼容各种性能的电子设备的效果,能够在电子设备上实时运行,并可以基于大量的虚拟点光源优化任意性能的电子设备上虚拟场景的界面展示效果。
图5为本公开实施例提供的另一种光照图像生成方法的流程图,基于上述技术方案进一步优化与扩展,并可以与上述各个可选实施方式进行结合。
如图5所示,本公开实施例提供的光照图像生成方法可以包括:
S201、在虚拟空间中建立多个GPU粒子。
S202、获取每个GPU粒子在虚拟空间中的位置,并分别在每个GPU粒子的位置处,绘制用于表示光照区域的粒子模型。
S203、分别确定每个粒子模型与虚拟空间中摄像机的第一距离。
示例性的,可以根据每个粒子模型坐标系(即粒子模型本身的坐标系)与显示界面坐标系(即设备屏幕坐标系)之间的变换关系,确定每个粒子模型上各个像素点与虚拟空间中摄像机的距离,根据各个像素点与虚拟空间中摄像机的距离,综合确定(例如求平均值)每个粒子模型与虚拟空间中摄像机的第一距离。
可选地,分别确定每个粒子模型与虚拟空间中摄像机的第一距离,包括:
根据每个粒子模型坐标系与显示界面坐标系之间的变换关系,确定每个粒子模型中目标参考点的界面坐标;其中,每个粒子模型中目标参考点可以是包括但不限于每个粒子模型的中心点;
基于每个粒子模型中目标参考点的界面坐标,计算每个粒子模型与虚拟空间中摄像机的第一距离。
上述关于粒子模型坐标系与显示界面坐标系之间的变换关系,可以采用坐标变换矩阵表示,该坐标变换矩阵可以参考现有的坐标变换原理实现。
并且,针对位置调整后粒子模型的边界与虚拟空间的场景图像的边界平行的情况,粒子模型上每个像素点均是面向虚拟空间中的摄像机,因此,粒子模型上所有像素点到虚拟空间中摄像机的距离均相同,计算粒子模型的中心点与虚拟空间中摄像机的第一距离,便可用于确定粒子模型整体是否被遮挡,若被遮挡,则粒子模型整体消失,若未被遮挡,则粒子模型整体出现,不会存在粒子模型只被遮挡一部分的情况。
S204、利用摄像机,获取虚拟空间中被照射对象的深度图像。
深度图像(depth image)也被称为距离影像(range image),是指将从图像采集装置到拍摄场景中各点的距离(深度)作为像素值的图像。因此,虚拟空间中摄像机所获取的深度图像中记录有被照射对象在虚拟空间中相对于摄像机的距离信息。
S205、分别基于每个粒子模型的区域范围对深度图像进行采样,得到多个采样图像。
示例性的,可以基于虚拟空间中摄像机的观察角度,分别基于每个粒子模型的区域范围向深度图像进行投影,得到多个采样图像。
S206、利用每个采样图像的深度信息,确定每个采样图像中展示的被照射对象与摄像机的第二距离。
S207、对比第一距离和第二距离,确定每个粒子模型与对应的采样图像中展示的被照射对象的位置关系。
如果第一距离大于第二距离,则相应的粒子模型位于对应的采样图像中展示的被照射对象的后方;如果第一距离小于第二距离,则相应的粒子模型位于对应的采样图像中展示的被照射对象的前方;如果第一距离等于第二距离,则相应的粒子模型与对应的采样空间中被照射对象的位置重叠。
S208、将第一距离小于或等于第二距离时对应的粒子模型确定为符合光照需求的多个目标粒子模型,并确定每个目标粒子模型对应的光照范围。
可选地,在确定多个目标粒子模型的过程中,还包括:删除第一距离大于第二距离时对应的粒子模型的像素。即只显示被照射对象前方的粒子模型,不显示被照射对象后方的粒子模型,避免不符合光照需求的粒子模型的像素影响虚拟空间的光照图像的展示效果。
S209、根据每个目标粒子模型对应的光照范围,对每个目标粒子模型进行渲染,得到虚拟光照范围图像。
S210、将虚拟光照范围图像与被照射对象对应的场景图像进行融合,得到虚拟空间的光照图像。
根据本公开实施例的技术方案,实现了基于GPU粒子模拟虚拟点光源的效果,无需真正在虚拟空间中增加与渲染实时点光源,在满足需要大量点光源的虚拟场景的同时,不会增加电子设备的计算量,不会消耗过多的设备资源,进而不会过多影响设备性能,解决了现有关于添加光源的方案不能满足需要大量点光源的虚拟场景、以及随着光源增加计算量较大的问题,并且,本公开实施例的技术方案由于不会占用过多的设备资源,可以达到兼容各种性能的电子设备的效果,能够在电子设备上实时运行,并可以基于大量的虚拟点光源优化任意性能的电子设备上虚拟场景的界面展示效果。
图6为本公开实施例提供的另一种光照图像生成方法的流程图,基于上述技术方案进一步优化与扩展,并可以与上述各个可选实施方式进行结合。
如图6所示,本公开实施例提供的光照图像生成方法可以包括:
S301、在虚拟空间中建立多个GPU粒子。
S302、获取每个GPU粒子在虚拟空间中的位置,并分别在每个GPU粒子的位置处,绘制用于表示光照区域的粒子模型。
S303、确定每个粒子模型与虚拟空间中被照射对象的位置关系。
S304、基于位置关系,从多个粒子模型中筛选符合光照需求的多个目标粒子模型。
S305、基于每个目标粒子模型与被照射对象的位置关系,确定每个目标粒子模型的透明度。
其中,目标粒子模型与虚拟空间中被照射对象的相对位置距离越近,目标粒子模型越不透明,目标粒子模型与虚拟空间中被照射对象的相对位置距离越远,目标粒子模型的透明度越大,并且,该相对位置距离超过距离阈值(具体取值可灵活设置)时,目标粒子模型可以显示为消失的效果,由此可以提升大量虚拟点光源照亮虚拟空间中被照射对象的真实感,进一步优化界面展示效果。
可选地,基于每个目标粒子模型与被照射对象的位置关系,确定每个目标粒子模型的透明度,包括:
确定每个目标粒子模型与被照射对象的目标距离;
基于目标距离、透明度变化速率和预设透明度参数值,确定每个目标粒子模型的透明度。
示例性的,可以根据目标粒子模型与虚拟空间中摄像机的距离以及虚拟空间中被照射对象与摄像机的距离,确定目标粒子模型与被照射对象之间的目标距离;然后,可以按照目标距离、透明度变化速率和预设透明度参数值之间的预设计算公式,确定目标粒子模型的透明度,该预设计算公式可以合理进行设计,本公开实施例不作具体限定。
进一步地,基于目标距离、透明度变化速率和预设透明度参数值,确定每个目标粒子模型的透明度,包括:
确定目标距离和透明度变化速率的乘积;
基于预设透明度参数值与乘积的差值,确定每个目标粒子模型的透明度。
预设透明度参数值的取值可以根据需求而定。示例性的,以预设透明度参数值取值为1为例,并且,此时透明度取值1表示目标粒子模型完全不透明,透明度取值为0表示目标粒子完全透明。目标粒子模型的透明度color.alpha可以采用如下公式表示:
color.alpha=1-|depth-i.eye.z|·IntersectionPower
其中,|depth-i.eye.z|表示目标粒子模型与虚拟空间中被照射对象之间的目标距离,i.eye.z表示目标粒子模型与虚拟空间中摄像机的第一距离,depth表示每个采样图像上展示的被照射对象与虚拟空间中摄像机的第二距离,IntersectionPower表示透明度变化速率,其取值也可以适应性设置。
S306、基于每个目标粒子模型的透明度确定每个目标粒子模型对应的光照范围。
目标粒子模型与虚拟空间中被照射对象的相对位置距离越近,目标粒子模型越不透明,光照范围相对较大,目标粒子模型与虚拟空间中被照射对象的相对位置距离越远,目标粒子模型的透明度越大,光照范围越相对较小。基于前述透明度与光照范围的关系,可以采用任意可用的方式确定每个目标粒子模型对应的光照范围。
可选地,基于每个目标粒子模型的透明度确定每个目标粒子模型对应的光照范围,包括:
为每个目标粒子模型生成预设形状的贴图;其中,贴图的中间区域的颜色为白色,且除去中间区域外的剩余区域的颜色为黑色,该贴图的形状可以采用圆形,比较贴切点光源的实际光照效果;
确定贴图的目标通道值与每个目标粒子模型的透明度的乘积,并将乘积作为每个目标粒子模型的最终透明度;
基于每个目标粒子模型的最终透明度,确定每个目标粒子模型对应的光照范围。
确定光照范围的目标粒子模型即可以作为一个虚拟点光源。每个目标粒子模型的贴图的目标通道值可以是任一与贴图的颜色信息相关的通道值,例如R通道值或G通道值或B通道值,这三个通道值的作用具有等同性,任一通道值与目标粒子模型的透明度相乘,均不会影响最终得到中间不透明四周透明的圆形虚拟点光源。并且,得到的圆形虚拟点光源上可以呈现出远离被照射对象部分的像素更透明,靠近被照射对象部分的像素更不透明的效果,从而呈现出理想化的照亮四周球形区域的点光源效果。
S307、根据每个目标粒子模型对应的光照范围,对每个目标粒子模型进行渲染,得到虚拟光照范围图像。
S308、将虚拟光照范围图像与被照射对象对应的场景图像进行融合,得到虚拟空间的光照图像。
根据本公开实施例的技术方案,实现了基于GPU粒子模拟虚拟点光源的效果,无需真正在虚拟空间中增加与渲染实时点光源,在满足需要大量点光源的虚拟场景的同时,不会增加电子设备的计算量,不会消耗过多的设备资源,进而不会过多影响设备性能,解决了现有关于添加光源的方案不能满足需要大量点光源的虚拟场景、以及随着光源增加计算量较大的问题;并且,通过基于每个目标粒子模型与被照射对象的位置关系,确定每个目标粒子模型的透明度,基于每个目标粒子模型的透明度确定每个目标粒子模型对应的光照范围,提升了大量虚拟点光源照亮虚拟空间中被照射对象的真实感,优化了电子设备上虚拟场景的界面展示效果。
图7为本公开实施例提供的一种光照图像生成装置的结构示意图,本公开实施例可以适用于需求大量点光源的虚拟场景,且虚拟场景中存在被照射对象。该装置可以采用软件和/或硬件实现,并可集成在任意的具有计算能力的电子设备中,例如智能移动终端、平板电脑等。
如图7所示,本公开实施例提供的光照图像生成装置600可以包括GPU粒子建立模块601、粒子模型绘制模块602、位置关系确定模块603、目标粒子模型与光照范围确定模块604、虚拟光照范围图像生成模块605和光照图像生成模块606,其中:
GPU粒子建立模块601,用于在虚拟空间中建立多个GPU粒子;
粒子模型绘制模块602,用于获取每个GPU粒子在虚拟空间中的位置,并分别在每个GPU粒子的位置处,绘制用于表示光照区域的粒子模型;
位置关系确定模块603,用于确定每个粒子模型与虚拟空间中被照射对象的位置关系;
目标粒子模型与光照范围确定模块604,用于基于位置关系,从多个粒子模型中筛选符合光照需求的多个目标粒子模型,并确定每个目标粒子模型对应的光照范围;
虚拟光照范围图像生成模块605,用于根据每个目标粒子模型对应的光照范围,对每个目标粒子模型进行渲染,得到虚拟光照范围图像;
光照图像生成模块606,用于将虚拟光照范围图像与被照射对象对应的场景图像进行融合,得到虚拟空间的光照图像。
可选地,位置关系确定模块603包括:
第一距离确定单元,用于分别确定每个粒子模型与虚拟空间中摄像机的第一距离;
深度图像获取单元,用于利用摄像机,获取虚拟空间中被照射对象的深度图像;
采样图像确定单元,用于分别基于每个粒子模型的区域范围对深度图像进行采样,得到多个采样图像;
第二距离确定单元,用于利用每个采样图像的深度信息,确定每个采样图像中展示的被照射对象与摄像机的第二距离;
位置关系确定单元,用于对比第一距离和第二距离,确定每个粒子模型与对应的采样图像中展示的被照射对象的位置关系。
目标粒子模型与光照范围确定模块604包括:
目标粒子模型确定单元,用于基于位置关系,从多个粒子模型中筛选符合光照需求的多个目标粒子模型;
光照范围确定单元,用于确定每个目标粒子模型对应的光照范围;
目标粒子模型确定单元具体用于:将第一距离小于或等于第二距离时对应的粒子模型确定为符合光照需求的多个目标粒子模型。
可选地,第一距离确定单元包括:
界面坐标确定子单元,用于根据每个粒子模型坐标系与显示界面坐标系之间的变换关系,确定每个粒子模型中目标参考点的界面坐标;
第一距离计算子单元,用于基于每个粒子模型中目标参考点的界面坐标,计算每个粒子模型与虚拟空间中摄像机的第一距离。
可选地,目标粒子模型确定单元还用于:
删除第一距离大于第二距离时对应的粒子模型的像素。
可选地,光照范围确定单元包括:
透明度确定子单元,用于基于每个目标粒子模型与被照射对象的位置关系,确定每个目标粒子模型的透明度;
光照范围确定子单元,用于基于每个目标粒子模型的透明度确定每个目标粒子模型对应的光照范围。
可选地,透明度确定子单元包括:
目标距离确定子单元,用于确定每个目标粒子模型与被照射对象的目标距离;
透明度计算子单元,用于基于目标距离、透明度变化速率和预设透明度参数值,确定每个目标粒子模型的透明度。
可选地,透明度计算子单元包括:
第一确定子单元,用于确定目标距离和透明度变化速率的乘积;
第二确定子单元,用于基于预设透明度参数值与乘积的差值,确定每个目标粒子模型的透明度。
可选地,光照范围确定子单元包括:
贴图生成子单元,用于为每个目标粒子模型生成预设形状的贴图;其中,贴图的中间区域的颜色为白色,且除去中间区域外的剩余区域的颜色为黑色;
第三确定子单元,用于确定贴图的目标通道值与每个目标粒子模型的透明度的乘积,并将乘积作为每个目标粒子模型的最终透明度;
第四确定子单元,用于基于每个目标粒子模型的最终透明度,确定每个目标粒子模型对应的光照范围。
可选地,光照图像生成模块606包括:
颜色获取单元,用于获取目标光源颜色和目标场景颜色;
插值处理单元,用于利用虚拟光照范围图像的目标通道值对目标光源颜色和目标场景颜色作插值处理,得到插值处理结果;
光照图像生成单元,用于将插值处理结果与被照射对象对应的场景图像的颜色值进行叠加,得到虚拟空间的光照图像。
可选地,粒子模型包括二维正方形,本公开实施例提供的光照图像生成装置还包括:
粒子模型位置调整模块,用于调整每个粒子模型的位置,使得位置调整后的粒子模型的边界与被照射对象对应的场景图像的边界平行。
本公开实施例所提供的光照图像生成装置可执行本公开实施例所提供的任意光照图像生成方法,具备执行方法相应的功能模块和有益效果。本公开装置实施例中未详尽描述的内容可以参考本公开任意方法实施例中的描述。
图8为本公开实施例提供的一种电子设备的结构示意图,用于对实现本公开实施例中光照图像生成方法的电子设备进行示例性说明,该电子设备可以包括但不限于智能移动终端、平板电脑等。如图8所示,电子设备700包括一个或多个处理器701和存储器702。
处理器701可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备700中的其他组件以执行期望的功能。
存储器702可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器701可以运行程序指令,以实现本公开实施例提供的任意光照图像生成方法,还可以实现其他期望的功能。在计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备700还可以包括:输入装置703和输出装置704,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
此外,该输入装置703还可以包括例如键盘、鼠标等等。
该输出装置704可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置704可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图8中仅示出了该电子设备700中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备700还可以包括任何其他适当的组件。
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,计算机程序指令在被处理器运行时使得处理器执行本公开实施例所提供的任意光照图像生成方法。
计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户电子设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,计算机程序指令在被处理器运行时使得处理器执行本公开实施例所提供的任意光照图像生成方法。
计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (13)

1.一种光照图像生成方法,其特征在于,包括:
在虚拟空间中建立多个GPU粒子;
获取每个所述GPU粒子在所述虚拟空间中的位置,并分别在每个所述GPU粒子的所述位置处,绘制用于表示光照区域的粒子模型;
确定每个所述粒子模型与所述虚拟空间中被照射对象的位置关系;
基于所述位置关系,从多个所述粒子模型中筛选符合光照需求的多个目标粒子模型,并确定每个所述目标粒子模型对应的光照范围;其中,所述目标粒子模型与所述被照射对象的距离越远,所述目标粒子模型对应的光照范围越小,所述目标粒子模型与所述被照射对象的距离越近,所述目标粒子模型对应的光照范围越大;
根据每个所述目标粒子模型对应的光照范围,对所述每个目标粒子模型进行渲染,得到虚拟光照范围图像;
将所述虚拟光照范围图像与所述被照射对象对应的场景图像进行融合,得到所述虚拟空间的光照图像;
其中,所述基于所述位置关系,从多个所述粒子模型中筛选符合光照需求的多个目标粒子模型,包括:
从位于所述虚拟空间中被照射对象的前方或与所述被照射对象的位置重叠的粒子模型中,确定符合光照需求的多个目标粒子模型。
2.根据权利要求1所述的方法,其特征在于,所述确定每个所述粒子模型与所述虚拟空间中被照射对象的位置关系,包括:
分别确定每个所述粒子模型与所述虚拟空间中摄像机的第一距离;
利用所述摄像机,获取所述虚拟空间中被照射对象的深度图像;
分别基于每个所述粒子模型的区域范围对所述深度图像进行采样,得到多个采样图像;
利用每个所述采样图像的深度信息,确定每个所述采样图像中展示的被照射对象与所述摄像机的第二距离;
对比所述第一距离和所述第二距离,确定每个所述粒子模型与对应的采样图像中展示的被照射对象的所述位置关系;
相应地,所述基于所述位置关系,从多个所述粒子模型中筛选符合光照需求的多个目标粒子模型,包括:
将所述第一距离小于或等于所述第二距离时对应的粒子模型确定为所述符合光照需求的多个所述目标粒子模型。
3.根据权利要求2所述的方法,其特征在于,所述分别确定每个所述粒子模型与所述虚拟空间中摄像机的第一距离,包括:
根据每个所述粒子模型坐标系与显示界面坐标系之间的变换关系,确定每个所述粒子模型中目标参考点的界面坐标;
基于每个所述粒子模型中目标参考点的界面坐标,计算每个所述粒子模型与所述虚拟空间中摄像机的所述第一距离。
4.根据权利要求2所述的方法,其特征在于,所述基于所述位置关系,从多个所述粒子模型中筛选符合光照需求的多个目标粒子模型,还包括:
删除所述第一距离大于所述第二距离时对应的粒子模型的像素。
5.根据权利要求1所述的方法,其特征在于,所述确定每个所述目标粒子模型对应的光照范围,包括:
基于每个所述目标粒子模型与所述被照射对象的位置关系,确定每个所述目标粒子模型的透明度;
基于每个所述目标粒子模型的透明度确定每个所述目标粒子模型对应的所述光照范围。
6.根据权利要求5所述的方法,其特征在于,所述基于每个所述目标粒子模型与所述被照射对象的位置关系,确定每个所述目标粒子模型的透明度,包括:
确定每个所述目标粒子模型与所述被照射对象的目标距离;
基于所述目标距离、透明度变化速率和预设透明度参数值,确定每个所述目标粒子模型的所述透明度。
7.根据权利要求6所述的方法,其特征在于,所述基于所述目标距离、透明度变化速率和预设透明度参数值,确定每个所述目标粒子模型的所述透明度,包括:
确定所述目标距离和所述透明度变化速率的乘积;
基于所述预设透明度参数值与所述乘积的差值,确定每个所述目标粒子模型的所述透明度。
8.根据权利要求5所述的方法,其特征在于,所述基于每个所述目标粒子模型的透明度确定每个所述目标粒子模型对应的所述光照范围,包括:
为每个所述目标粒子模型生成预设形状的贴图;其中,所述贴图的中间区域的颜色为白色,且除去所述中间区域外的剩余区域的颜色为黑色;
确定所述贴图的目标通道值与每个所述目标粒子模型的透明度的乘积,并将所述乘积作为每个所述目标粒子模型的最终透明度;
基于每个所述目标粒子模型的最终透明度,确定每个所述目标粒子模型对应的所述光照范围。
9.根据权利要求1所述的方法,其特征在于,所述将所述虚拟光照范围图像与所述被照射对象对应的场景图像进行融合,得到所述虚拟空间的光照图像,包括:
获取目标光源颜色和目标场景颜色;
利用所述虚拟光照范围图像的目标通道值对所述目标光源颜色和所述目标场景颜色作插值处理,得到插值处理结果;
将所述插值处理结果与所述被照射对象对应的场景图像的颜色值进行叠加,得到所述虚拟空间的所述光照图像。
10.根据权利要求1所述的方法,其特征在于,所述粒子模型包括二维正方形,所述分别在每个所述GPU粒子的所述位置处,绘制用于表示光照区域的粒子模型之后,还包括:
调整每个所述粒子模型的位置,使得位置调整后的所述粒子模型的边界与所述被照射对象对应的场景图像的边界平行。
11.一种光照图像生成装置,其特征在于,包括:
GPU粒子建立模块,用于在虚拟空间中建立多个GPU粒子;
粒子模型绘制模块,用于获取每个所述GPU粒子在所述虚拟空间中的位置,并分别在每个所述GPU粒子的所述位置处,绘制用于表示光照区域的粒子模型;
位置关系确定模块,用于确定每个所述粒子模型与所述虚拟空间中被照射对象的位置关系;
目标粒子模型与光照范围确定模块,用于基于所述位置关系,从多个所述粒子模型中筛选符合光照需求的多个目标粒子模型,并确定每个所述目标粒子模型对应的光照范围;其中,所述目标粒子模型与所述被照射对象的距离越远,所述目标粒子模型对应的光照范围越小,所述目标粒子模型与所述被照射对象的距离越近,所述目标粒子模型对应的光照范围越大;
虚拟光照范围图像生成模块,用于根据每个所述目标粒子模型对应的光照范围,对所述每个目标粒子模型进行渲染,得到虚拟光照范围图像;
光照图像生成模块,用于将所述虚拟光照范围图像与所述被照射对象对应的场景图像进行融合,得到所述虚拟空间的光照图像;
所述目标粒子模型与光照范围确定模块,包括:
目标粒子模型确定模块,用于从位于所述虚拟空间中被照射对象的前方或与所述被照射对象的位置重叠的粒子模型中,确定符合光照需求的多个目标粒子模型。
12.一种电子设备,其特征在于,包括存储器和处理器,其中,所述存储器中存储有计算机程序,当所述计算机程序被所述处理器执行时,所述处理器执行权利要求1-10中任一项所述的光照图像生成方法。
13.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,当所述计算机程序被处理器执行时,所述处理器执行权利要求1-10中任一项所述的光照图像生成方法。
CN202110169601.5A 2021-02-07 2021-02-07 光照图像生成方法、装置、设备和介质 Active CN112802170B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110169601.5A CN112802170B (zh) 2021-02-07 2021-02-07 光照图像生成方法、装置、设备和介质
US18/275,778 US20240087219A1 (en) 2021-02-07 2022-01-24 Method and apparatus for generating lighting image, device, and medium
PCT/CN2022/073520 WO2022166656A1 (zh) 2021-02-07 2022-01-24 光照图像生成方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110169601.5A CN112802170B (zh) 2021-02-07 2021-02-07 光照图像生成方法、装置、设备和介质

Publications (2)

Publication Number Publication Date
CN112802170A CN112802170A (zh) 2021-05-14
CN112802170B true CN112802170B (zh) 2023-05-16

Family

ID=75814667

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110169601.5A Active CN112802170B (zh) 2021-02-07 2021-02-07 光照图像生成方法、装置、设备和介质

Country Status (3)

Country Link
US (1) US20240087219A1 (zh)
CN (1) CN112802170B (zh)
WO (1) WO2022166656A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112802170B (zh) * 2021-02-07 2023-05-16 抖音视界有限公司 光照图像生成方法、装置、设备和介质
CN114082186A (zh) * 2021-11-26 2022-02-25 上海米哈游天命科技有限公司 一种图像融合处理方法、系统、设备及计算机可读存储介质
CN114377390A (zh) * 2021-12-27 2022-04-22 网易(杭州)网络有限公司 粒子效果的实现方法、装置、设备及存储介质
CN116390298B (zh) * 2023-05-29 2023-08-22 深圳市帝狼光电有限公司 一种用于壁挂灯的智能控制方法及系统
CN116993877B (zh) * 2023-08-09 2024-10-11 深圳市闪剪智能科技有限公司 物体飘落特效模拟方法、设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101617344A (zh) * 2007-09-28 2009-12-30 科乐美数码娱乐株式会社 图像生成装置、图像生成方法、信息记录介质及程序
CN103606182A (zh) * 2013-11-19 2014-02-26 华为技术有限公司 图像渲染方法及装置
CN104954697A (zh) * 2014-03-31 2015-09-30 佳能株式会社 图像处理装置及图像处理方法
CN105335996A (zh) * 2014-06-30 2016-02-17 北京畅游天下网络技术有限公司 一种光线照射效果的计算方法和装置
CN107845132A (zh) * 2017-11-03 2018-03-27 太平洋未来科技(深圳)有限公司 虚拟对象色彩效果的渲染方法和装置
CN108765542A (zh) * 2018-05-31 2018-11-06 Oppo广东移动通信有限公司 图像渲染方法、电子设备和计算机可读存储介质
CN110211218A (zh) * 2019-05-17 2019-09-06 腾讯科技(深圳)有限公司 画面渲染方法和装置、存储介质及电子装置
CN111540035A (zh) * 2020-05-07 2020-08-14 支付宝(杭州)信息技术有限公司 粒子渲染方法、装置及设备
CN112184878A (zh) * 2020-10-15 2021-01-05 洛阳众智软件科技股份有限公司 三维夜景灯光自动生成和渲染的方法、装置和设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2465791A (en) * 2008-11-28 2010-06-02 Sony Corp Rendering shadows in augmented reality scenes
CN110891659B (zh) * 2017-06-09 2021-01-29 索尼互动娱乐股份有限公司 对注视点渲染系统中的粒子和模拟模型的优化的延迟照明和中心凹调适
JP7292905B2 (ja) * 2019-03-06 2023-06-19 キヤノン株式会社 画像処理装置及び画像処理方法、及び撮像装置
CN112132918B (zh) * 2020-08-28 2022-08-05 稿定(厦门)科技有限公司 基于粒子的聚光灯效果实现方法及装置
CN112215932B (zh) * 2020-10-23 2024-04-30 网易(杭州)网络有限公司 粒子动画处理方法、装置、存储介质及计算机设备
CN112802170B (zh) * 2021-02-07 2023-05-16 抖音视界有限公司 光照图像生成方法、装置、设备和介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101617344A (zh) * 2007-09-28 2009-12-30 科乐美数码娱乐株式会社 图像生成装置、图像生成方法、信息记录介质及程序
CN103606182A (zh) * 2013-11-19 2014-02-26 华为技术有限公司 图像渲染方法及装置
CN104954697A (zh) * 2014-03-31 2015-09-30 佳能株式会社 图像处理装置及图像处理方法
CN105335996A (zh) * 2014-06-30 2016-02-17 北京畅游天下网络技术有限公司 一种光线照射效果的计算方法和装置
CN107845132A (zh) * 2017-11-03 2018-03-27 太平洋未来科技(深圳)有限公司 虚拟对象色彩效果的渲染方法和装置
CN108765542A (zh) * 2018-05-31 2018-11-06 Oppo广东移动通信有限公司 图像渲染方法、电子设备和计算机可读存储介质
CN110211218A (zh) * 2019-05-17 2019-09-06 腾讯科技(深圳)有限公司 画面渲染方法和装置、存储介质及电子装置
CN111540035A (zh) * 2020-05-07 2020-08-14 支付宝(杭州)信息技术有限公司 粒子渲染方法、装置及设备
CN112184878A (zh) * 2020-10-15 2021-01-05 洛阳众智软件科技股份有限公司 三维夜景灯光自动生成和渲染的方法、装置和设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
面向虚实融合的光照一致性技术研究;季丰;《中国优秀硕士学位论文全文数据库信息科技辑》;I138-2160 *

Also Published As

Publication number Publication date
CN112802170A (zh) 2021-05-14
US20240087219A1 (en) 2024-03-14
WO2022166656A1 (zh) 2022-08-11

Similar Documents

Publication Publication Date Title
CN112802170B (zh) 光照图像生成方法、装置、设备和介质
WO2022116659A1 (zh) 一种体积云渲染方法、装置、程序和可读介质
CN109771951B (zh) 游戏地图生成的方法、装置、存储介质和电子设备
CN112116692B (zh) 模型渲染方法、装置、设备
CN113052947B (zh) 一种渲染方法、装置、电子设备和存储介质
US9183654B2 (en) Live editing and integrated control of image-based lighting of 3D models
JP2016018560A (ja) 視覚効果を有するオブジェクトを表示する装置及び方法
US8294713B1 (en) Method and apparatus for illuminating objects in 3-D computer graphics
CN113012273B (zh) 基于目标模型的光照渲染方法、装置、介质及设备
CN112184873B (zh) 分形图形创建方法、装置、电子设备和存储介质
CN111476851A (zh) 图像处理方法、装置、电子设备及存储介质
US11610364B2 (en) Method, device, and storage medium for applying lighting to a rendered object in a scene
JP7522316B2 (ja) 画像に基づく照明効果処理方法、装置、デバイス及び記憶媒体
CN112652046A (zh) 游戏画面的生成方法、装置、设备及存储介质
CN116758208A (zh) 全局光照渲染方法、装置、存储介质及电子设备
CN113110731A (zh) 媒体内容生成的方法和装置
US20230316640A1 (en) Image processing apparatus, image processing method, and storage medium
US12002165B1 (en) Light probe placement for displaying objects in 3D environments on electronic devices
JP2003168130A (ja) リアルタイムで合成シーンのフォトリアルなレンダリングをプレビューするための方法
Happa et al. Studying illumination and cultural heritage
CN112465941B (zh) 一种体积云处理方法、装置、电子设备及存储介质
CN112819929B (zh) 渲染水面方法及装置、电子设备、存储介质
KR20160006087A (ko) 시각 효과를 가지는 객체를 디스플레이하는 장치 및 방법
EP3413270A1 (en) Device and method for editing a virtual reality scene represented in a curved shape form
KR102713170B1 (ko) 실시간 깊이 맵을 사용한 지오메트리 인식 증강 현실 효과

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
CB02 Change of applicant information

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant after: Douyin Vision Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant before: Tiktok vision (Beijing) Co.,Ltd.

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant after: Tiktok vision (Beijing) Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant before: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant