深入说明HDR技术

深入说明HDR技术
2011年03月26日
  原帖地址:http://hi.baidu.com/freedomknightduzhi/blog/item/0 cdb8a0fe7cf37ffab6457df.html
  Author: FreeKnightDuzhi
  关于Bloom和HDR的帖子和图片网上已是一堆,但罕有能够明确说明程序实现过程的帖子,明天需要进行简单一个讲解,故在此做个补充记录。
  首先HDR是高动态光照。注意两个词:1:高(高精度)。 2:动态(光照时实时运算的)。
  然后说下当前计算机图形学大部分颜色表示A8R8G8B8,即颜色可以表示为0-255的亮度(即一个深灰暗色到一个灰白亮色之间,并不能表示一个深黑色和一个非常耀眼的亮白色),用浮点数表示为【0,1】内,其实这是远不能表示人眼可分辨的亮度层级的(补,人眼可分辨亮度层级是1000,当前色彩学能表达的亮度层级是10的12次方……悲催啊,可怜的人眼)。那么,高于1.0f 的亮度将丢失被当成1.0f 表示进行渲染,得到的结果就是常规没有HDR游戏看到的画面。
  那么HDR技术目的就是把颜色通道中无法表示的高亮亮度和极暗亮度 表示出来,所以它的特点就是:
  1:亮的地方更亮。2:暗的地方更暗。3:亮暗部分的细节都表现的明显。
  技术原理就是使用更高的颜色精度的纹理格式渲染。
  它的传统分类有:按照单颜色通道精度分类有int16, FP16, FP32等。首先int16就意味着用16位int表示一个颜色通道,这个很诡异,在SM2.0下就可以支持,效率不高,效果很差,现在都被废弃了-。- FP16就是单精度float类型来表示一个颜色通道,GPU对浮点处理通常有额外加速,所以它的效率更高,效果也更好。FP32就是双精度浮点类型表示一个颜色通道,自然精度更高效果更好,可是会付出一些效率代价。FP系列的都要求是SM3.0以上。而后来DX10,11神马浮云般的就支持FP64,FP128咯
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值