本页使用了标题或全文手工转换

高动态光照渲染

维基百科,自由的百科全书
跳到导航 跳到搜索

高动态光照渲染(英语:High-Dynamic Range rendering缩写HDRRHDR rendering),电脑图形学中的渲染方法之一,可令光影对比强烈的电脑绘图图像更加逼真,大幅提升画面的真实感。

现实中,当人由黑暗地方走到光亮地方,眼睛会自动眯起来。人在黑暗的地方,为了看清楚对象,瞳孔会很大张开,以吸收更多光线。当突然走到光亮地方,瞳孔来不及收缩,所以唯有眯上眼睛,保护视网膜上的视神经。

而电脑是死物,唯有靠HDRR技术模拟这效果——人眼自动适应光线变化的能力。方法是快速将光线渲染得非常光亮,然后将亮度逐渐降低。而HDRR的最终效果是亮处的效果是鲜亮,而黑暗处的效果是能分辨物体的轮廓和深度,而不是以往的一团黑。

当使用HDRR技术时, 现举例一场景: 阳光普照下,水旁有一道墙壁。当阳光由水面反射到墙上,晴朗而明亮的天空会稍微暗一些,这样能有助表现出水面的反光效果。当人们低头看水面,阳光会反射到人眼中,整个画面会非常光亮,并逐渐减弱,因为人眼适应了从水面反射的光。

例二场景: 阳光直射到一块光亮的石头。若你紧盯着它,石头表面的泛光会逐渐淡出,显示出更多细节。

例三场景: 枪支的反射效果。

支持HDRR的显卡[编辑]

无法在开启HDRR的情况下打开FSAA(全屏抗锯齿)的原因:

在初期,显卡技术不够成熟,NVIDIA使用OpenEXR作为HDRR运算的缓存格式,而GeForce 6GeForce 7系列显卡都只提供了对OpenEXR的16位浮点(FP16)贴图和存储支持。但在DirectX 9.0模式下运行FP16时,霸占了原本属于全屏抗锯齿的缓存区域,令开启HDRR效果后无法进行FSAA处理。这导致NVIDIA显卡在游戏中无法同时支持FSAA和HDRR。

AMD则在其Radeon X1 系列中,使用指定另外缓冲区来解决这个问题,不过由于这是API的限制,程序设计者还是必须对游戏进行改做才能实现HDRR+FSAA。

这是一个列表关于显卡可以或可能支持HDRR。这是由于支持HDR的最低要求是支持Shader Model 2.0 (即DirectX 9),任何显卡支持Shader Model 2.0就可以支持HDRR。但是,软体使用HDRR可能大幅度影响其性能,所以敬请用户注意其硬件要求,以获得较佳性能。

用于游戏的显卡

基于Shader Model 2(包括2.0、2.0a和2.0b版本)
AMD R300 系列: 9500, 9500 Pro, 9550, 9550 SE, 9600, 9600 SE, 9600 TX, 9600 AIW, 9600 Pro, 9600 XT, 9650, 9700, 9700 AIW, 9700 Pro, 9800, 9800 SE, 9800 AIW, 9800 Pro, 9800XT, X300, X300 SE, X550, X600 AIW, X600 Pro, X600 XT

R420 系列: X700, X700 Pro, X700 XT, X800, X800SE, X800 GT, X800 GTO, X800 Pro, X800 AIW, X800 XL, X800 XT, X800 XTPE, X850 Pro, X850 XT, X850 XTPE
Radeon RS690: X1200 mobility

NVIDIA GeForce FX(包括PCX版): 5100, 5200, 5200 SE/XT, 5200 Ultra, 5300, 5500, 5600, 5600 SE/XT, 5600 Ultra, 5700, 5700 VE, 5700 LE, 5700 Ultra, 5750, 5800, 5800 Ultra, 5900 5900 ZT, 5900 SE/XT, 5900 Ultra, 5950, 5950 Ultra
S3 Graphics Delta Chrome: S4, S4 Pro, S8, S8 Nitro, F1, F1 Pole

