麒麟子

~~

导航

<2009年4月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

统计

常用链接

留言簿(12)

随笔分类

随笔档案

Friends

WebSites

积分与排名

最新随笔

最新评论

阅读排行榜

评论排行榜

HDR效果简介

首先我们先来看看HDR是什么意思。
HDR 是 high dynamic range(高动态范围) 的简称。
OK,现在我们知道了什么叫高动态范围。

还是过把隐,先看看截图。。

     

     
左边的图HDR开启,右边的是HDR未开启


那什么叫高动态范围呢。

在我们的现实世界中,我们会遇到全黑,就是非常非常暗的情况,这样我们什么也看不见。 而另一种极端就是非常非常亮(当然,这个时候我们还是什么都看不见)。 我们把这个最亮和最黑之间的比值,就叫做高动态范围。
但要知道,我们平时采用的纹理格式中,像素的分量值是0-255之间(采用8位表示)。也就是说,我们从黑到很亮共有256个等级。 看起来256个是够多的了。 但是你有没有发现,当我们渲染天上的云和太阳的时候,由于太阳光很强烈,按理说太阳光会比云亮,但为什么渲染出来的效果却并非如此呢。 这就要怪这个256了。恰好,我们运气很不好。。太阳和云都落在了同一个等级了,(比如255)。这样,我们看到的太阳和云就是同一个颜色。 这就是传说中的LDR(L是Low的意思,即低动态范围)。 我们很自然地想到,多分几个等级不就行了? 嗯,是的,高动态范围就是这样做的。 大自然中的动态范围比是10的12次方比1,但我们人所能识别的却只有1000:1。 1000比1是个很好的数字。 我们用16位的浮点数即可表示。  在计算机的HDR实在中,我们采用了一种叫做调和映射的技术。即将那个很大的10的12次方映射到1000:1这个范围。我们人眼能识别,而计算机也能不费力气去表示。

AHA,综上可知,我们的HDR效果,就是将最终绘制的场景用浮点纹理来表示,而并非先前的整型纹理。 并且,我们采用了调和映射,虽然调和映射失去了很多很多的精度,但是由于人眼的识别精度,使我们看起来并没什么差别。

下面,我们看看HDR到底是什么效果吧。
首先值得一说的是,国内许多游戏的画面设置里也会有HDR一项,但打开后发现整个画面都变亮了。如果发现这种情况,则有两种可能。
1、你的机器不支持该游戏提供的HDR,所以它自动选择了全屏泛光来代替。
2、该游戏根本没HDR,忽悠你的。其实就是全屏泛光。
PS:第二种情况居多。

真正能看到HDR效果的,也就只有我们的大作了。 半条命2,DOOM等。
下面是一些关于HDR介绍的文章,这些文章更篇向于向大家介绍HDR的效果有多好。所以可以拿来饱饱眼福,因为有大量贴图。

浅解HDR技术 以及 如何实现HDR效果

HDR百度百科

效果置上!四大经典FSP游戏HDR效果截图

HDR究竟为何物?动态范围深度全面解析

注:以上链接真实有效!

关于如何学习HDR的问题:到处都有,可以网上搜。最直接的方式就是下载DX SDK,ATI SDK和NVIDIA SDK。 另外如OGRE等引擎也有内置效果。

posted on 2010-05-27 00:53 麒麟子 阅读(4439) 评论(0)  编辑 收藏 引用 所属分类: GPU and Graphic


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理