本发明专利技术公开了一种基于图像的HDR光照渲染方法,主要包括:把场景渲染到一张二维64位的浮点纹理;将浮点纹理进行降采样、模糊和叠加处理,得到一张BloomMap图;把HDRSence浮点纹理进行FilmicToneMapping,映射之后的值和BloomMap图进行叠加,得到叠加后FinalScene图并输出到屏幕帧缓冲。本发明专利技术所述基于图像的HDR光照渲染方法,可以克服现有技术中光照效果差、明暗细节不丰富和渲染速度低等缺陷,以实现光照效果好、明暗细节丰富和渲染速度高的优点。
【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种基于图像的HDR光照渲染方法,主要包括:把场景渲染到一张二维64位的浮点纹理;将浮点纹理进行降采样、模糊和叠加处理,得到一张BloomMap图;把HDRSence浮点纹理进行FilmicToneMapping,映射之后的值和BloomMap图进行叠加,得到叠加后FinalScene图并输出到屏幕帧缓冲。本专利技术所述基于图像的HDR光照渲染方法,可以克服现有技术中光照效果差、明暗细节不丰富和渲染速度低等缺陷,以实现光照效果好、明暗细节丰富和渲染速度高的优点。【专利说明】
本专利技术涉及计算机图形学领域,具体地,涉及一种基于图像的HDR光照渲染方法。 -种基于图像的HDR光照渲染方法
技术介绍
随着虚拟3D在生活中应用的更加普遍,对于更快的处理器的需求也在提升,GPU 代替的CPU的密集运算,所以在引入浮点方式来处理和存储像素的各个参数的参与计算, 这样大大提高了渲染的速度,同时GPU可编程的普及也缩短了几何坐标变换处理的执行流 程,像素着色单元提供容量大的浮点运算,提高的处理的流量,同时也使图像的精确度和复 杂度都提升了,更好的从视觉上展现了从虚拟世界到真实世界模拟,而高动态范围技术对 实现图像质量方面有显著的效果。 目前在实时光照领域方面,一般都是基于图形的光照实现,比如说有Phong光照 模型Blinn-Phong光照模型等来实现的场景中的光照效果,这样的效果来模拟场景中光照 效果差、明暗细节不丰富,渲染速度也不高。 在实现本专利技术的过程中,专利技术人发现现有技术中至少存在光照效果差、明暗细节 不丰富和渲染速度低等缺陷。
技术实现思路
本专利技术的目的在于,针对上述问题,提出一种基于图像的HDR光照渲染方法,以实 现光照效果好、明暗细节丰富和渲染速度高的优点。 为实现上述目的,本专利技术采用的技术方案是:一种基于图像的HDR光照渲染方法, 主要包括: a、 把场景渲染到一张二维64位的浮点纹理; b、 将上述浮点纹理进行降采样、模糊和叠加处理,得到一张 BloomMap图; c、 把HDRSence浮点纹理进行Filmic Tone Mapping,映射之后的值和BloomMap图进行 叠加,得到叠加后FinalScene图并输出到屏幕帧缓冲。 进一步地,所述步骤b,具体包括: bl、把步骤a得到的浮点纹理降采样到1/4大小的浮点纹理HDRSceneScale,并对新浮 点纹理HDRSceneScale依次使用linear降采样得到场景当前的平均亮度; b2、根据得到的场景的平均亮度和一个阈值的参数值并结合HDRSenceScale得到一张 BrightPass 图; b3、对亮度阈值图进行高斯模糊得到一张 BrightPassBlur图,然后再对其进行降采样 1/2得到一张 BrightPassBlur_Half图,再次重复前面的步骤,得到一张 BrightPassBlur_ Quarter图,依次得到三张不同分辨率的亮度模糊图并将其颜色叠加得到最终的得到一张 亮度阈值图; b4、将步骤b3最终得到的亮度阈值图进行多次横向模糊,得到横向的光晕就形成了一 张炫光图star map,然后在与亮度阈值图进行叠加得到一张 BloomMap图。 进一步地,所述步骤bl,具体包括: ⑴经过光栅化后的浮点纹理由像素来填充,把上述场景的浮点纹理降采样得到1/4大 小的纹理图像,每个像素都对应一个亮度值,其对应关系为: 【权利要求】1. 一种基于图像的HDR光照渲染方法,其特征在于,主要包括: a、 把场景渲染到一张二维64位的浮点纹理; b、 将上述浮点纹理进行降采样、模糊和叠加处理,得到一张 BloomMap图; c、 把HDRSence浮点纹理进行Filmic Tone Mapping,映射之后的值和BloomMap图进行 叠加,得到叠加后FinalScene图并输出到屏幕帧缓冲。2. 根据权利要求1所述的基于图像的HDR光照渲染方法,其特征在于,所述步骤b,具 体包括: bl、把步骤a得到的浮点纹理降采样到1/4大小的浮点纹理HDRSceneScale,并对新浮 点纹理HDRSceneScale依次使用linear降采样得到场景当前的平均亮度; b2、根据得到的场景的平均亮度和一个阈值的参数值并结合HDRSenceScale得到一张 BrightPass 图; b3、对亮度阈值图进行高斯模糊得到一张 BrightPassBlur图,然后再对其进行降采样 1/2得到一张 BrightPassBlur_Half图,再次重复前面的步骤,得到一张 BrightPassBlur_ Quarter图,依次得到三张不同分辨率的亮度模糊图并将其颜色叠加得到最终的得到一张 亮度阈值图; b4、将步骤b3最终得到的亮度阈值图进行多次横向模糊,得到横向的光晕就形成了一 张炫光图star map,然后在与亮度阈值图进行叠加得到一张 BloomMap图。3. 根据权利要求2所述的基于图像的HDR光照渲染方法,其特征在于,所述步骤bl,具 体包括: ⑴经过光栅化后的浮点纹理由像素来填充,把上述场景的浮点纹理降采样得到1/4大 小的纹理图像,每个像素都对应一个亮度值,其对应关系为:(1); 其中I(i)为每i个像素的亮度值,c(i)为每i个像素的颜色值,0为一个预设常 量;然后对每个像素的亮度值求对数运算得到新的亮度值L(i)为:(2); ⑵有上述的得到HDRSceneScale纹理中每个像素的亮度值,然后对该像素周围的亮度 值进行采样,把采样的结果存储在预先创建的64*64大小的二维纹理中:(3); 其中,N=9为需要采样像素的数量,P(i)为第i个像素亮度值,为中心像素的平 均亮度值;然后依次遍历降采样纹理的每个像素的亮度值,并写入一张64*64大小的亮度 图; ⑶基于上述得到的亮度图,在此基础上降采样得到1/4的亮度图,即64*64大小纹理 图,然后利用系统自带的线性过滤linear采样,把亮度依次写入到16*16纹理大小的亮度 图副本,4*4纹理大小的亮度图副本,1*1的纹理大小亮度图,这张1*1图的结果就是该场景 当前的平均亮度。4. 根据权利要求3所述的基于图像的HDR光照渲染方法,其特征在于,所述步骤b2,具 体包括: 基于上述计算场景中的平均亮度值和传入的一个阈值并结合HDRSenceScale图,得到 一张亮度阈值图,这个阈值可以调节的一个定值,它的作用是过滤掉阈值以下暗部颜色,这 张图显示出场景那些像素由于明暗反差过大出现光晕的效果。5. 根据权利要求4所述的基于图像的HDR光照渲染方法,其特征在于,所述步骤b3,具 体包括: ⑴首先基于上述得到的亮度阈值图,对其进行作一次双向高斯模糊,横向一次,纵向一 次,得到一张 BrightPassBlur 图; 高斯模糊是一种图像滤波器,它用正态分布计算图像中每个像素的变换,采用二维空 间的正态分布方程为:其中0*正态分布的方差,u, v是像素的坐标值; 它是利用相邻像素的加权值来表示该点的像素值;然后对亮度阈值图在横向进行一次 高斯矩阵变换,然后在对纵向进行依次高斯矩本文档来自技高网...
【技术保护点】
一种基于图像的HDR光照渲染方法,其特征在于,主要包括:a、把场景渲染到一张二维64位的浮点纹理;b、将上述浮点纹理进行降采样、模糊和叠加处理,得到一张BloomMap图;c、把HDRSence浮点纹理进行Filmic Tone Mapping,映射之后的值和BloomMap图进行叠加,得到叠加后FinalScene图并输出到屏幕帧缓冲。
【技术特征摘要】
【专利技术属性】
技术研发人员:张翼,
申请(专利权)人:无锡梵天信息技术股份有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。