CN110176055B - 一种用于在3d虚拟引擎中模拟实时全局光照的自适应方法 - Google Patents

一种用于在3d虚拟引擎中模拟实时全局光照的自适应方法 Download PDF

Info

Publication number
CN110176055B
CN110176055B CN201910453097.4A CN201910453097A CN110176055B CN 110176055 B CN110176055 B CN 110176055B CN 201910453097 A CN201910453097 A CN 201910453097A CN 110176055 B CN110176055 B CN 110176055B
Authority
CN
China
Prior art keywords
light source
point light
global illumination
point
generating
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
CN201910453097.4A
Other languages
English (en)
Other versions
CN110176055A (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.)
Chongqing University
Original Assignee
Chongqing University
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 Chongqing University filed Critical Chongqing University
Priority to CN201910453097.4A priority Critical patent/CN110176055B/zh
Publication of CN110176055A publication Critical patent/CN110176055A/zh
Application granted granted Critical
Publication of CN110176055B publication Critical patent/CN110176055B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/506Illumination models
    • 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)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

本发明涉及一种用于在3D虚拟引擎中模拟实时全局光照的自适应方法,属于模拟技术领域。一种用于在3D虚拟引擎中模拟实时全局光照的自适应方法,该方法包括以下步骤:S1:模拟点光源的实时全局光照;S2:模拟聚光源的实时全局光照;S3:自适应模拟全局光照。本发明在保证3D虚拟场景真实性的基础上,显著地降低了虚拟仿真软件增加实时全局光照功能的性能开销,并且能够根据不同运算环境自适应调整模拟效果。

Description

