第1章 概论 1
1.1 “易经”与“Maya” 2
1.2 “照片级”真实渲染 7
1.3 场景与动画 10
1.3.1 几何物体 11
1.3.2 材质定义 13
1.3.3 照明光源 18
1.3.4 光线传输模式 20
1.3.5 渲染摄影机 22
1.4 关于Shader的解释 24
1.5 Phenomenon 27
1.6 扫描线渲染和光线追踪渲染 28
1.6.1 透明、折射和反射 33
1.6.2 阴影 35
1.6.3 Motion Blur运动模糊 36
1.6.4 摄影机镜头Shader 36
1.7 焦散、全局照明、光子(分布)图 37
1.8 Participating Media(参与媒介) 40
1.9 并行处理 41
1.10 图像渲染的计算过程 42
第2章 场景基本结构 45
2.1 实例场景设置 46
2.2 场景剖析 50
第3章 表面材质应用 53
3.1 表面材质的基本照明效果 57
3.1.1 场景实例 57
3.1.2 基本照明材质Shader计算原理 60
3.2 Reflection(反射) 78
3.2.1 镜像反射场景实例 78
3.2.2 反射采样合成Shader计算原理 83
3.3 Transparency and Refraction(透明和折射) 87
3.3.1 折射场景实例 87
3.3.2 折射采样合成Shader计算原理 94
3.4 集成Shader使用实例(一) 99
3.4.1 Glossy反射 101
3.4.2 Glossy透射/折射 113
3.5 菲涅尔现象 121
3.5.1 菲涅尔现象的解释(含选学内容) 121
3.5.2 集成Shader使用实例(二)——菲涅尔现象应用实例 129
第4章 纹理映射 141
4.1 mental ray for Maya“标准”纹理贴图方式 145
4.1.1 标准纹理映射(贴图)实例及原理解析 145
4.1.2 纹理坐标的旋转 157
4.1.3 纹理坐标的重复 159
4.1.4 纹理坐标的其他投影方式 160
4.1.5 分层纹理的使用 163
4.1.6 纹理产生的坐标空间 166
4.2 mental ray for Maya“常用”纹理贴图方式 166
4.2.1 mental ray纹理节点(Shader)在Maya中的常用方式一 166
4.2.2 mental ray纹理节点(Shader)在Maya中的常用方式二 168
4.3 局部化/本地化纹理:避免网络传输 171
4.4 内存映像交换纹理:减少内存的使用 173
4.5 未应用纹理过滤时产生的渲染问题 176
4.6 简易纹理过滤技术:减少纹理渲染中的锯齿现象 182
4.7 椭圆形纹理过滤技术:更强的抗锯齿渲染效果 186
4.8 小结:选择最优化的纹理映射/贴图方式 190
4.9 3D纹理 193
4.10 非颜色属性上的纹理贴图——透明度贴图 198
4.11 “各向异性”表面材质的应用 205
4.11.1 各向异性材质应用实例1 208
4.11.2 各向异性材质应用实例2 213
4.11.3 各向异性材质应用实例3 221
第5章 环境纹理映射/环境贴图 225
5.1 局部化环境贴图应用实例 226
5.2 全局化环境贴图应用实例 231
第6章 置换贴图与凹凸纹理贴图 233
6.1 Displacement(置换贴图) 234
6.1.1 mental ray置换贴图的使用方法 234
6.1.1.1 mental ray for Maya置换贴图方法一(简易方式) 236
6.1.1.2 mental ray for Maya置换贴图方法二(标准方式) 242
6.1.1.3 mental ray for Maya置换贴图方法三(便捷方式) 249
6.1.2 置换计算中的“近似”值设置 255
6.1.2.1 近似节点属性介绍 256
6.1.2.2 Parametric参数化近似方式使用实例 266
6.1.2.3 智能化近似方式——Length使用实例 272
6.1.2.4 智能化近似方式——Distance使用实例 276
6.1.2.5 智能化近似方式——Angle使用实例 279
6.1.2.6 近似方式小结 281
6.2 Bump Mapping(凹凸贴图) 283
6.2.1 回顾Maya“常规”材质的凹凸贴图方式 286
6.2.2 mental ray for Maya凹凸贴图方法一(标准方式) 289
6.2.3 mental ray for Maya凹凸贴图方法二(简易方式) 299
6.2.4 mental ray for Maya凹凸贴图方法三(集成方式) 301
第7章 照明和阴影 305
7.1 mental ray点光源、聚光灯和平行光源 309
7.1.1 mental ray点光源 309
7.1.2 mental ray聚光灯光源 313
7.1.3 mental ray平行光源 315
7.2 光线追踪阴影 317
7.2.1 采样透明与照射透明 317
7.2.2 光线追踪阴影的必要条件 327
7.2.3 “模拟”的光线追踪透明阴影 328
7.2.4 “标准”光线追踪透明阴影 329
7.2.4.1 标准透明阴影的计算原理 330
7.2.4.2 标准透明阴影使用实例 332
7.2.5 完全不透明的光线追踪阴影 337
7.2.6 面光源的软阴影效果 338
7.2.6.1 场景实例1——矩形面光源 341
7.2.6.2 场景实例2——圆形面光源 342
7.2.6.3 场景实例3——球体面光源 344
7.2.6.4 场景实例4——柱体面光源 345
7.2.7 光线追踪阴影的三种模式 348
7.3 计算速度更快的贴图式阴影 350
7.3.1 贴图式阴影的计算原理 350
7.3.2 贴图式阴影的必要条件 354
7.3.3 贴图式阴影使用实例及相关属性说明(含选学内容) 356
7.4 mental ray“细节”贴图式阴影 361
7.4.1 细节贴图式阴影使用实例 362
7.4.2 细节贴图式阴影相关属性说明 365
第8章 Volume体积渲染 369
8.1 全局体积效果应用实例及原理说明 375
8.2 局部体积效果应用实例及原理说明 378
8.3 Ray Marching(光线行进) 389
第9章 焦散与全局照明 397
9.1 焦散与全局照明的计算原理 399
9.2 间接照明的光源设置 404
9.3 Caustics(焦散) 409
9.3.1 焦散的必要条件及质量控制属性 410
9.3.2 焦散实例应用1 415
9.3.3 焦散实例应用2 426
9.3.4 焦散实例应用3 433
9.3.5 焦散计算规律总结 441
9.4 Global Illumination(全局照明) 443
9.4.1 全局照明的必要条件及质量控制属性 444
9.4.2 纯Diffuse方式下的全局照明效果(应用实例) 446
9.4.3 Glossy传输方式对全局照明的影响(应用实例) 454
9.4.3.1 纯Glossy方式下的全局照明效果 454
9.4.3.2 Diffuse、Glossy混合方式下的全局照明效果 460
9.4.4 Specular传输方式对全局照明的影响(实例应用) 464
9.4.5 GI计算规律总结 471
9.5 光子间接照明综合应用实例 474
9.6 Final Gathering(最终聚集) 480
9.6.1 Final Gathering计算原理 481
9.6.2 Final Gathering相关属性参数说明 486
9.6.3 Final Gathering的四种计算模式 500
9.6.4 单独使用FG的场景实例 506
9.6.4.1 用FG模拟面光源照明效果 507
9.6.4.2 用FG模拟自然光照明效果 512
9.6.4.3 用FG从摄影机“背景色”中采集照明能量 524
9.6.4.4 用FG从摄影机“环境Shader”中采集照明能量 526
9.6.5 FG与光源直接照明结合使用 530
9.6.6 FG与光源直接照明、GI光子结合使用 533
9.7 Participating Media(参与媒介) 535
9.7.1 体积焦散 537
9.7.1.1 体积焦散的必要条件及质量控制属性 538
9.7.1.2 体积焦散应用实例 541
9.7.2 多体积散射:体积中的全局照明(GI) 551
9.7.2.1 多体积散射的必要条件及质量控制属性 552
9.7.2.2 多体积散射应用实例 554
9.7.3 表面间接照明、体积间接照明综合应用实例 560
第10章 轮廓(线)渲染 573
10.1 外形轮廓线 576
10.2 PostScript格式轮廓线渲染 585
10.3 几何体边缘轮廓线 586
10.4 表面折、反射边缘轮廓线 588
10.5 颜色对比轮廓线 592
10.6 宽度可变的轮廓线 594
10.7 发光轮廓线 596
10.8 轮廓线渲染速度提升 597
第11章 Light Mapping(照明能量映射) 599
11.1 Light Mapping的由来和计算原理 600
11.2 Light Mapping实例应用1 604
11.3 Light Mapping实例应用2 615
第12章 运动模糊 625
12.1 “变换”运动模糊 627
12.1.1 “变换”运动模糊应用实例1 627
12.1.2 “变换”运动模糊应用实例2 636
12.2 “形变”运动模糊(含实例) 642
12.3 “变换”运动与“形变”运动的区别与应用(含实例) 652
12.4 运动模糊计算的必要条件与质量调节属性 660
12.5 运动模糊相关属性的解释与说明 662
第13章 Phenomenon 679
第14章 mental ray阻光技术——Occlusion 693
14.1 Occlusion概述 694
14.2 阻光技术的类型及使用方法 697
14.3 阻光技术的使用方式及计算过程 701
14.3.1 以“纹理Shader”或“表面材质Shader”的身份直接使用 701
14.3.1.1 方法一:阻光效果的直接应用 702
14.3.1.2 方法二:烘焙阻光数据 703
14.3.2 后期合成 708
14.3.3 以“灯光Shader”的身份参与计算 710
14.4 阻光Shader及其属性说明 710
14.4.1 mib_amb_occlusion 710
14.4.2 mib_bent_normal_env 715
14.4.3 mib_fg_occlusion 718
14.5 以“纹理”或“表面材质”Shader的身份直接使用(实例) 719
14.5.1 方法一:阻光效果的直接应用实例 720
14.5.1.1 模拟Diffuse表面的间接照明效果(传统方式) 720
14.5.1.2 模拟Diffuse表面的间接照明效果(AO阻光技术) 722
14.5.1.3 与场景环境相融合的Diffuse表面AO间接照明技术 724
14.5.1.4 用阻光技术修正反射表面的环境反射贴图 729
14.5.2 方法二:烘焙阻光数据应用实例 737
14.6 单独输出阻光数据用于后期处理、合成(实例) 749
14.7 “环境阻光光源”应用实例 757
14.8 环境阻光与标准Final Gathering 760
14.8.1 用FG计算AO环境阻光效果 763
14.8.2 以FG方式计算AO环境阻光效果 767
14.8.3 用AO计算场景全部照明效果 769
第15章 mental ray基础Shader库 777
15.1 概述 778
15.2 纹理空间映射及修改Shader 782
15.2.1 mib_texture_vector(纹理坐标〈或向量〉选择Shader) 782
15.2.2 mib_texture_remap(纹理坐标修改Shader) 785
15.2.3 mib_texture_rotate(向量旋转Shader) 788
15.2.4 mib_bump_basis(凹凸贴图偏移向量创建Shader) 789
15.3 纹理映射查找Shader 790
15.3.1 图像纹理查找Shader 790
15.3.1.1 mib_texture_lookup 790
15.3.1.2 mib_texture_lookup2 791
15.3.2 mib_texture_filter_lookup(高级图像纹理查找Shader) 791
15.3.3 凹凸贴图纹理查找Shader 794
15.3.3.1 mib_bump_map 794
15.3.3.2 mib_passthrough_bump_map 797
15.3.3.3 mib_bump_map2 797
15.4 图像纹理及程序纹理Shader 799
15.4.1 mentalray Texture(图像文件纹理) 799
15.4.2 mib_texture_checkerboard(棋盘格〈程序〉纹理2D&3D) 801
15.4.3 Polka Dot圆点花纹(程序)纹理 804
15.4.3.1 mib_texture_polkadot(圆点花纹2D〈程序〉纹理) 804
15.4.3.2 mib_texture_polkasphere(圆点花纹3D〈程序〉纹理) 806
15.4.4 mib_texture_turbulence(噪波〈程序〉纹理) 807
15.4.5 mib_texture_wave(波浪〈程序〉纹理) 809
15.5 环境Shader 810
15.5.1 mib_lookup_spherical(两极球环境Shader) 810
15.5.2 立方体环境Shader 811
15.5.2.1 mib_lookup_cube 1 811
15.5.2.2 mib_lookup_cube 6 812
15.5.3 mib_lookup_cylindrical(柱状环境Shader) 812
15.5.4 mib_lookup_background(背景环境Shader) 814
15.6 表面基本照明材质Shader 815
15.6.1 mib_illum_lambert(兰伯特材质Shader) 815
15.6.2 mib_illum_phong(风材质Shader) 817
15.6.3 mib_illum_ward(各向异性材质Shader) 818
15.6.4 mib_illum_ward_deriv(简易各向异性材质Shader) 820
15.6.5 mib_illum_blinn(布林材质Shader) 822
15.6.6 mib_illum_cooktorr(库克-托兰斯材质Shader) 824
15.6.7 mib_illum_hair(“头发”专用材质Shader) 826
15.6.8 Light Linking(灯光连接) 828
15.7 光线追踪采样Shader 830
15.7.1 mib_reflect(反射采样合成Shader) 830
15.7.2 mib_refract(折射采样合成Shader) 831
15.7.3 mib_refraction_index(折射系数转换Shader) 832
15.7.4 mib_transparency(透明采样合成Shader) 833
15.7.5 mib_continue(延续采样Shader) 834
15.7.6 mib_opacity(不透明采样合成Shader) 835
15.7.7 mib_dielectric(电介质透明采样合成Shader) 836
15.7.8 mib_twosided(双面采样Shader) 837
15.7.9 Glossy传播效果采样Shader 838
15.7.9.1 mib_glossy_reflection(平滑模糊反射采样合成Shader) 844
15.7.9.2 mib_glossy_refraction(平滑模糊折射采样合成Shader) 849
15.8 体积(材质)Shader 855
15.8.1 mib_volume(体积雾采样Shader) 855
15.8.2 mib_ray_marcher(光线行进采样Shader) 856
15.9 Occlusion阻光Shader 858
15.10 数据转换Shader 858
15.10.1 彩色值转换为灰度值 858
15.10.1.1 mib_color_Alpha(Alpha通道提取Shader) 858
15.10.1.2 mib_color_average(颜色通道均化Shader) 859
15.10.1.3 mib_color_intensity(强度/亮度提取Shader) 859
15.10.2 mib_color_interpolate(颜色映射插补Shader) 860
15.10.3 mib_color_mix(颜色混合Shader/层Shader) 861
15.10.4 mib_color_spread(颜色展开Shader) 863
15.11 光子(材质)Shader 865
15.12 灯光Shader 866
15.12.1 mib_light_point(mental ray点光源) 866
15.12.2 mib_light_spot(mental ray聚光灯点光源) 867
15.12.3 mib_light_infinite(mental ray定向平行光源) 869
15.12.4 mib_light_photometric(mental ray光度学灯光) 869
15.13 灯光“功能/效用”Shader 871
15.13.1 mib_cie_D(CIED光源Shader) 871
15.13.2 mib_blackbody(黑体辐射Shader) 872
15.14 阴影Shader 873
15.15 照明能量映射/烘焙Shader 874
15.15.1 mib_lightmap_sample(照明〈能量〉信息采样Shader) 874
15.15.2 mib_lightmap_write(照明能量数据映射/写入Shader) 875
15.16 镜头Shader 876
15.16.1 mib_lens_stencil(“模板”镜头Shader) 876
15.16.2 mib_lens_clamp(“限定亮度值”的镜头Shader) 877
第16章 mental ray物理学Shader库 881
16.1 镜头Shader 882
16.1.1 Physical_lens_dof(物理学景深镜头Shader) 882
16.1.2 Oversampling_lens(超级采样镜头Shader) 883
16.2 Physical_light(物理学灯光Shader) 883
16.3 物理学表面材质Shader 885
16.3.1 DGS_material(DGS物理学反射、折射表面材质Shader) 885
16.3.2 Dielectric_material(电介质表面材质Shader) 888
16.3.3 Path_material(路径追踪表面材质Shader) 890
16.4 物理学光子(材质)Shader 891
16.5 参与媒介中的直接照明 892
16.5.1 parti_volume(物理学〈光线行进〉体积Shader) 893
16.5.2 transmat(全透明表面材质Shader) 897
16.6 参与媒介中的光子追踪(间接照明) 897
16.6.1 parti_volume_photon(物理学光子体积Shader) 897
16.6.2 transmat_photon(全透明光子〈材质〉Shader) 899
第17章 mental ray轮廓(线)Shader库 901
17.1 轮廓(线)信息储存Shader 902
17.2 轮廓(线)信息对比Shader 903
17.2.1 contour_contrast_function_levels(标准轮廓信息对比Shader) 903
17.2.2 contour_contrast_function_simple(简易轮廓信息对比Shader) 905
17.3 轮廓(线)材质定义Shader 905
17.3.1 contour_shader_simple(简易轮廓线) 905
17.3.2 contour_shader_silhouette(侧影轮廓线) 906
17.3.3 contour_shader_maxcolor(自动选择轮廓线颜色) 906
17.3.4 contour_shader_curvature(随曲率变化粗细的轮廓线) 907
17.3.5 contour_shader_widthfromcolor(随颜色变化粗细的轮廓线) 908
17.3.6 contour_shader_factorcolor(颜色取决于材质的轮廓线) 909
17.3.7 contour_shader_depthfade(随深度变化的轮廓线) 910
17.3.8 contour_shader_framefade(随动画变化的轮廓线) 912
17.3.9 contour_shader_widthfromlight(宽度随照明方向变化的轮廓线1) 913
17.3.10 contour_shader_widthfromlightdir(宽度随照明方向变化的轮廓线2) 914
17.3.11 contour_shader_layerthinner(宽度随层级变化的轮廓线) 915
17.3.12 contour_shader_combi(轮廓线定义集成Shader) 916
17.4 轮廓(线)输出Shader 917
17.4.1 Contours_only(只输出轮廓线) 917
17.4.2 Composited_Contours(同时输出渲染图像与轮廓线) 918
17.4.3 contour_ps(轮廓线脚本输出Shader) 919
后记 921