Gamma Chrome: S18 Pro, S18 Ultra, S25, S27

SiS Xabre: Xabre II
XGI Volari: V3 XT, V5, V5, V8, V8 Ultra, Duo V5 Ultra, Duo V8 Ultra, 8300, 8600, 8600 XT
基于Shader Model 3.0
AMD R520 系列: X1300 HyperMemory Edition, X1300, X1300 Pro, X1600 Pro, X1600 XT, X1650 Pro, X1650 XT, X1800 GTO, X1800 XL AIW, X1800 XL, X1800 XT, X1900 AIW, X1900 GT, X1900 XT, X1900 XTX, X1950 Pro, X1950 XT, X1950 XTX, Xenos (Xbox 360)
NVIDIA GeForce 6: 6100, 6150, 6200 LE, 6200, 6200 TC, 6250, 6500, 6600, 6600 LE, 6600 DDR2, 6600 GT, 6610 XL, 6700 XL, 6800, 6800 LE, 6800 XT, 6800 GS, 6800 GTO, 6800 GT, 6800 Ultra, 6800 Ultra Extreme

GeForce 7: 7300 LE, 7300 GS, 7300 GT, 7600 GS, 7600 GT, 7800 GS, 7800 GT, 7800 GTX, 7800 GTX 512MB, 7900 GS, 7900 GT, 7950 GT, 7900 GTO, 7900 GTX, 7900 GX2, 7950 GX2, 7950 GT, RSX (PlayStation 3)

基于Shader Model 4.0/4.1*
AMD R600 系列[1]: HD 2900 XT, HD 2900 Pro, HD 2900 GT, HD 2600 XT, HD 2600 Pro, HD 2400 XT, HD 2400 Pro, HD 2350, HD 3870*, HD 3850*, HD 3650*, HD 3470*, HD 3450*,HD 3870 X2*

R700 系列[2]: HD 4870 X2, HD 4870*, HD4850*, HD 4670*, HD 4650*

NVIDIA GeForce 8[3]: 8800 Ultra, 8800 GTX, 8800 GT, 8800 GTS, 8800GTS 512MB, 8600 GTS, 8600 GT, 8600M GS, 8600M GT, 8500 GT, 8400 GS, 8300 GS, 8300 GT, 8300

GeForce 9 系列[4]: 9800 GX2, 9800 GTX (+), 9800 GT, 9600 GT, 9600 GSO, 9500 GT 9400 GT, 9300 GT, 9300 GS

GeForce 200 系列[5]: GTX 280, GTX 260

基于Shader Model 5.0
AMD R800 系列[6]: HD 5970, HD 5870, HD 5850, HD 5830, HD 5770, HD 5750, HD 5670, HD 5570, HD 5550, HD 5450
NVIDIA GeForce 400[7]: GTX 480, GTX 470, GTX 465, GTX 460

用于工作站的显卡

基于Shader Model 2(包括2.0、2.0a和2.0b版本)
AMD FireGL: Z1-128, T2-128, X1-128, X2-256, X2-256t, V3100, V3200, X3-256, V5000, V5100, V7100
NVIDIA Quadro FX: 330,380, 500, 600, 700, 1000, 1100, 1300, 2000, 3000
基于Shader Model 3.0
AMD FireGL: V7300, V7350
NVIDIA Quadro FX: 350, 540, 550, 560, 1400, 1500, 3400, 3450, 3500, 4000, 4400, 4500, 4500SDI, 4500 X2, 5500, 5500SDI
3Dlabs Wildcat Realizm: 100, 200, 500, 800

支持HDRR的游戏[编辑]

以HDRR为标准的游戏流行只是时间问题,以下是支持HDRR的游戏列表。

Shader Model 3.0 HDR Shader Model 2.0 HDR 有限度HDR

注释[编辑]

链接[编辑]

外部链接[编辑]

软件开发者的网站[编辑]

实时HDRR运算[编辑]