1楼 T526431
2009年9月23日19:20
看见群里有朋友问HDR是什么,我个人认为浅显的解释就是亮部很亮暗部很暗.在百度百科搜索了下,得出一下解释:
HDR  HDR的全称是High Dynamic Range,即高动态范围,比如所谓的高动态范围图象(HDRI)或者高动态范围渲染(HDRR)。动态范围是指信号最高和最低值的相对比值。目前的16位整型格式使用从“0”(黑)到“1”(白)的颜色值,但是不允许所谓的“过范围”值,比如说金属表面比白色还要白的高光处的颜色值。
  在HDR的帮助下,我们可以使用超出普通范围的颜色值,因而能渲染出更加真实的3D场景。也许我们都有过这样的体验:开车经过一条黑暗的隧道,而出口是耀眼的阳光,由于亮度的巨大反差,我们可能会突然眼前一片白光看不清周围的东西了,HDR在这样的场景就能大展身手了。
  下面是由OpenEXR网站提供的HDR的一个简单例子。OpenEXR是由工业光魔(Industrial Light & Magic)开发的一种HDR标准。工业光魔则是一家世界闻名的加州工作室,该工作室创造过许多惊人的CG和视觉效果,比如1977年版的电影《星球大战》中的总多特效。
  最左边的是原始图片,树木非常暗因为整体曝光受到远处高亮光的影响;中间图片的亮度提高了3级;而右边图片的亮度提高了7级,树木的细节很容易辨别,而背景极度明亮。
  总之简单来说,HDR可以用3句话来概括:
  1.亮的地方可以非常亮
  2.暗的地方可以非常暗
  3.亮暗部的细节都很明显
  HDR是目前追求画面逼真度最新最先进的手段。Crytek已经准备把它加入Far Cry 的1.3补丁中,以及他的史诗大作Unreal Engine 3。根据最近透露出来的消息,他们正在为半条命2:迷失海岸制作特殊的HDR效果,同时,FarCry将通过Shader Model 3执行HDR,这些,将只能工作在NVIDIA最新的显卡上。半条命2通过Shader Model 2执行HDR,主要是考虑到ATI显卡的目前情况
  什么是HDRI文件?
  HDRI文件是一种文件,扩展名是hdr或tif格式,有足够的能力保存光照信息,但不一定是全景图。Dynamic Range(动态范围)是指一个场景的最亮和最暗部分之间的相对比值。一张HDR图片,它记录了远远超出256个级别的实际场景的亮度值,超出的部分在屏幕上是显示不出来的。可以这样想象:在photoshop里打开一张从室内往窗外外拍的图片,窗外的部分处在强烈的阳光下,曝光过度,呈现的是一片白色,没有多少细节。你将毫无办法,调暗只会把白色变成灰色而已,并不会呈现更多的细节。但如果同一场景是由hdr纪录的话,你减低曝光度,原来纯白的部分将会呈现更多的细节。
  什么是HDR特效?
  现在将HDR和游戏联系起来。HDR在游戏中特指HDR特效。HDR特效是通过ShaderModel实现的的图像渲染特效。想要实现HDR特效,首先,游戏开发者要在游戏开发过程中,利用开发工具(就是游戏引擎)将实际场景用HDRI记录下来,当然开发技术强的开发组会直接用小开发工具(比如3D MAX的某些特效插件)创造HDRI图像;其次,我们的显卡必须支持显示HDR特效,nVIDIA的显卡必须是GeForce 6系列或更高,ATI显卡至少是Radeon 9550或以上。HDR特效最早是在nVIDIA的显卡实现的,但是ATI的SMARTSHADER技术也包含HDR技术,不过这种HDR从实现原理上与nVIDIA的还是有区别的,只不过这种区别对于玩家来讲没有什么意义。
  HDR是nVIDIA提出的概念,早先开发商都是通过Shader Model 3.0来实现HDR特效,因此只有nVIDIA的GF 6XXX和GF 7XXX系列能够实现HDR。有人说ATI的显卡也可以实现HDR,ATI自己也是这么宣称的,其实ATI面对竞争压力,也效仿nVIDIA实现了RADEON显卡的模拟HDR的支持,注意,仅是模拟,而且是通过Shader Model 2.0实现的。
  实际上,HDR分为三个种类,即FP16 HDR、FP24 HDR和FP32 HDR,《孤岛惊魂》v1.31版支持的HDR是FP16 HDR,FP16 HDR是一种特殊硬件加速的HDR,这种HDR还没有被当前(至少2005年9月之前)的ATI的显卡所支持。模拟HDR不需要特殊硬件加速方法实现,《半条命2:失落的海岸》实现的HDR就是模拟的HDR,毕竟Valve要照顾ATI的显卡,不过还有一种说法是,《半条命2:失落的海岸》一直在拖延发布日期,是因为ATI要求Valve必须等待R520显卡上市之后才可以发布《半条命2:失落的海岸》,因为R520可能会真正支持FP16 HDR,所以有可能《半条命2:失落的海岸》也支持FP16 HDR。
  HDR和bloom效果的区别和关系
  现在很多玩家在争论HDR和bloom效果的区别。其实,从游戏表现出的画面效果来看,两者的差别不是很大,但是他们的技术成分就相差千里。今年年初,有国外玩家制作了一个《半条命2》的MOD,能够模拟出HDR效果,注意,这仅是模拟,这个MOD实现的特效与bloom效果差别不大,几乎可以说就是bloom效果。那么HDR与bloom效果的差别到底在什么地方呢?
  第一,HDR效果就是超亮的光照与超暗的黑暗的某种结合,这个效果是光照产生的,强度、颜色等方面是游戏程序可动态控制的;bloom效果则是物体本身发出的光照,仅仅是将光照范围调高到过饱和,是游戏程序无法动态控制的。
  第二,bloom效果无需HDR就可以实现,但是bloom效果是很受限的,它只支持8位RGBA,而HDR最高支持到32位RGBA。
  第三,bloom效果的实现很简单,比如《半条命2》的MOD就是一个很小的很简单的MOD,而且bloom效果不受显卡的规格的限制,你甚至可以在TNT显卡上实现bloom效果(当然效果很差)!而HDR,必须是6XXX以上的显卡才能够实现,这里的HDR是指nVIDIA的HDR。这时有必要谈nVIDIA和ATI的显卡所实现的HDR,两者还是有区别的,具体区别就很专业了,总之从真实性表现来看,nVIDIA的显卡实现的HDR更好一些。HDR是nVIDIA提出的概念,从技术上来讲,ATI当然无法严格克隆nVIDIA的技术,所以ATI的HDR是另一种途径实现的尽可能接近的HDR,不能算“真”HDR,据传ATI的R520能够真正实现FP16 HDR。
  事实上,游戏开发商往往会将两种特效一起使用以达到一个最终的效果。两者的区别可以举一个最简单的例子:你在游戏中,从黑暗的房间中走到太阳地中,你眼前的景物会很刺眼,随后亮度会降低,完全就同现实中的情况一致。很神奇!这就是HDR特效的威力。而bloom效果实现的光照强度可能不会很真实,同时也是不可变的。
列举一些图片:
2楼 T526431
2009年9月25日09:43
沉了..
2009年9月25日11:18
雪儿來頂起...
2009年9月25日14:23
专业术语
2009年9月25日15:28
2009年11月26日18:59
HDR好亮 好亮···
2009年11月26日19:08
高手的HDR是看不出来是HDR但是细节很清楚~~
2010年4月19日19:07
但是不建议学习的时候用HDR 哪样会有依赖感,HDR 也可以调出来
2010年4月23日13:00
学习了~~
2010年4月23日13:03
cs5 有HDR 功能了
联系我们:howard [at] tucia [dot] com