一种用于在3D虚拟引擎中模拟实时全局光照的自适应方法
技术领域
本发明属于模拟技术领域,涉及一种用于在3D虚拟引擎中模拟实时全局光照的自适应方法。
背景技术
大多数3D虚拟引擎平台为开发的虚拟仿真软件提供了计算实时光照的功能,但是这一功能消耗的计算量极为庞大,在低运算能力的环境下,如基于Web的虚拟仿真软件中,会由于计算实时光照导致软件卡顿甚至无法运行。但在虚拟仿真软件中不计算光源的实时光照,会使3D虚拟场景缺乏真实性。
发明内容
有鉴于此,本发明的目的在于提供一种用于在3D虚拟引擎中模拟实时全局光照的自适应方法。
为达到上述目的,本发明提供如下技术方案:
一种用于在3D虚拟引擎中模拟实时全局光照的自适应方法,该方法包括以下步骤:
S1:模拟点光源的实时全局光照;
S2:模拟聚光源的实时全局光照;
S3:自适应模拟全局光照。
进一步,所述步骤S1具体为:
根据兰伯特定律对Blinn-phong光照模型进行修改:
Cspecular=(Clight·Mspcular)max(0,n·l);
其中,Cspcualr为反射后的光照强度;Clight为光源光照强度;Mspecular为材质反射系数;向量n为法线方向单位向量;向量l为取反的射线的单位向量;
在上下左右前后六个方向各引出一条射线,检测碰撞,当射线检测到接触物体时获取碰撞点位置,在碰撞点位置生成一个点光源,按照公式得到该点光源的光照强度;根据射线的单位向量与法线方向单位向量,得到反射光线方向,从该方向引出一条反射射线,再次生成点光源;总共执行三次生成点光源操作,每次生成六个点光源。
进一步,所述步骤S2具体为:
根据聚光源的角度,在聚光源发光的中心位置引出一条射线,依据步骤S1中的方法依次执行生成三次生成点光源操作模拟全局光照,但在每步操作中只生成一个点光源。
进一步,所述步骤S3具体为:
根据步骤S1和S2中点光源与聚光源模拟全局光照的方法,在场景中每添加一个光源就会进行三次生成点光源的操作用以模拟全局光照;
定义一个集合PointLight存储添加的所有点光源,定义三个集合,分别为FirstPointLight、 SecondPointLight和ThirdPointLight,分别用以存储添加点光源时每步操作生成的六个点光源;定义一个集合SpotLight存储添加的所有聚光源;定义三个集合,分别为FirstSpotLight、 SecondSpotLight和ThirdSpotLight,分别用以存储添加聚光源时每步操作生成的一个点光源。
本发明的有益效果在于:本发明在保证3D虚拟场景真实性的基础上,显著地降低了虚拟仿真软件增加实时全局光照功能的性能开销,并且能够根据不同运算环境自适应调整模拟效果。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
图1为模拟点光源的实时全局光照示意图;
图2为模拟聚光源的实时全局光照示意图;
图3为自适应模拟全局光照方法流程图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
请参阅图1~图3,为一种用于在3D虚拟引擎中模拟实时全局光照的自适应方法。
1、模拟点光源的实时全局光照
根据兰伯特定律(反射光线的强度与表面法线和光源方向之间夹角的余弦值成正比)对 Blinn-phong光照模型进行修改:Cspecular=(Clight·Mspcular)max(0,n·l)。
(Cspcualr:反射后的光照强度;
Clight:光源光照强度
Mspecular:材质反射系数
向量n:法线方向单位向量
向量l:取反的射线的单位向量)
在上下左右前后六个方向各引出一条射线,检测碰撞,当射线检测到接触物体时获取碰撞点位置,在碰撞点位置生成一个点光源,按照上文中的公式得到该点光源的光照强度。根据射线的单位向量与法线方向单位向量,得到反射光线方向,从该方向引出一条反射射线,按照如上方法再次生成点光源。总共执行三次生成点光源操作,每次生成六个点光源。
2、模拟聚光源的实时全局光照
根据聚光源的角度,在聚光源发光的中心位置引出一条射线,依据上文中的方法依次执行生成三次生成点光源操作模拟全局光照,但在每步操作中只生成一个点光源。
3、自适应模拟全局光照方法流程
根据上文中点光源与聚光源模拟全局光照的方法,在场景中每添加一个光源就会进行三次生成点光源的操作用以模拟全局光照。
定义一个集合PointLight存储添加的所有点光源,定义三个集合,分别为FirstPointLight、 SecondPointLight、ThirdPointLight,分别用以存储添加点光源时每步操作生成的六个点光源。定义一个集合SpotLight存储添加的所有聚光源。定义三个集合,分别为FirstSpotLight、 SecondSpotLight、ThirdSpotLight,分别用以存储添加聚光源时每步操作生成的一个点光源。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (1)

