王朝百科
分享
 
 
 

HDRI

王朝百科·作者佚名  2009-10-31  
宽屏版  字体: |||超大  

HDRI拥有比普通RGB格式图像(仅8bit的亮度范围)更大的亮度范围。标准的RGB图像最大亮度是值是255/255/255,如果用这样的图像结合光能传递照明一个场景的话,即使是最亮的白色也不足以提供足够的照明来模拟真实世界中的情况,渲染结果看上去会平淡而缺乏对比,原因是这种图像文件将现实中的大范围的照明信息仅用一个8bit的RGB图像描述。

但是使用HDRI的话,相当于将太阳光的亮度值(比如6000%)加到光能传递计算以及反射的渲染中,得到的渲染结果也是非常真实和漂亮的。下面的两张渲染的图片可以看出使用HDRI后带来的巨大差异。

什么是HDR?

谈论游戏画面时常说的HDR到底是什么呢?HDR,本身是High-Dynamic Range(高动态范围)的缩写,这本来是一个CG概念。

计算机在表示图像的时候是用8bit(256)级或16bit(65536)级来区分图像的亮度的,但这区区几百或几万无法再现真实自然的光照情况。HDR文件是一种特殊图形文件格式,它的每一个像素除了普通的RGB信息,还有该点的实际亮度信息。普通的图形文件每个象素只有0 - 255的灰度范围,这实际上是不够的。想象一下太阳的发光强度和一个纯黑的物体之间的灰度范围或者说亮度范围的差别,远远超过了256个级别。因此,一张普通的白天风景图片,看上去白云和太阳可能都呈现是同样的灰度/亮度,都是纯白色,但实际上白云和太阳之间实际的亮度不可能一样,他们之间的亮度差别是巨大的。因此,普通的图形文件格式是很不精确的,远远没有纪录到现实世界的实际状况。所以,现在我们就要介绍一下高动态范围图像(简称HDRI)。

什么是HDRI?

HDRI是High-Dynamic Range (HDR) image的缩写,就是为了解决这个问题而发明出来的,简单说,HDRI是一种亮度范围非常广的图像,它比其它格式的图像有着更大亮度的数据贮存,而且它记录亮度的方式与传统的图片不同,不是用非线性的方式将亮度信息压缩到8bit或16bit的颜色空间内,而是用直接对应的方式记录亮度信息,它可以说记录了图片环境中的照明信息,因此我们可以使用这种图像来“照亮”场景。有很多HDRI文件是以全景图的形式提供的,我们也可以用它做环境背景来产生反射与折射。这里强调一下HDRI与全景图有本质的区别,全景图指的是包含了360度范围场景的普通图象,可以是JPG格式,BMP格式,TGA格式等等,属于Low-Dynamic Range Radiance Image,它并不带有光照信息。

什么是HDRI文件?

HDRI文件是一种文件,扩展名是hdr或tif格式,有足够的能力保存光照信息,但不一定是全景图。Dynamic Range(动态范围)是指一个场景的最亮和最暗部分之间的相对比值。一张HDR图片,它记录了远远超出256个级别的实际场景的亮度值,超出的部分在屏幕上是显示不出来的。可以这样想象:在photoshop里打开一张从室内往窗外外拍的图片,窗外的部分处在强烈的阳光下,曝光过度,呈现的是一片白色,没有多少细节。你将毫无办法,调暗只会把变成灰色而已,并不会呈现更多的细节。但如果同一场景是由hdr纪录的话,你减低曝光度,原来纯白的部分将会呈现更多的细节。

什么是HDR特效?

现在将HDR和游戏联系起来。HDR在游戏中特指HDR特效。HDR特效是与Vertex Shader/ShaderModel/Soft shadows/Parallax Mapping等等并列的图像渲染特效。想要实现HDR特效,首先,游戏开发者要在游戏开发过程中,利用开发工具(就是游戏引擎)将实际场景用HDR记录下来,当然开发技术强的开发组会直接用小开发工具(比如3D MAX的某些特效插件)创造HDRI图像;其次,我们的显卡必须支持显示HDR特效,nVIDIA的显卡必须是GeForce 6系列或更高,ATI显卡至少是Radeon 9550或以上。HDR特效最早是在nVIDIA的显卡实现的,但是ATI的SMARTSHADER技术也包含HDR技术。

HDR特效如何实现?

实现HDR效果并不复杂,但是如果想正常实现的话,你必须有GeForce 6系列或更高的nVIDIA显卡,至少是Radeon 9550或以上的ATI显卡。另外CPU和内存都要够劲,CPU至少在奔腾4 2.8G以上。必须安装DirectX 9.0c。尽量安装最适合自己显卡的驱动程序。

注意:根据目前的资料,只有《孤岛惊魂》和《手足兄弟连》的HDR特效是真正的,其他的游戏的所谓HDR特效只是仿真的。

如题所述,本文将要讨论的是在MAX中使用HDRI(High Dynamic Range Radiance Image)。

那么这个HDRI是什么东西呢?如上面所述,应该已经解决了我们对HDRI的概念了.一般的,计算机在表示图像的时候是用8bit(256)级或16bit(65536)级来区分图像的亮度的,但这区区几百或几万无法再现真实自然的光照情况。

HDRI就是为解决这个问题而提出的。简单的说HDRI是一种亮度范围非常广的图像,而且它记录亮度的方式与传统的图片不同,不是用非线性的方式将亮度信息压缩到8bit或16bit的颜色空间内,而是用直接对应的方式记录亮度信息,它可以说记录了图片环境中的照明信息,因此我们可以使用这种图象来“照亮”场景。当然咯,有很多HDRI文件是以全景图的形式提供的,我们也可以用它做环境背景来产生反射与折射。这里强调一下HDRI与全景图有本质的区别,全景图指的是包含了360度范围场景的普通图像,可以是JPG格式,BMP格式,TGA格式等等Low Dynamic Range Radiance Image,它并不带有光照信息;而HDRI文件指的是hdr或tif格式,有足够的能力保存光照信息,但不一定非是全景图。(有关HDRI的详细解释请参看SIGGRAGH的论文)

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格​十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有