注:本文全文翻译Geoff Richards的文章《Half Life 2: Lost Coast HDR overview》
[什么是HDR?]
在目前众多3D新技术中,HDR是人们谈论的最多的,现在就让我们一起来探索一下这种新的光照技术,特别是它在即将到来的《半条命2》附加关卡“Lost Coast”(以下简称LC)中是如何实现的。
3D图形语言真是一门奇妙而深奥的语言。回想起3D游戏刚刚诞生的时候,我们谈论的只是简单的多边形和材质;而数年后的今天,3D图形技术的发展突飞猛进,现在我们谈论的是立方体环境凹凸贴图和通过统一shader架构渲染的体积光照之类的复杂技术。
在目前众多3D新技术中,HDR是人们谈论的最多的,现在就让我们一起来探索一下这种新的光照技术,特别是它在即将到来的《半条命2》附加关卡“Lost Coast”(以下简称LC)中是如何实现的。
什么是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.亮暗部的细节都很明显
Crytek已经在其FPS游戏《Far Cry》的1.3补丁中提供了HDR支持,EPIC的Unreal Engine 3.0也将支持HDR特效,Valve也透露正在开发《半条命2》附加关卡“Lost Coast”来展示HDR技术。形成鲜明对比的是,《Farcry》通过只有nVIDIA GF6系列显卡支持的Shader Model 3.0来实现HDR,而“Lost Coast”则将通过Shader Model 2.0实现,也就是说ATI目前的X系列显卡也能实现Valve的HDR。
接下来就让我们和Valve市场总监Doug Lombardi来谈谈Valve如何在Source引擎及《半条命2》中实现HDR。