使用光能传递建立全局照明模型
使用光能传递建立全局照明模型光能传递是一种渲染技术,它可以真实地模拟灯光在环境中相互作用的方式。
本主题概念性的概述了什么是光能传递,以及这种全局照明技术如何与 [b]3ds max[/b] 中其他可用的渲染技术相关。这些信息将帮助您决定哪些技术最适于想要执行的可视化任务。 通过更精确地模拟场景中的照明,光能传递能够比标准灯光提供更多优势:
[list][*]改善图像质量: [b]3ds max[/b] 的光能传递技术在场景中生成更精确的照明[url=http://school.3dmax8.com/cankao/3dsmax_web/photometry_glossary.html][color=#0000ff]光度学[/color][/url]模拟。像间接照明、柔和阴影和曲面间的映色等效果可以生成自然逼真的图像,而这样真实的图像是无法用标准扫描线渲染得到的。这些图像更好地展示了您的设计在特定照明条件下的外观。[*]更直观的照明: 通过与光能传递技术相结合,[b]3ds max[/b] 也提供了真实世界的照明接口。 灯光强度不指定为任意值,而是使用光度学单位(流明、坎迪拉等)来指定。而且,真实世界照明设备的特性可以通过使用行业标准的“发光强度分布文件”(比如 [url=http://school.3dmax8.com/cankao/3dsmax_web/ies_standard_file_format.html][color=#0000ff]IES[/color][/url]、[url=http://school.3dmax8.com/cankao/3dsmax_web/cibse_file_glossary.html][color=#0000ff]CIBSE[/color][/url] 和 [url=http://school.3dmax8.com/cankao/3dsmax_web/ltli_file_glossary.html][color=#0000ff]LTLI[/color][/url])来定义,这些文件从大部分照明制造商那里都可以得到。通过使用真实世界的照明接口,可以直观的在场景中设置照明。您可以将更多注意力集中在设计浏览上,而不注意精确显示图像需要的计算机图形技术。
[img]http://school.3dmax8.com/cankao/3dsmax_web/graphics/il_radiosity_overview.jpg[/img] 上:未使用光能传递渲染的场景。
下:使用光能传递渲染的同一场景。[/list]
计算机图形渲染
在 [b]3ds max[/b] 中创建的 3D 模型含有相对于 3D 笛卡尔坐标系而定义的几何体数据,这一坐标系被称为[url=http://school.3dmax8.com/cankao/3dsmax_web/world_space_glossary.html][color=#0000ff]世界空间[/color][/url]。该模型也含有有关每个对象的材质和场景中的照明的信息。计算机监视器上的图像由许多亮点组成的,这些点称为[url=http://school.3dmax8.com/cankao/3dsmax_web/pixel_glossary.html][color=#0000ff]像素[/color][/url]。在创建几何体模型的计算机图形图像过程中的任务决定每个像素的颜色,使用的颜色基于模型信息和指定的视点(摄像机)。
模型中曲面上任一指定点的颜色都是曲面的物理材质属性和照明灯光的函数。两个常规的明暗器算法为:[i]局部照明[/i]和[i]全局照明[/i]用于描述曲面如何反射和透射灯光。
局部照明
局部照明算法只描述单独的曲面如何反射或透射灯光。 倘若到达曲面灯光的描述,这些 [b]3ds max[/b] 中称作[i]明暗器[/i]的数学算法预测离开曲面的灯光的强度、颜色和分布。与材质描述相结合,不同的明暗器可以确定曲面是具有塑料外观还是金属外观,或它是平滑的还是粗糙的。 [b]3ds max[/b] 为定义大量的不同曲面材质提供稳健的接口。
在定义单独的曲面如何与局部级的灯光相交互后,下一个任务就是确定灯光在何处到达曲面源。 使用 [b]3ds max[/b] 的[url=http://school.3dmax8.com/cankao/3dsmax_web/scanline_renderer_glossary.html][color=#0000ff]扫描线渲染系统[/color][/url],在着色中只考虑直接来自于光源的灯光。
但是,为了获得更精确的图像,不仅需要考虑光源,同时也需要考虑环境中的所有曲面和对象与灯光如何相互影响,这一点非常重要。例如,某些曲面阻挡灯光,并在其他曲面上投射阴影;某些曲面很有光泽,我们在它们上会看到其他曲面的反射;某些曲面透明,我们会透过它们看到其他曲面;而且有些曲面会将灯光反射到其他曲面上。
全局照明
考虑模型中曲面间传输灯光方式的渲染算法称作全局照明。 [b]3ds max[/b] 提供两种全局照明算法作为其产品级渲染系统的构成部分:[i]光线跟踪[/i]和[i]光能传递[/i]。
在解释光线跟踪和光能传递如何工作之前,了解灯光在物理世界中如何分布非常有用。例如,考虑如下所示的房间。
[img]http://school.3dmax8.com/cankao/3dsmax_web/graphics/il_radiosity_basic_setup.jpg[/img] 由两个灯光照明的厨房
上面的厨房拥有两个光源。灯光的一种理论将灯光看作称为光子的离散粒子,光子从光源发出直到遇到厨房中的某一曲面。根据曲面的材质,一些光子被吸收而另一些散射回环境中。以特定波长运动的光子被吸收,而其他的则不会被吸收,这一事实决定了曲面的颜色。
非常光滑的曲面在一个方向反射光子,并以与光子到达曲面的入射角相同的角度反射。这些曲面称作镜曲面,而这种反射称作镜面反射。镜子是一种完美的镜曲面。当然,许多材质在一定程度上同时显示镜面反射和漫反射。
[img]http://school.3dmax8.com/cankao/3dsmax_web/graphics/il_radiosity_reflection.jpg[/img] 左:镜面反射
右:漫反射
光子从曲面上反射的方式主要取决于曲面的光滑度。粗糙的曲面会向所有方向反射光子。这些曲面就是漫反射曲面,而这一类反射被称作漫反射(如上所示)。用平光漆绘制的墙面就是漫反射表面的一个很好例子。
厨房的最终照明由曲面间的相互作用和光源发出的数以亿计的光子共同决定。在曲面上任何给定点处,光子可能直接从光源到达(直接照明),或者通过在其他曲面上一次或多次反弹而间接到达(间接照明)。如果您站在厨房中,那么房间中少量的光子会进入眼睛并刺激视网膜的杆状和锥状细胞。从效果上来说,这样的刺激会形成大脑所接收的图像。
在计算机图形中,我们将视网膜的杆状和锥状细胞用计算机屏幕的像素来代替。全局照明算法的一个目的是尽可能精确的重新创建在真实环境中所看到的景象。第二个目的是尽可能快地完成任务,理想情况是能够实时(每秒 30 个图像)。到目前为止,还没有某种单独的全局照明算法能够同时实现这两个目标。
光线跟踪
全局照明算法首先开发的一项技术称作光线跟踪。光线跟踪算法在场景中运动的数以亿计的光子中进行识别,我们主要关心的是进入眼睛的那些光子。该算法跟踪从屏幕中每个像素进入 3D 模型的反向光线。这样,我们只计算构建图像所需要的信息。要使用光线跟踪创建图像,对于计算机屏幕上的每个像素执行下列步骤。
[list=1][*]光线是通过眼睛的位置反向跟踪的,通过监视器上的像素,直到它与一个曲面相交。我们从材质的描述中可以知道曲面的反射率,但我们仍然不知道到达曲面的灯光量。[*]要确定总体照明,我们从相交点开始跟踪光线到环境中的每个光源(阴影光线)。如果到达光源的光线未被其他对象阻挡,则来自光源的灯光用于计算曲面颜色。[*]如果相交的曲面有光泽的或透明,则我们必须要确定在要处理的曲面中或通过这一曲面能看到什么。第 1 步和第 2 步在反射(在透明的情况下,则是透射)方向反复执行,直到遇到另一曲面。后续相交点的颜色也用于计算原始点的颜色。[*]如果第二个曲面也是反光的或透明的,则重复光线跟踪过程,以此类推,直到达到迭代的最大次数或没有更多的相交曲面为止。
[img]http://school.3dmax8.com/cankao/3dsmax_web/graphics/il_radiosity_raytrace.jpg[/img] 光线跟踪:光线通过一个像素从摄影机开始跟踪,经过几何体,然后回到光源。[/list]
光线跟踪算法的应用非常广泛,因为它可以建立多种照明效果的模型。它可以精确地实现直接照明的全局照明特性、阴影、镜面反射(比如镜子)以及通过透明材质的折射。光线跟踪的主要不足在于即使对中等复杂的环境它也可能处理得非常慢。 在 [b]3ds max[/b] 中,光线跟踪有选择的用于使用[url=http://school.3dmax8.com/cankao/3dsmax_web/raytrace_material.html][color=#0000ff]光线跟踪材质[/color][/url]的对象上,这些材质将光线跟踪指定为其着色选项。光线跟踪也可以指定为渲染光源投射阴影的方法。
光线跟踪和扫描线渲染的一个共同不足之处在于,这些技术都不考虑全局照明的一个非常重要的特性,即漫反射的相互反射。对传统光线跟踪和扫描线渲染而言,只有直接来自于光源自身的灯光才被精确考虑。但是,正如房间的例子中所示,到达曲面的灯光不仅仅来自于光源(直接照明),这些灯光也来自于其他曲面(间接照明)。例如,如果我们光线跟踪厨房的图像,则阴影中的区域应当以黑色显示,因为这些区域不能由光源直接照明。但是,我们从经验知道,这些区域不可能完全为黑色,因为它们也会接收到来自周围墙壁和地板的灯光。
在扫描线渲染和传统的光线跟踪渲染(在 [b]3ds max[/b] 版本 5 之前的版本)中,间接照明通常是通过只添加一个任意的[i]环境光[/i]值来实现,而此环境光与间接照明的物理现象无关,并在整个空间中为定值。因此,扫描线和光线跟踪图像通常看起来过于平面化,尤其是在建筑环境的渲染上,这些建筑环境通常来说大部分都是漫反射曲面。
光能传递
要解决这一问题,研究人员吸收了热学工程的研究成果,开始研究计算全局照明的其他替代算法。在 20 世纪 60 年代初期,工程师们开发了模拟曲面间辐射热传导的方法,以此判断他们的设计在实际应用中的性能(比如熔炉和引擎)。到了 20 世纪 80 年代中期,计算机图形研究人员开始研究这些技术在模拟灯光传播方面的应用。
光能传递,正如该技术在计算机图形世界中的称呼一样,它从本质上与光线跟踪有所不同。光能传递不仅决定场景中每个像素的颜色,也计算环境中所有曲面的强度。通过首先将原始曲面分割为称作[i]元素[/i]的更小曲面的网格来实现这些操作。光能传递算法计算分布在从每个网格元素到每个其他网格元素的灯光量。为网格的每个元素保存最终光能传递值。
[img]http://school.3dmax8.com/cankao/3dsmax_web/graphics/il_radiosity_process.jpg[/img] 光能传递:碰撞到曲面的灯光的光线由多个漫反射光线反射,这些漫反射光线自身可以照明其他曲面。细分曲面可增加解决方案的精确度。
在光能传递算法的早期版本中,必须完全计算网格元素中灯光的分布才能在屏幕上显示有用的结果。即使结果是视图独立的,预处理也会花费很多时间。1988 年,出现了逐步细化技术。该技术可以立即显示可视结果,并在精确度和可视质量上逐步改善。1999 年,出现了一种称作 stochastic relaxation 光能传递(SRR)的技术。SRR 算法组成了由 Discreet 提供的商业光能传递系统的基础。
集成解决方案
虽然光线跟踪和光能传递算法不同,但它们在许多方面是互补的。每项技术都有其优点和不足。
[table][tr]照明算法优点不足之处[/tr] [tr][td]光线跟踪[/td][td]精确的渲染直接照明、阴影、镜面反射和透明效果。 有效使用内存
[/td][td]计算量相当大。生成图像所需时间受光源数量影响较大。 对每个视图必须重复处理(视图独立的)。
不考虑漫反射的相互反射。
[/td][/tr][tr][td]光能传递[/td][td]计算曲面间漫反射的相互反射。 为任意视图的快速显示提供视图独立的解决方案。
提供立即可视的结果。
[/td][td]3D 网格比原始曲面需要更多的内存。 绘图人工效果比光线跟踪更容易影响曲面采样算法。
不考虑镜面反射或透明效果。
[/td][/tr][/table]
无论光能传递还是光线跟踪都不能为所有全局照明效果的模拟提供完整的解决方案。光能传递在渲染漫反射到漫反射的相互反射时更有优势,而光线跟踪在渲染镜面反射方面有优势。 通过使用产品级质量扫描线渲染系统综合两种技术,[b]3ds max[/b] 可以提供这两者的最佳结合。在创建光能传递解决方案后,可以渲染其二维视图。 在 [b]3ds max[/b] 场景中,光线跟踪在渲染器提供的下列效果之外添加额外的效果:灯光可以提供光线跟踪阴影,而材质可以提供光线跟踪反射和折射。结合了两种技术渲染的场景,比单独使用任一种技术所能得到的场景更真实。
通过将光线跟踪和光能传递相综合,[b]3ds max[/b] 可以提供各种视觉可能性,从高速交互式的照明学习到具有非比寻常的质量和真实感的图像。
[[i] 本帖最后由 锐觉 于 2007-10-24 22:49 编辑 [/i]] 楼主辛苦拉```
谢谢楼主分享``````````` 占位了。。。。
谢谢分享。;D
要爱心了。。 好的贴子不要让沉掉哦 大家支持一下 好的贴子不要让沉掉哦 大家支持一下 没有喜欢哦 抢个第5名,版主加加加,谢谢;L 背起,会弄了在实践哈哈 光能总是把握不好,没天分啊
不错不错,先留着,以后看
我现在学3D;只是在社会主义初级介段;
以后慢慢进入共产主义再来看;
;L ;L ;L ;L xixi xixi xixi
路过.踩过........
虽说不是原创,但还是顶一下.......好贴
看了楼主的帖子,不由得精神为之一振,自觉七经八脉为之一畅,七窍倒也开了六巧半,自古英雄出少年,楼主年纪轻轻,就有经天纬地之才,定国安邦之智,古人云,卧龙凤雏得一而安天下,而今,天佑我大中华,沧海桑田5000年,中华神州平地一声雷,飞沙走石,大舞迷天,朦胧中,只见顶天立地一金甲天神立于天地间,这人英雄手持双斧,二目如电,一斧下去,混沌初开,二斧下去,女娲造人,三斧下去,小生倾倒.得此大英雄,实耐之幸也,民之福也,怎不叫人喜极而泣.......古人有少年楼主说为证,少年之楼主如红日初升,其道大光;河出伏流,一泻汪洋;潜龙腾渊,鳞爪飞扬;乳虎啸谷,百兽震惶;鹰隼试翼,风尘吸张;奇花初胎,皇皇;干将发硎,有作其芒;天戴其苍,地履其黄;纵有千古,横有八荒;小生对楼主之仰慕如滔滔江水连绵不绝,海枯石烂,天崩地裂,永不变心.看完楼主的帖子,我的心情竟是久久不能平静。正如老子所云:大音希声,大象无形。我现在终于明白我缺乏的是什么了,正是楼主那种对真理的执着追求和楼主那种对理想的艰苦实践所产生的厚重感。面对楼主的帖子,我震惊得几乎不能动弹了,楼主那种裂纸欲出的大手笔,竟使我忍不住一次次地翻开楼主的帖子,每看一次,赞赏之情就激长数分,我总在想,是否有神灵活在它灵秀的外表下,以至能使人三月不知肉味,使人有余音绕梁、三日不绝的感受。楼主,你画得实在是太好了。我惟一能做的,就只有把这个帖子顶上去这件事了。
楼主的帖子实在是画得太好了。文笔流畅,修辞得体,深得魏晋诸朝遗风,更将唐风宋骨发扬得入木三分,能在有生之年看见楼主的这个帖子。实在是我三生之幸啊。看完楼主的这个帖子之后,我竟产生出一种无以名之的悲痛感——啊,这么好的帖子,如果将来我再也看不到了,那我该怎么办?那我该怎么办?直到我毫不犹豫地把楼主的这个帖子收藏了,我内心的那种激动才逐渐平静下来。可是我立刻想到,这么好的帖子,倘若别人看不到,那么不是浪费楼主的心血吗?经过痛苦的思想斗争,我终于下定决心,牺牲小我,奉献大我。我要拿出这帖子奉献给世人赏阅,我要把这个帖子一直往上顶,往上顶!顶到所有人都看到为止!
在遇到你之前,我对人世间是否有真正的圣人是怀疑的;而现在,我终于相信了!我曾经忘情于两汉的歌赋,我曾经惊讶于李杜的诗才,我曾经流连于宋元的词曲。但现在,我才知道我有多么浅薄!
楼主,你的高尚情操太让人感动了。在现在这样一个物欲横流的金钱社会里,竟然还能见到楼主这样的性情中人,无疑是我这辈子最大的幸运。让我深深感受到了人性的伟大。楼主的帖子,就好比黑暗中刺裂夜空的闪电,又好比撕开乌云的阳光,一瞬间就让我如饮甘露,让我明白了永恒的真理在这个世界上是真实存在着的。只有楼主这样具备广阔胸怀和完整知识体系的人,才能作为这真理的惟一引言者。看了楼主的帖子,我陷入了严肃的思考中。我认为,如果不把楼主的帖子顶上去,就是对真理的一种背叛,就是对谬论的极大妥协。因此,我决定义无返顾地顶了!
说得好啊!我在XX社区打滚这么多年,所谓阅人无数,就算没有见过猪走路,也总明白猪肉是啥味道的。一看到楼主的气势,我就觉得楼主同在社区里灌水的那帮小混混有着本质的差别!那忧郁的语调,那熟悉的签名,还有字里行间高屋建瓴的辞藻。没用的,楼主,就算你怎么换马甲都是没有用的,你的亿万拥戴者早已经把你认出来了,你一定就是传说中的最强ID。自从社区改版之后,我就已经心灰意冷,对社区也没抱什么希望了,传说已经幻灭,神话已经终结,留在社区还有什么意思?没想到,没想到,今天可以再睹楼主的风范,我激动得忍不住就在屏幕前流下了眼泪。是啊,只要在楼主的带领下,社区就有希望了。我的内心再一次沸腾了,我胸腔里的血再一次燃烧了。楼主的几句话虽然简单,却概括扼要,一语道出了我们苦想多年仍不可解的几个重大问题的根本。楼主就好比社区的明灯,楼主就好比社区的方向,楼主就好比社区的栋梁。有楼主在,社区的明天必将更好!
以上内容纯属虚构!=?= 好东西啊;) ;) ;) ;) ;) ;) ;( 学习一下,谢谢分享。 学习了,顶..... `````可以这样的``趖好 路过看看资料 LZ 学习!!;) 点解睇吾到图架.妖. 顶 讲的很详细
页:
[1]


