|
关键字之六:HDR
上面谈到了很多硬件技术,下面这里谈到的是有关软件的技术。HDR和SM3.0虽然是软件技术,不过其对显卡发展的重要作用还是毋庸置疑的。
HDR即“High-Dynamic Range”,高动态范围光照的简称。它能够在电脑上再现人类眼睛的视觉效果,通过完全逼真的光照效果让人们在游戏中得到真实的感受。

在FarCry中,没有HDR效果的截图

FarCry中开启HDR的截图
我们知道,电脑能够显示的颜色包括红、绿、蓝、Alpha共4个通道,每个通道拥有8bit、也就是256种颜色,每存储一种颜色需要4个8bit即32bit的空间。在这种图像描述模型中,画面中的每个像素色彩和亮度值都是由整数来表示。但是在处理图片时,这种精度依然无法代表人肉眼可以看到的真实世界,难以满足实际使用的要求。并且随着进一步的图形处理运算,颜色部分还会产生细微的变化,经过反复多次运算的积累后,还会产生色彩细节丢失问题,无法真实再现自然的光照情况。
与采用8位纹理格式(24/32位颜色每像素)的“传统渲染”(LDR, Low Dynamic Range)模式相比,HDR可以支持电影业常用的fp16/fp32纹理格式(每像素采用64/128位浮点数),并支持fp16格式的混合和滤波操作。LDR只能表现出256:1的动态范围(每种颜色的两度范围),而人眼能够感知的亮度范围是1014:1,因此传统的8位整数格式难以表现出真实世界的光照情况。而NVIDIA HDR技术采用fp16的纹理格式,能够支持1012:1以上的动态范围,因此可以表现出非常逼真的光照效果。

帝国时代3中没有HDR的截图

帝国时代3中开启HDR的截图
HDR特效是通过ShaderModel实现的的图像渲染特效。想要实现HDR特效,首先,游戏开发者要在游戏开发过程中,利用开发工具(就是游戏引擎)将实际场景用HDRI记录下来;其次,我们的显卡必须支持显示HDR特效,nVIDIA的显卡必须是GeForce 6系列或更高,ATI显卡至少是Radeon 9550或以上。HDR特效最早是在nVIDIA的显卡实现的,早先开发商都是通过Shader Model 3.0来实现HDR特效,因此只有nVIDIA的GF 6XXX和GF 7XXX系列能够实现HDR。但是ATI的SMARTSHADER技术实现了ATI显卡的模拟HDR的支持,不过这种HDR从原理上是通过Shader Model 2.0实现的。
在标准动态范围(SDR)渲染中,孔径是固定的,意味着进入我们眼中的光线量是不变的。曝光控制和动态孔径的工作原理和人眼类似,即根据光线的变化不断调整曝光度。
当显卡技术越来越先进之后,保证游戏速度这种“温饱”水平已经成为过去衡量显卡强弱的标准了。“温饱”之后是“小康”只是大家众所周知的事情,这也是我们在文章的后半部分谈论HDR效果的原因。追求HDR的意义其实很简单,因为以这项技术为首的众多特效技术使得游戏越来越趋向于真实化,游戏中的每一种物体都有真实的外观,真实的物理特性,同时还要有真实的光照和阴影效果,这就是游戏中的“小康”水平。因此现在HDR已经成为玩家评价一款游戏是否优秀的标准之一。而能在保证游戏性能的同时还能实现这些特效技术才是我们评价显卡的新标准。 |