CN104517313A - 基于屏幕空间的环境光遮蔽的方法 - Google Patents
基于屏幕空间的环境光遮蔽的方法 Download PDFInfo
- Publication number
- CN104517313A CN104517313A CN201410531718.3A CN201410531718A CN104517313A CN 104517313 A CN104517313 A CN 104517313A CN 201410531718 A CN201410531718 A CN 201410531718A CN 104517313 A CN104517313 A CN 104517313A
- Authority
- CN
- China
- Prior art keywords
- pixel
- point
- scene
- gray
- value
- 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.)
- Granted
Links
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种基于屏幕空间的环境光遮蔽的方法,包括以下步骤:根据绘制完的场景中每个像素的位置和法线得到每个像素的灰度值;将上述得到的每个像素的灰度值和场景的颜色相乘得到场景中最终的明暗效果。在光栅化图形后的物理操作中来实现的,通过采样像素周围的颜色信息,并进行简单的深度值对比来计算物体身上的环境光照无法到达的范围,从而可以近似的表现物体表面在环境光的照射下产生的轮廓阴影。达到计算速度快,效率高的目的。
Description
技术领域
本发明涉及计算机图形学领域,具体地,涉及一种基于屏幕空间的环境光遮蔽的方法。
背景技术
目前,随着计算机的硬件技术的发展,特别是GPU的高速发展,计算机的渲染速度越来越快,人们对真实感图形的需求也越来越强烈,真实感图像绘制是需要的是光照,不仅要考虑光源的直接光照,也要考虑来自物体之间的反射,折射,透射的间接光照,而环境光遮蔽是一种全局光照的算法,因为周围物体的遮蔽而形成的阴影,它能很好的渲染场景中空间感和层次感,给玩家带来更好的真实感,这种环境光计算速度快,能满足实时渲染的需要。
目前是利用三维软件中的AO(环境光遮蔽)烘焙技术来实现静态场景中明暗细节的变化,这种技术虽然能表现出场景的部分层次感,但是由于场景中的光照可能是动态变化的那么场景的明暗细节是也随着光照在变化的,由于使用AO烘焙技术是不能实时满足场景变化的需求。如果改变光照强度信息,又需要为场景重新建立一套AO机制,既增加的工作量又浪费了时间,同时也增加了资源成本。
发明内容
本发明的目的在于,针对上述问题,提出一种基于屏幕空间的环境光遮蔽的方法,以实现计算速度快,效率高的优点。
为实现上述目的,本发明采用的技术方案是:
一种基于屏幕空间的环境光遮蔽的方法,包括以下步骤:
步骤一:根据绘制完的场景中每个像素的位置和法线得到每个像素的灰度值;
步骤二:将上述得到的每个像素的灰度值和场景的颜色相乘得到场景中最终的明暗效果。
优选的,所述步骤一中得到每个像素的灰度值具体为:
当场景绘制完,得到场景中深度缓存中每个像素的深度值,即得到像素的位置,对于每个像素法线是已知的,根据位置和法线信息计算得到每个像素是处于明亮的地方还是处于黑暗的地方,这些像素的明暗信息是有像素的灰度值来表示的;
像素灰度值计算的过程如下:
依次遍历屏幕空间的像素信息,对于找到像素位于明暗交界的地方的像素,采样明暗交界地方的像素P位置,然后采样P点周围的任意点Q,已知P点的法线向量N,那么P位置和Q位置所构成的方向向量统一记为P,而P位置的灰度值为:
P(g)=1-P·Np
其中P·Np∈[0,1],
而模型表面是平坦的时候,这些区域像素的位置与采样点构成的向量与该区域点的法线是垂直的,此时看到该平坦区域的像素是越亮的,即:
当P点位置和采样点的位置构成的向量与P点法线向量越平行,P·Np的值越大,灰度值就越小,则暗部细节越明显;
当P点位置和采样点的位置构成的向量与P点法线向量越垂直,P·Np的值越小,灰度值就越大,则该点像素的亮度越亮。
优选的,随机采样Q点周围的16个像素,取值为PQ1,PQ2……PQ16,从而得到16个方向向量,分别把这些向量与P点的法向量点乘,两个向量的乘积记为R,R∈[0,1]范围内,得到16个R范围的随机值,即:
Ri=Pi·NP
得到P点的16个灰度值即16个(1-Ri)
然后对其求平均值,那么P点最终的灰度值可以用公式表示为:
其中N为采样Q点周围的像素数量,Pi为像素P位置到Q点周围采样点位置的方向向量,Np为P位置的法线向量。
优选的,基于上述得到的每个像素的灰度值,在绘制场景时,得到一张场景的颜色信息,最终场景的颜色值为:
Q(g)=P(g)P(c)
其中,P(c)为场景的每个像素的颜色信息,光栅化中的几何操作部分得到每个像素的颜色信息。
优选的,对深度缓存的深度图纹理进行降采样处理,将原始深度图像经过降采样后,图像变小,降采样后的深度图,分辨率变小,然后再对深度图纹理进行升采样即放大图像,从而利用获得的低分辨率图像插值得到高分辨率。
本发明的技术方案具有以下有益效果:
本发明的技术方案在光栅化图形后的物理操作中来实现的,通过采样像素周围的颜色信息,并进行简单的深度值对比来计算物体身上的环境光照无法到达的范围,从而可以近似的表现物体表面在环境光的照射下产生的轮廓阴影。达到计算速度快,效率高的目的。且与场景布局的复杂度无关;并可以实时动态的渲染场景;很容易的集成到渲染通道中。而对深度缓存的深度图纹理进行降采样处理,可以提高像素采样的速度,同时又保证了每个像素升采样后当前场景深度信息基本保持不变的效果。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明实施例所述的基于屏幕空间的环境光遮蔽的方法的流程图;
图2a为场景图像的法线图;
图2b为场景图像的AO图;
图2c为场景图像的灰度图;
图3为未开启AO场景状态参考图;
图4为开启AO场景状态参考图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明的技术方案具体为了实时计算场景模型表面的明暗细节变化的环境光遮蔽的效果。
在现实中的三维物体,利用计算机图像硬件接口,将三维物体转化为二维物体描绘到帧缓存中,这些物体是有一系列的描述物体的相同性质的顶点组成,经过图像硬件接口绘制图元的顶点数据,这些图元由一组顶点定义,这些顶点说明由位置坐标,颜色值,法向量和纹理坐标构成;每个顶点可以有坐标来表示其位置,颜色与每个顶点有关或者是光照产生的颜色,这取决于是否允许光照,法向量是一个三维的向量,用于计算光照,纹理坐标据顶点如何纹理图像映射到图元,它与每个顶点坐标也有很大关联,最终转化成像素数据,这些像素数据的结果可以先存储在纹理用的内存中,然后从纹理内存中取出像素信息进行光栅化;光栅化包括几何和物理映射两部分,几何操作是将图元转化为二维图像,物理操作是计算每个像素的颜色和法线信息,在此阶段可以得到绘制当前场景的每个像素的位置和法线信息,并用此信息更新到帧缓存中再输入到显示器形成最后的结果。
基于屏幕空间的环境光遮蔽是在光栅化图形后的物理操作中来实现的,通过采样像素周围的颜色信息,并进行简单的深度值对比来计算物体身上的环境光照无法到达的范围,从而可以近似的表现物体表面在环境光的照射下产生的轮廓阴影。场景图像的法线图、AO图和灰度图如要图2a至图2c所示。
基于屏幕空间的环境光遮蔽的方法实现过程如图1所示:
第一:绘制完的场景由每个像素的位置和法线得到每个像素的灰度值;
当第一次绘制完场景,得到场景中深度缓存中每个像素的深度值,即得到像素的位置,对于每个像素法线是已知的,根据位置和法线信息得到计算每个像素是处于明亮的地方还是处于黑暗的地方,这些像素的明暗信息是有像素的灰度值来表示的。
那么计算像素灰度值的过程如下:
依次遍历屏幕空间的像素信息,对于找到像素位于明暗交界的地方的像素,采样明暗交界地方的像素P位置,然后采样P点周围的任意点Q,已知P点的法线向量NP,那么P位置和Q位置所构成的方向向量统一记为:P,那么P位置的灰度值为:
P(g)=1-P·Np (1)
其中P·Np∈[0,1]
而模型表面是平坦的时候,这些区域像素的位置与采样点构成的向量与该区域点的法线是垂直的,此时看到该平坦区域的像素是越亮的,即:
当P点位置和采样点的位置构成的向量与P点法线向量越平行,P·Np的值越大,灰度值就越小,则暗部细节越明显。
当P点位置和采样点的位置构成的向量与P点法线向量越垂直,P·Np的值越小,灰度值就越大,则该点像素的亮度越亮。
为了能更精确地得到P位置的灰度值,在随机采样Q点周围的16个像素,那么取值为PQ1,PQ2……PQ16,这样可以得到16个方向向量,然后分别把这些向量与P点的法向量点乘,两个向量的乘积记为范围内,得到16个R范围的随机值,即:
Ri=Pi·NP (2)
得到P点的16个灰度值即16个(1-Ri)。
然后对其求平均值,那么P点最终的灰度值可以用公式表示为:
其中N为采样Q点周围的像素数量,Pi为像素P位置到Q点周围采样点位置的方向向量,Np为P位置的法线向量。
第二:将每个像素的灰度值和场景的颜色相乘得到场景中最终的明暗效果;
基于上述得到的每个像素的灰度值,在绘制场景时,可以得到一张场景的颜色信息,那么最终场景的颜色值为:
Q(g)=P(g)P(c) (4)
其中P(c)为场景的每个像素的颜色信息,光栅化中的几何操作部分得到每个像素的颜色信息。
为了提高效率,本发明同时对深度缓存的深度图纹理进行降采样处理,将原始深度图像经过降采样后,图像变小,降采样的目的:
1、使得图像符合显示区域的大小;
2、生成对应图像得到缩略图。
降采样后的深度图,分辨率变小,在进行像素采样的过程中,就会加快比较的速度,然后再对深度图纹理进行升采样即放大图像,利用获得的低分辨率图像插值得到高分辨率,从而可以显示在更高分辨率的显示设备上,经过这样先降采样在升采样的过程,可以提高像素采样的速度,同时又保证了每个像素升采样后当前场景深度信息基本保持不变的效果。
开启AO场景和未开启AO场景的图像对比如图3和图4所示。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种基于屏幕空间的环境光遮蔽的方法,其特征在于,包括以下步骤:
步骤一:根据绘制完的场景中每个像素的位置和法线得到每个像素的灰度值;
步骤二:将上述得到的每个像素的灰度值和场景的颜色相乘得到场景中最终的明暗效果。
2.根据权利要求1所述的基于屏幕空间的环境光遮蔽的方法,其特征在于,所述步骤一中得到每个像素的灰度值具体为:
当场景绘制完,得到场景中深度缓存中每个像素的深度值,即得到像素的位置,对于每个像素法线是已知的,根据位置和法线信息计算得到每个像素是处于明亮的地方还是处于黑暗的地方,这些像素的明暗信息是有像素的灰度值来表示的;
像素灰度值计算的过程如下:
依次遍历屏幕空间的像素信息,对于找到像素位于明暗交界的地方的像素,采样明暗交界地方的像素P位置,然后采样P点周围的任意点Q,已知P点的法线向量Np,那么P位置和任意点Q位置所构成的方向向量统一记为P,那么P位置的灰度值为:
P(g)=1-P·Np
其中P·Np∈[0,1],
而模型表面是平坦的时候,这些区域像素的位置与采样点构成的向量与该区域点的法线是垂直的,此时看到该平坦区域的像素是越亮的,即:
当P点位置和采样点的位置构成的向量与P点法线向量越平行,P·Np的值越大,灰度值就越小,则暗部细节越明显;
当P点位置和采样点的位置构成的向量与P点法线向量越垂直,P·Np的值越小,灰度值就越大,则该点像素的亮度越亮。
3.根据权利要求2所述的基于屏幕空间的环境光遮蔽的方法,其特征在于,随机采样Q点周围的16个像素,取值为PQ1,PQ2……PQ16,从而得到16个方向向量,分别把这些向量与P点的法向量点乘,两个向量的乘积记为R,R∈[0,1]范围内,得到16个R范围的随机值,即:
Ri=Pi·NP
得到P点的16个灰度值即16个(1-Ri)。
然后对其求平均值,那么P点最终的灰度值可以用公式表示为:
其中N为采样Q点周围的像素数量,Pi为像素P位置到Q点周围采样点位置的方向向量,Np为P位置的法线向量。
4.根据权利要求2或3所述的基于屏幕空间的环境光遮蔽的方法,其特征在于,基于上述得到的每个像素的灰度值,在绘制场景时,得到一张场景的颜色信息,最终场景的颜色值为:
Q(g)=P(g)P(c)
其中,P(c)为场景的每个像素的颜色信息,光栅化中的几何操作部分得到每个像素的颜色信息。
5.根据权利要求4所述的基于屏幕空间的环境光遮蔽的方法,其特征在于,对深度缓存的深度图纹理进行降采样处理,将原始深度图像经过降采样后,图像变小,降采样后的深度图,分辨率变小,然后再对深度图纹理进行升采样即放大图像,从而利用获得的低分辨率图像插值得到高分辨率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410531718.3A CN104517313B (zh) | 2014-10-10 | 2014-10-10 | 基于屏幕空间的环境光遮蔽的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410531718.3A CN104517313B (zh) | 2014-10-10 | 2014-10-10 | 基于屏幕空间的环境光遮蔽的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104517313A true CN104517313A (zh) | 2015-04-15 |
CN104517313B CN104517313B (zh) | 2017-12-05 |
Family
ID=52792555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410531718.3A Active CN104517313B (zh) | 2014-10-10 | 2014-10-10 | 基于屏幕空间的环境光遮蔽的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104517313B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106780709A (zh) * | 2016-12-02 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 一种确定全局光照信息的方法及装置 |
CN107633544A (zh) * | 2016-07-14 | 2018-01-26 | 网易(杭州)网络有限公司 | 环境光遮蔽的处理方法及装置 |
CN110852188A (zh) * | 2019-10-22 | 2020-02-28 | 浙江大学 | 一种提取ct数字图像中整个土壤团聚体孔隙结构的方法 |
CN114596348A (zh) * | 2021-12-08 | 2022-06-07 | 北京蓝亚盒子科技有限公司 | 基于屏幕空间的环境遮挡计算方法、装置及运行器、可读存储介质 |
CN115205509A (zh) * | 2022-09-16 | 2022-10-18 | 上海英立视电子有限公司 | 一种调整图像立体感的方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201015469A (en) * | 2008-10-03 | 2010-04-16 | Ying-Zhen Qiu | Business marketing method and system with progress of a game, and a portable electronic device |
CN102592305A (zh) * | 2011-09-06 | 2012-07-18 | 浙江大学 | 自适应的屏幕空间环境光遮蔽方法 |
US20130307852A1 (en) * | 2007-01-24 | 2013-11-21 | Take Two Interactive Software, Inc. | System and method for calculating multi-resolution dynamic ambient occlusion |
US20140050390A1 (en) * | 2012-08-17 | 2014-02-20 | Thabo D. Beeler | Reconstruction of deforming surfaces by canceling ambient occlusion and refining 3-d shape |
US20140098096A1 (en) * | 2012-10-08 | 2014-04-10 | Nvidia Corporation | Depth texture data structure for rendering ambient occlusion and method of employment thereof |
CN103838548A (zh) * | 2012-11-26 | 2014-06-04 | 辉达公司 | 用于对层次深度图采样的系统、方法和计算机程序产品 |
US20140160124A1 (en) * | 2012-12-12 | 2014-06-12 | Nvidia Corporation | Visible polygon data structure and method of use thereof |
CN103995700A (zh) * | 2014-05-14 | 2014-08-20 | 无锡梵天信息技术股份有限公司 | 一种3d游戏引擎全局照明的实现方法 |
-
2014
- 2014-10-10 CN CN201410531718.3A patent/CN104517313B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130307852A1 (en) * | 2007-01-24 | 2013-11-21 | Take Two Interactive Software, Inc. | System and method for calculating multi-resolution dynamic ambient occlusion |
TW201015469A (en) * | 2008-10-03 | 2010-04-16 | Ying-Zhen Qiu | Business marketing method and system with progress of a game, and a portable electronic device |
CN102592305A (zh) * | 2011-09-06 | 2012-07-18 | 浙江大学 | 自适应的屏幕空间环境光遮蔽方法 |
US20140050390A1 (en) * | 2012-08-17 | 2014-02-20 | Thabo D. Beeler | Reconstruction of deforming surfaces by canceling ambient occlusion and refining 3-d shape |
US20140098096A1 (en) * | 2012-10-08 | 2014-04-10 | Nvidia Corporation | Depth texture data structure for rendering ambient occlusion and method of employment thereof |
CN103838548A (zh) * | 2012-11-26 | 2014-06-04 | 辉达公司 | 用于对层次深度图采样的系统、方法和计算机程序产品 |
US20140160124A1 (en) * | 2012-12-12 | 2014-06-12 | Nvidia Corporation | Visible polygon data structure and method of use thereof |
CN103995700A (zh) * | 2014-05-14 | 2014-08-20 | 无锡梵天信息技术股份有限公司 | 一种3d游戏引擎全局照明的实现方法 |
Non-Patent Citations (2)
Title |
---|
李文耀 等: "自适应多层屏幕空间环境光遮蔽", 《计算机辅助涉及与图形学学报》 * |
邱祥松 等: "改进的基于屏幕空间环境遮挡", 《计算机学报》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107633544A (zh) * | 2016-07-14 | 2018-01-26 | 网易(杭州)网络有限公司 | 环境光遮蔽的处理方法及装置 |
CN106780709A (zh) * | 2016-12-02 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 一种确定全局光照信息的方法及装置 |
CN110852188A (zh) * | 2019-10-22 | 2020-02-28 | 浙江大学 | 一种提取ct数字图像中整个土壤团聚体孔隙结构的方法 |
CN110852188B (zh) * | 2019-10-22 | 2022-04-29 | 浙江大学 | 一种提取ct数字图像中整个土壤团聚体孔隙结构的方法 |
CN114596348A (zh) * | 2021-12-08 | 2022-06-07 | 北京蓝亚盒子科技有限公司 | 基于屏幕空间的环境遮挡计算方法、装置及运行器、可读存储介质 |
CN114596348B (zh) * | 2021-12-08 | 2023-09-01 | 北京蓝亚盒子科技有限公司 | 基于屏幕空间的环境遮挡计算方法、装置及运行器、可读存储介质 |
CN115205509A (zh) * | 2022-09-16 | 2022-10-18 | 上海英立视电子有限公司 | 一种调整图像立体感的方法及系统 |
CN115205509B (zh) * | 2022-09-16 | 2022-11-18 | 上海英立视电子有限公司 | 一种调整图像立体感的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104517313B (zh) | 2017-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111508052B (zh) | 三维网格体的渲染方法和装置 | |
CN106127859B (zh) | 一种移动增强现实型涂鸦绘本的真实感生成方法 | |
CN102096941B (zh) | 虚实融合环境下的光照一致性方法 | |
US7843463B1 (en) | System and method for bump mapping setup | |
CN108230435B (zh) | 采用立方图纹理的图形处理 | |
CN114581589A (zh) | 图像处理方法及相关装置 | |
CN108805971B (zh) | 一种环境光遮蔽方法 | |
AU2019226134B2 (en) | Environment map hole-filling | |
CN104517313A (zh) | 基于屏幕空间的环境光遮蔽的方法 | |
JP6863693B2 (ja) | グラフィックス処理システムおよび方法 | |
US7889208B1 (en) | Z-texture mapping system, method and computer program product | |
CN106558017B (zh) | 球形显示图像处理方法及系统 | |
US11276150B2 (en) | Environment map generation and hole filling | |
CN105718420B (zh) | 数据处理装置及其操作方法 | |
CN108109194B (zh) | 虚拟现实场景中镭射纸效果的实现方法及系统 | |
CN112700528B (zh) | 一种用于头戴增强现实设备的虚拟物体阴影渲染方法 | |
KR20120104071A (ko) | 입체영상 시각효과 처리 방법 | |
CN103700134A (zh) | 基于可控制纹理烘焙的三维矢量模型实时光影延迟着色渲染方法 | |
CN108197555B (zh) | 一种基于人脸追踪的实时人脸融合方法 | |
CN103679818B (zh) | 一种基于虚拟面光源的实时场景绘制方法 | |
CN116385619B (zh) | 对象模型渲染方法、装置、计算机设备和存储介质 | |
CN109829962B (zh) | 一种利用opengl的物体空间消隐线计算加速方法 | |
US11989807B2 (en) | Rendering scalable raster content | |
CN111739074B (zh) | 一种场景多点光源渲染方法及装置 | |
Li et al. | An occlusion detection algorithm for 3d texture reconstruction of multi-view images |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |