CN114494545A - 一种在3d场景中模拟雾天的实现方法及系统 - Google Patents
一种在3d场景中模拟雾天的实现方法及系统 Download PDFInfo
- Publication number
- CN114494545A CN114494545A CN202210088303.8A CN202210088303A CN114494545A CN 114494545 A CN114494545 A CN 114494545A CN 202210088303 A CN202210088303 A CN 202210088303A CN 114494545 A CN114494545 A CN 114494545A
- Authority
- CN
- China
- Prior art keywords
- fog
- color
- distance
- fog effect
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/60—3D [Three Dimensional] animation of natural phenomena, e.g. rain, snow, water or plants
-
- 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
-
- 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
- A63F2300/663—Methods for processing data by generating or executing the game program for rendering three dimensional images for simulating liquid objects, e.g. water, gas, fog, snow, clouds
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明实施例公开了一种在3D场景中模拟雾天的实现方法及系统,通过获取3D场景中摄像机与物体表面点之间的距离;根据所述距离以及预设的雾效起始距离和雾效范围,确定雾效混合因子;基于所述雾效混合因子,将物体原色与雾气颜色进行加权计算值作为物体表面点的颜色,生成雾效显示结果。在3D场景中实现对雾天的模拟。
Description
技术领域
本发明实施例涉及计算机图形学技术领域,具体涉及一种在3D场景中模拟雾天的实现方法及系统。
背景技术
雾效是3D渲染中用来模拟现实中大气现象的一种常见手段。最直接的用途就是实现带雾天气的场景。此外,雾效还有其他很多重要的作用:
1.用来防止场景中远处物体的突然消失/出现。这种现象的主要原因在于,在我们指定投影矩阵时,提供了两个参数:近平面和远平面。这两个参数限制了场景中绘制物体的范围。只有位于该区间内的物体才被渲染,其他会被剔除。这样就导致了当我们在场景中移动时,位于远平面附近处的物体中会因为跨越该距离而突然地消失或出现。这显然是我们不希望看到的。引入雾效后,由于从近到远场景中的物体会逐渐地“朦胧化”,在超过一定距离后会完全与背景色融合在一起。因此远平面处的这种奇异现象将不能被观察到。
2.另一个重要作用即优化场景的渲染。当雾效存在时,我们能够观察到的物体会被限制在一定距离内,该距离一般比远平面要小得多。实际上,当超过该距离后,更远处的物体是完全看不到的,即使位于远平面范围内,也没有任何渲染价值。这种情况下,在渲染时就可以把雾效距离之外的物体直接剔除掉,以避免不必要的渲染造成的资源浪费。在玩游戏时可能会有所体会,在游戏中,可以尝试关闭、打开雾效(如果有这个功能的话),会发现打开雾效后,场景更加逼真(按经验讲,更逼真的场景一般需要更高级的渲染,帧数会下降),而游戏反而会更加流畅。这正是因为利用雾效而进行的优化。
发明内容
为此,本发明实施例提供一种在3D场景中模拟雾天的实现方法及系统,以实现在3D场景中实现对雾天的模拟。
为了实现上述目的,本发明实施例提供如下技术方案:
根据本发明实施例的第一方面,提出了一种在3D场景中模拟雾天的实现方法,所述方法包括:
获取3D场景中摄像机与物体表面点之间的距离;
根据所述距离以及预设的雾效起始距离和雾效范围,确定雾效混合因子;
基于所述雾效混合因子,将物体原色与雾气颜色进行加权计算值作为物体表面点的颜色,生成雾效显示结果。
进一步地,获取3D场景中摄像机与物体表面点之间的距离,具体包括:所述距离为摄像机的世界坐标与物体三角网格模型的最小三角网格单元顶点的世界坐标之差的绝对值。
进一步地,根据所述距离以及预设的雾效起始距离和雾效范围,确定雾效混合因子,具体包括:
雾效混合因子s的值为,
其中,dist(p,E)为物体表面点p与摄像机位置E之间的距离,而函数saturate会将其参数限制在区间[0,1]内:
fogStart为雾效起始距离,即摄像机到雾气的最近距离;fogRange雾效范围,即从雾气到摄像机的最近距离至雾能完全覆盖物体的这段范围。
进一步地,基于所述雾效混合因子,将物体原色与雾气颜色进行加权计算值作为物体表面点的颜色,生成雾效显示结果,具体包括:
finalColor=litColor+s(fogColor-litColor)
=(1-s)*litColor+s*fogColor
其中,finalColor为输出的物体表面点的颜色,litColor为物体原色,fogColor为雾气颜色,s为雾效混合因子。
进一步地,基于所述雾效混合因子,将物体原色与雾气颜色进行加权计算值作为物体表面点的颜色,生成雾效显示结果,具体还包括:
将颜色RGBA四个通道的数值分别插值后进行叠加得到输出结果。
进一步地,基于所述雾效混合因子,将物体原色与雾气颜色进行加权计算值作为物体表面点的颜色,生成雾效显示结果,具体还包括:
当距离较近时,s=0,此时物体颜色为物体原色;当距离较远时,物体完全融入到雾中,此时s=1,即物体颜色完全变为雾的颜色。
根据本发明实施例的第二方面,提出了一种在3D场景中模拟雾天的实现系统,所述系统包括:
距离获取模块,用于获取3D场景中摄像机与物体表面点之间的距离;
雾效混合因子确定模块,用于根据所述距离以及预设的雾效起始距离和雾效范围,确定雾效混合因子;
雾效结果生成模块,用于基于所述雾效混合因子,将物体原色与雾气颜色进行加权计算值作为物体表面点的颜色,生成雾效显示结果。
根据本发明实施例的第三方面,提出了一种计算机存储介质,所述计算机存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于被一种在3D场景中模拟雾天的实现系统执行如上任一项所述的方法。
本发明实施例具有如下优点:
本发明实施例提出的一种在3D场景中模拟雾天的实现方法及系统,通过获取3D场景中摄像机与物体表面点之间的距离;根据所述距离以及预设的雾效起始距离和雾效范围,确定雾效混合因子;基于所述雾效混合因子,将物体原色与雾气颜色进行加权计算值作为物体表面点的颜色,生成雾效显示结果。在3D场景中实现对雾天的模拟。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
图1为本发明实施例1提供的一种在3D场景中模拟雾天的实现方法的流程示意图;
图2为本发明实施例1提供的一种在3D场景中模拟雾天的实现方法中摄像机E到某点p的距离,雾效起始距离以及雾效范围;
图3为本发明实施例1提供的一种在3D场景中模拟雾天的实现方法中s值随距离变化曲线;
图4为本发明实施例1提供的一种在3D场景中模拟雾天的实现方法中(1-s)值随距离变化曲线;
图5为本发明实施例1提供的一种在3D场景中模拟雾天的实现方法中不同距离下的雾效结果图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
如图1所示,本实施例提出了一种在3D场景中模拟雾天的实现方法,所述方法包括:
S100、获取3D场景中摄像机与物体表面点之间的距离。
物体在世界中是使用绝对坐标的,但是人认识世界是相对的,即从不同的角度观察会产生不同的效果,因此需要引入摄像机的概念,来默认人眼的观察。通过一个摄像机的变换矩阵,把世界坐标映射到摄像机坐标中,形成人观察到实体的具体位置情况。摄像机和空间物体是不同的。空间物体确定是根据给出一个绝对坐标系和三个轴相对于惯性系的方向,然后再进行确定的,但是摄像机比较复杂,因为摄像机需要确定位置,同时还有视线的方向。
本实施例中,所述距离为摄像机的世界坐标与物体三角网格模型的最小三角网格单元顶点的世界坐标之差的绝对值。
S200、根据所述距离以及预设的雾效起始距离和雾效范围,确定雾效混合因子。
具体包括:
雾效混合因子s的值为,
其中,dist(p,E)为物体表面点p与摄像机位置E之间的距离,而函数saturate会将其参数限制在区间[0,1]内:
雾效混合因子的计算取决于雾效本身的一些参数,除了雾颜色之外,还有:雾效起始距离fogStart,雾效范围fogRange。fogStart为雾效起始距离,即摄像机到雾气的最近距离;fogRange雾效范围,即从雾气到摄像机的最近距离至雾能完全覆盖物体的这段范围,如图2所示。s值与(1-s)值如图3和图4所示。
当(p,E)≤fogStart时s=0,而雾的颜色则有下式给出:
foggedColor=litColor
换句话说,当物体表面点到摄像机的距离小于fogStart时,雾色就不会改变物体顶点的本色。顾名思义,只有表面点到摄像机的距离至少为“fogStart”(雾效开始)时,骑颜色才会受到雾色的影响。
S300、基于所述雾效混合因子,将物体原色与雾气颜色进行加权计算值作为物体表面点的颜色,生成雾效显示结果。
具体计算时,首先要设定雾的颜色,由摄像机到雾气的最近距离以及雾效范围(即从雾到摄像机的最近距离至雾能完全覆盖物体的这段范围),接下来再将物体网格模型三角形网格上点的颜色设置为原色与雾色的加权平均值(三角形为基本绘制片元的网格模型的一个最小绘制单位)。
finalColor=litColor+s(fogColor-litColor)
=(1-s)*litColor+s*fogColor
其中,finalColor为输出的物体表面点的颜色,litColor为物体原色,fogColor为雾气颜色,s为雾效混合因子。随着该表面点与观察点之间距离的增加,它会被雾气遮挡的愈加朦胧,如图5所示。
本实施例中,颜色数据基于RGBA值,根据公式,并通过将颜色RGBA四个通道的数值分别插值后进行叠加得到输出结果。
当距离较近时,s=0,此时物体颜色为物体原色;当距离较远时,物体完全融入到雾中,此时s=1,即物体颜色完全变为雾的颜色。
实施例2
与上述实施例1相对应的,本实施例提出了一种在3D场景中模拟雾天的实现系统,所述系统包括:
距离获取模块,用于获取3D场景中摄像机与物体表面点之间的距离;
雾效混合因子确定模块,用于根据所述距离以及预设的雾效起始距离和雾效范围,确定雾效混合因子;
雾效结果生成模块,用于基于所述雾效混合因子,将物体原色与雾气颜色进行加权计算值作为物体表面点的颜色,生成雾效显示结果。
本发明实施例提供的一种在3D场景中模拟雾天的实现系统中各部件所执行的功能均已在上述实施例1中做了详细介绍,因此这里不做过多赘述。
实施例3
与上述实施例相对应的,本实施例提出了一种计算机存储介质,计算机存储介质中包含一个或多个程序指令,一个或多个程序指令用于被一种在3D场景中模拟雾天的实现系统执行如实施例1的方法。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (8)
1.一种在3D场景中模拟雾天的实现方法,其特征在于,所述方法包括:
获取3D场景中摄像机与物体表面点之间的距离;
根据所述距离以及预设的雾效起始距离和雾效范围,确定雾效混合因子;
基于所述雾效混合因子,将物体原色与雾气颜色进行加权计算值作为物体表面点的颜色,生成雾效显示结果。
2.根据权利要求1所述的一种在3D场景中模拟雾天的实现方法,其特征在于,获取3D场景中摄像机与物体表面点之间的距离,具体包括:所述距离为摄像机的世界坐标与物体三角网格模型的最小三角网格单元顶点的世界坐标之差的绝对值。
4.根据权利要求1所述的一种在3D场景中模拟雾天的实现方法,其特征在于,基于所述雾效混合因子,将物体原色与雾气颜色进行加权计算值作为物体表面点的颜色,生成雾效显示结果,具体包括:
finalColor=litColor+s(fogColor-litColor)
=(1-s)*litColor+s*fogColor
其中,finalColor为输出的物体表面点的颜色,litColor为物体原色,fogColor为雾气颜色,s为雾效混合因子。
5.根据权利要求1所述的一种在3D场景中模拟雾天的实现方法,其特征在于,基于所述雾效混合因子,将物体原色与雾气颜色进行加权计算值作为物体表面点的颜色,生成雾效显示结果,具体还包括:
将颜色RGBA四个通道的数值分别插值后进行叠加得到输出结果。
6.根据权利要求4所述的一种在3D场景中模拟雾天的实现方法,其特征在于,基于所述雾效混合因子,将物体原色与雾气颜色进行加权计算值作为物体表面点的颜色,生成雾效显示结果,具体还包括:
当距离较近时,s=0,此时物体颜色为物体原色;当距离较远时,物体完全融入到雾中,此时s=1,即物体颜色完全变为雾的颜色。
7.一种在3D场景中模拟雾天的实现系统,其特征在于,所述系统包括:
距离获取模块,用于获取3D场景中摄像机与物体表面点之间的距离;
雾效混合因子确定模块,用于根据所述距离以及预设的雾效起始距离和雾效范围,确定雾效混合因子;
雾效结果生成模块,用于基于所述雾效混合因子,将物体原色与雾气颜色进行加权计算值作为物体表面点的颜色,生成雾效显示结果。
8.一种计算机存储介质,其特征在于,所述计算机存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于被一种在3D场景中模拟雾天的实现系统执行如权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210088303.8A CN114494545A (zh) | 2022-01-25 | 2022-01-25 | 一种在3d场景中模拟雾天的实现方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210088303.8A CN114494545A (zh) | 2022-01-25 | 2022-01-25 | 一种在3d场景中模拟雾天的实现方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114494545A true CN114494545A (zh) | 2022-05-13 |
Family
ID=81475506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210088303.8A Pending CN114494545A (zh) | 2022-01-25 | 2022-01-25 | 一种在3d场景中模拟雾天的实现方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114494545A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116832434A (zh) * | 2023-06-19 | 2023-10-03 | 广州怪力视效网络科技有限公司 | 一种游戏场景中虚拟天空的渲染方法及装置 |
-
2022
- 2022-01-25 CN CN202210088303.8A patent/CN114494545A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116832434A (zh) * | 2023-06-19 | 2023-10-03 | 广州怪力视效网络科技有限公司 | 一种游戏场景中虚拟天空的渲染方法及装置 |
CN116832434B (zh) * | 2023-06-19 | 2024-04-12 | 广州怪力视效网络科技有限公司 | 一种游戏场景中虚拟天空的渲染方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112316420B (zh) | 模型渲染方法、装置、设备及存储介质 | |
EP2951785B1 (en) | Method and system for efficient modeling of specular reflection | |
EP1494174B1 (en) | Method of generating blur | |
US7583264B2 (en) | Apparatus and program for image generation | |
US6151026A (en) | Image processing apparatus and image processing method | |
EP2158948A2 (en) | Image generation system, image generation method, and information storage medium | |
WO1998038591A9 (en) | Method for rendering shadows on a graphical display | |
CN109985384B (zh) | 贴图动态调整方法及装置 | |
CN112200902A (zh) | 图像渲染方法、装置、电子设备及存储介质 | |
US20230230311A1 (en) | Rendering Method and Apparatus, and Device | |
US20030193496A1 (en) | Image processing system, image processing method, semiconductor device, computer program, and recording medium | |
US7479961B2 (en) | Program, information storage medium, and image generation system | |
US20040056859A1 (en) | Image generating method, storage medium, image generating apparatus, data signal and program | |
CN111986303A (zh) | 流体渲染方法、装置、存储介质及终端设备 | |
CN114494545A (zh) | 一种在3d场景中模拟雾天的实现方法及系统 | |
JP4584956B2 (ja) | グラフィックスプロセッサおよび描画処理方法 | |
JP3502796B2 (ja) | ビデオゲームにおける立体モデル表示方法及び装置、ゲーム装置並びにビデオゲーム用立体モデル表示プログラムを格納したコンピュータ読み取り可能な記録媒体 | |
JP4868586B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
CN108986228B (zh) | 用于虚拟现实中界面显示的方法及装置 | |
US7710419B2 (en) | Program, information storage medium, and image generation system | |
US7724255B2 (en) | Program, information storage medium, and image generation system | |
CA2872653A1 (en) | Image-generating system using beta distribution to provide accurate shadow mapping | |
JP2004334801A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
CN117745915B (zh) | 一种模型渲染方法、装置、设备及存储介质 | |
JP4319308B2 (ja) | ガス状物体表示回路 |
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 |