1.一种用于在3D虚拟引擎中模拟实时全局光照的自适应方法,其特征在于:该方法包括以下步骤:
S1:模拟点光源的实时全局光照;
S2:模拟聚光源的实时全局光照;
S3:自适应模拟全局光照;
所述步骤S1具体为:
根据兰伯特定律对Blinn-phong光照模型进行修改:
Cspecular=(Clight ▪Mspcular)max(0,n·l);
其中,Cspcualr为反射后的光照强度;Clight为光源光照强度;Mspecular为材质反射系数;向量n为法线方向单位向量;向量l为取反的射线的单位向量;
在上下左右前后六个方向各引出一条射线,检测碰撞,当射线检测到接触物体时获取碰撞点位置,在碰撞点位置生成一个点光源,按照公式得到该点光源的光照强度;根据射线的单位向量与法线方向单位向量,得到反射光线方向,从该方向引出一条反射射线,再次生成点光源;总共执行三次生成点光源操作,每次生成六个点光源;
所述步骤S2具体为:
根据聚光源的角度,在聚光源发光的中心位置引出一条射线,依据步骤S1中的方法依次执行生成三次生成点光源操作模拟全局光照,但在每步操作中只生成一个点光源;
所述步骤S3具体为:
根据步骤S1和S2中点光源与聚光源模拟全局光照的方法,在场景中每添加一个光源就会进行三次生成点光源的操作用以模拟全局光照;
定义一个集合PointLight存储添加的所有点光源,定义三个集合,分别为FirstPointLight、SecondPointLight和ThirdPointLight,分别用以存储添加点光源时每步操作生成的六个点光源;定义一个集合SpotLight存储添加的所有聚光源;定义三个集合,分别为FirstSpotLight、SecondSpotLight和ThirdSpotLight,分别用以存储添加聚光源时每步操作生成的一个点光源;
S3具体为:
S31:在场景中添加一个光源;
S32:将该光源存放到相应集合中,设PointLight集合长度为n,SpotLight集合长度为m;
S33:判断集合ThirdPointLight长度是否等于6n,以及集合ThirdSpotLight长度是否等于m;
S331:若都是,则执行三次生成点光源操作,将每次生成的点光源分别存放到对应的三个集合中,进入S34;
S332:若不都是,判断集合SecondPointLight长度是否等于6n,以及集合SecondSpotLight长度是否等于m;
S3321:若都是,则执行两次生成点光源操作,将每次生成的点光源分别存放到对应的两个集合中,进入S34;
S3322:若不都是,则执行一次生成点光源操作,将生成的点光源分别存放到对应的集合中,进入S34;
S34:判断频值是否大于60;
S341:若是,则依次对FirstPointLight、FirstSpotLight、SecondPointLight、SecondSpotLight、ThirdPointLight、ThirdSpotLight这六个集合的长度进行检查,根据集合对应的光源的类型,当一个集合的长度x小于6n或m时,对PointLight或SpotLight集合中从x或x/6开始存放的光源一次执行生成点光源操作,仅生成该集合对应步骤的点光源并将存入该集合,直至频值小于60或所有集合长度均等于6n或m;
S342:若不是,则判断频值是否大于30;
S3421:若是,则依次对FirstPointLight、FirstSpotLight、SecondPointLight、SecondSpotLight、ThirdPointLight、ThirdSpotLight这六个集合的长度进行检查,根据集合对应的光源的类型,当一个集合的长度大于0时,从集合末端删除依次删除6个或1个点光源,直至频值大于30或所有集合均为空;
S3422:若不是,则结束。
CN201910453097.4A 2019-05-28 2019-05-28 一种用于在3d虚拟引擎中模拟实时全局光照的自适应方法 Active CN110176055B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910453097.4A CN110176055B (zh) 2019-05-28 2019-05-28 一种用于在3d虚拟引擎中模拟实时全局光照的自适应方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910453097.4A CN110176055B (zh) 2019-05-28 2019-05-28 一种用于在3d虚拟引擎中模拟实时全局光照的自适应方法

Publications (2)

Publication Number Publication Date
CN110176055A CN110176055A (zh) 2019-08-27
CN110176055B true CN110176055B (zh) 2023-04-18

Family

ID=67695784

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910453097.4A Active CN110176055B (zh) 2019-05-28 2019-05-28 一种用于在3d虚拟引擎中模拟实时全局光照的自适应方法

Country Status (1)

