HDR是什么
发布网友
发布时间:2022-03-30 13:54
我来回答
共1个回答
热心网友
时间:2022-03-30 15:56
HDR的全称是High Dynamic Range,即高动态范围,比如所谓的高动态范围图象(HDRI)或者高动态范围渲染(HDRR)。动态范围是指信号最高和最低值的相对比值。目前的16位整型格式使用从“0”(黑)到“1”(白)的颜色值,但是不允许所谓的“过范围”值,比如说金属表面比白色还要白的高光处的颜色值。
在HDR的帮助下,我们可以使用超出普通范围的颜色值,因而能渲染出更加真实的3D场景。也许我们都有过这样的体验:开车经过一条黑暗的隧道,而出口是耀眼的阳光,由于亮度的巨大反差,我们可能会突然眼前一片白光看不清周围的东西了,HDR在这样的场景就能大展身手了。
下面是由OpenEXR网站提供的HDR的一个简单例子。OpenEXR是由工业光魔(Instrial 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实现的。