d3d学习之四 hdr

本文介绍了HDR处理的关键步骤,包括生成浮动点HDR纹理、计算平均亮度纹理、进行色调映射以及实现bloom和star效果。通过这些步骤,HDR技术能够更真实地再现光照,并模拟人眼视觉系统。
摘要由CSDN通过智能技术生成

下面这个图片应该是比较好的反应了hdr的处理过程的

流程大约如下:

1.首先获得high range的一个floating-point hdr texture

   这个过程就是应用普通的光照模型,对于输出的为一个支持浮点数的纹理,不会对RGBA值截断,逼近现实世界的颜色

2.对1得到的texture缩小到1/4 (这个大约是为了节约处理时间,是否可以变得更小呢)的scaled copy,然后根据这个图像计算得到一个average lum texture

3.兼顾The human visual system,计算得到

float fNewAdaptation = fAdaptedLum + (fCurrentLum - fAdaptedLum) * ( 1 - pow( 0.98f, 30 * g_fElapsedTime ) );

4.对scaled copy和average lum合成过滤得到需要高亮的区域 bright pass filter,利用tone mapping

	vSample.rgb *= g_fMiddleGray/(fAdaptedLum + 0.001f);
	
	// Subtract out dark pixels
	vSample.rgb -= BRIGHT_PASS_THRESHOLD;
	
	// Clamp to 0
	vSample = max(vSample, 0.0f);
	
	// Map the resulting value into the 0 to 1 range. Higher values for
	// BRIGHT_PASS_OFFSET will isolate lights
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值