Country Link
CN (1) CN110176055B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2057605A2 (en) * 2006-07-24 2009-05-13 Michael Bunnell System and methods for real-time rendering of deformable geometry with global illumination
CN106157264A (zh) * 2016-06-30 2016-11-23 北京大学 基于经验模式分解的大幅面图像不均匀光照校正方法
CN112116693A (zh) * 2020-08-20 2020-12-22 中山大学 一种基于cpu的生物分子可视化光线追踪渲染方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0459761A3 (en) * 1990-05-31 1993-07-14 Hewlett-Packard Company Three dimensional computer graphics employing ray tracking to compute form factors in radiosity
US20090102843A1 (en) * 2007-10-17 2009-04-23 Microsoft Corporation Image-based proxy accumulation for realtime soft global illumination
KR101475779B1 (ko) * 2008-06-02 2014-12-23 삼성전자주식회사 3d 영상 처리 방법
US8811767B2 (en) * 2011-03-15 2014-08-19 Mitsubishi Electric Research Laboratories, Inc. Structured light for 3D shape reconstruction subject to global illumination
CN102346918B (zh) * 2011-09-30 2013-08-21 长春理工大学 一种只包含物体变化的三维动画场景的绘制方法
CN102819860B (zh) * 2012-08-16 2015-03-11 北京航空航天大学 基于辐射度算法的次表面散射物体的实时全局光照方法
WO2016199464A1 (ja) * 2015-06-12 2016-12-15 ソニー株式会社 情報処理装置、情報処理方法及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2057605A2 (en) * 2006-07-24 2009-05-13 Michael Bunnell System and methods for real-time rendering of deformable geometry with global illumination
CN106157264A (zh) * 2016-06-30 2016-11-23 北京大学 基于经验模式分解的大幅面图像不均匀光照校正方法
CN112116693A (zh) * 2020-08-20 2020-12-22 中山大学 一种基于cpu的生物分子可视化光线追踪渲染方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
William A. Stokes等.Perceptual illumination components: a new approach to efficient, high quality global illumination rendering.acm transactions on graphics.2004,23(3),742–749. *
Xinrun Chen等.A virtual reality experiment system for an introductory computer hardware course.Computer Applications in Engineering Education.2021,第29卷(第6期),1437-1949. *
吴文珍 ; 李全忠 ; 王海峰 ; 田媛媛 ; .油田虚拟现实***中的光照模型算法研究及应用.长江大学学报(自然科学版)理工卷.2008,5(第01期),195-197. *
李杨 ; 周果 ; 李淳 ; 邱显杰 ; 王兆其 ; .基于三角形自适应细分的有效光照烘焙方法.计算机学报.2013,36(第12期),2499-2511. *
袁璐 ; .基于立即辐射度的实时全局光照算法.现代计算机(专业版).2018,(第02期),63-66. *

Also Published As

Publication number Publication date
CN110176055A (zh) 2019-08-27

Similar Documents

Publication Publication Date Title
US9082213B2 (en) Image processing apparatus for combining real object and virtual object and processing method therefor
CN102243770B (zh) 一种基于osg的虚拟海战场真实感图形快速绘制方法
US20080074420A1 (en) Pixel color accumulation in a ray tracing image processing system
US6690372B2 (en) System, method and article of manufacture for shadow mapping
US8139780B2 (en) Using ray tracing for real time audio synthesis
US8018453B2 (en) Deferred acceleration data structure optimization for improved performance
US8243061B2 (en) Image processing apparatus and method of controlling operation of same
KR101572618B1 (ko) 라이더 시뮬레이션 장치 및 방법
EP0933729A3 (en) Three-dimensional graphics accelerator
CN111583371B (zh) 基于神经网络的参与性介质多重散射绘制方法及***
US20170263043A1 (en) Importance sampling for determining a light map
EP2107530A1 (en) Rendering of subsurface scattering effects in translucent objects
US7589725B2 (en) Soft shadows in dynamic scenes
US10950038B2 (en) Realistically illuminated virtual objects embedded within immersive environments
CN111870947B (zh) 游戏交互方法、装置、电子设备及存储介质
CN106096321B (zh) 结合声线跟踪法与声束跟踪法的室内外声音传播模拟方法
JP2013536536A (ja) ミップマップレベル選択方法及びこれを利用したテクスチャマッピングシステム
US11657908B2 (en) Methods and systems for handling virtual 3D object surface interaction
CN110176055B (zh) 一种用于在3d虚拟引擎中模拟实时全局光照的自适应方法
US20150161816A1 (en) Simulating Sub-Surface Scattering of Illumination for Simulated Three-Dimensional Objects
CN111773685A (zh) 动态生成游戏角色视野的方法和装置
Hu et al. Interactive approximate rendering of reflections, refractions, and caustics
US20110018876A1 (en) Systems and Methods for Determining Lighting for 3D Geometry
CN104240286A (zh) 基于屏幕空间的实时反射方法
CN115115747A (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