2018-08-30

转载自 VR设计云课堂 《Unity Shader入门精要》随书彩色插图(下)

《Unity Shader入门精要》随书彩色插图(下)


VR设计云课堂 关注

2017.06.15 12:07* 字数 102 阅读 509评论 0喜欢 3

第15章 使用噪声

2018-08-30_第1张图片

burn.png-429.1kB

图15.1 箱子的消融效果

2018-08-30_第2张图片

burn_noise.png-84.8kB

图15.2 消融效果使用的噪声纹理

2018-08-30_第3张图片

water.png-722.5kB

图15.3 包含菲涅耳反射的水面波动效果。在左图中,视角方向和水面法线的夹角越大,反射效果越强。在右图中,视角方向和水面法线的夹角越大,折射效果越强

2018-08-30_第4张图片

cubemap.png-128.3kB

图15.4 本例使用的立方体纹理

need-to-insert-img

water_noise.png-202kB

图15.5 水波效果使用的噪声纹理。左图:噪声纹理的灰度图。右图:由左图生成的法线纹理

need-to-insert-img

fog.png-493.9kB

图15.6 左图:均匀雾效。右图:使用噪声纹理后的非均匀雾效

need-to-insert-img

fog_noise.jpg-13kB

图15.7 本节使用的噪声纹理

第16章 Unity中的渲染优化技术

need-to-insert-img

render_static_window.png-156.1kB

图16.1 Unity 5的渲染统计窗口

need-to-insert-img

profiler.png-122.5kB

图16.2 使用Unity的性能分析器中的渲染区域来查看更多关于渲染的统计信息

need-to-insert-img

frame_debugger.png-84.3kB

图16.3 使用帧调试器来查看单独的draw call的绘制结果

need-to-insert-img

dynamic_batching0.png-138.9kB

图16.4 动态批处理

need-to-insert-img

dynamic_batching1.png-138.9kB

图16.5 多光源对动态批处理的影响结果

need-to-insert-img

static_batching0.png-112.9kB

图16.6 静态批处理前的渲染统计数据

need-to-insert-img

mark_static.png-22.3kB

图16.7 把物体标志为Static

need-to-insert-img

static_batching1.png-112.3kB

图16.8 静态批处理

need-to-insert-img

combined_mesh.png-152.1kB

图16.9 静态批处理中Unity会合并所有被标识为“Static”的物体

need-to-insert-img

vbo.png-92kB

图16.10 静态批处理会占用更多的内存。左图:静态批处理前的渲染统计数据。右图:静态批处理后的渲染统计数据

need-to-insert-img

static_batching2.png-113.6kB

图16.11 处理其他逐像素光的Pass不会被静态批处理

2018-08-30_第5张图片

advance_texture.png-96.6kB

图16.12 Unity的高级纹理设置面板

第17章 Surface Shader探秘

2018-08-30_第6张图片

bumped_diffuse.png-164.7kB

图17.1 表面着色器的例子。左图:在一个平行光下的效果。右图:添加了一个点光源(蓝色)和一个聚光灯(紫色)后的效果

2018-08-30_第7张图片

generated_code.png-28.9kB

图17.2 查看表面着色器生成的代码

2018-08-30_第8张图片

pipeline.png-171.9kB

图17.3 表面着色器的渲染计算流水线。黄色:可以自定义的函数。灰色:Unity自动生成的计算步骤

2018-08-30_第9张图片

normal_extrusion.png-127.3kB

图17.4 沿顶点法线对模型进行膨胀。左图:膨胀前。右图:膨胀后

第18章 基于物理的渲染

2018-08-30_第10张图片

reflect_refract.png-26.9kB

图18.1 在理想的边界处,折射率的突变会把光线分成两个方向

2018-08-30_第11张图片

rought_smooth.png-64.6kB

图18.2 左图:光滑表面的微平面的法线变化较小,反射光线的方向变化也更小。右图:粗糙表面的微平面的法线变化较大,反射光线的方向变化也更大

2018-08-30_第12张图片

subsurface_scattered_light.png-36.3kB

图18.3 微表面对光的折射。这些被折射的光中一部分被吸收,一部分又被散射到外部

2018-08-30_第13张图片

surface.png-42.5kB

图18.4 次表面散射。左图:次表面散射的光线会从不同于入射点的位置射出。如果这些距离值小于需要被着色的像素大小,那么渲染就可以完全在局部完成(右图)。否则,就需要使用次表面散射渲染技术

2018-08-30_第14张图片

brdf.png-47.1kB

图18.5 BRDF描述的两种现象。高光反射部分用于描述反射,漫反射部分用于描述次表面散射

2018-08-30_第15张图片

m_h.png-90.5kB

图18.6 (a)那些m=h的微面元会恰好把入射光从I反射到v上,只有这部分微面元才可以添加到BRDF的计算中。(b)一部分满足(a)的微面元会在I方向上被其他微面元遮挡住,它们不会接受到光照,因此会形成阴影。(c)还有一部分满足(a)的微面元会在反射方向v上被其他微面元挡住,因此,这部分反射光也不会被看到

2018-08-30_第16张图片

standard_shader.png-276.6kB

图18.7 Standard Shader中前向渲染路径使用的Pass(简化版本的PBS使用了VertexOutputBaseSimple等结构体来代替相应的结构体)

2018-08-30_第17张图片

calibration_charts.png-387.8kB

图18.8 Unity提供的校准表格。左图:金属工作流使用的校准表格。右图:高光反射工作流使用的校准表格

2018-08-30_第18张图片

metallic_workflow.png-181.6kB

图18.9 使用金属工作流来实现不同类型的材质。左边的球体:金属材质。右边的球体:塑料材质

2018-08-30_第19张图片

pbs_scene.png-625.7kB

图18.10 在Unity 5中使用基于物理的渲染技术,场景在不同光照下的渲染结果

2018-08-30_第20张图片

lighting_inspector.png-48.9kB

图18.11 光照面板下的Scene标签页

2018-08-30_第21张图片

reflect_source.png-349.6kB

图18.12 左图:当关闭场景中的所有光源并把环境光照强度设为0后,使用了Standard Shader的物体仍然具有光照效果。右图:在左图的基础上,把反射源设置为空,使得物体不接受任何默认的反射信息

2018-08-30_第22张图片

direction_light.png-29.3kB

图18.13 使用的平行光

need-to-insert-img

bounce_intensity.png-645.9kB

图18.14 左图:将Bounce Intensity设置为0,物体不再受到间接光照的影响,木屋内阴影部分的可见细节很少。右图:将Bounce Intensity设为8,阴影部分的细节更加清楚

2018-08-30_第23张图片

reflection_probe.png-615.8kB

图18.15 左图:未使用反射探针。右图:在场景中放置了两个反射探针,注意墙上的盾牌与左图的差别

2018-08-30_第24张图片

interreflection.png-338.2kB

图18.16 使用反射探针实现相互反射的效果

2018-08-30_第25张图片

linear_space.png-611.4kB

图18.17 左图:在线性空间下的渲染结果。右图:在伽马空间下的渲染结果

2018-08-30_第26张图片

gamma_chart.png-29.3kB

图18.18 人眼更容易感知暗部区域的变换,而对较亮区域的变化比较不敏感

2018-08-30_第27张图片

encoding_display_gamma.png-37.5kB

图18.19 编码伽马和显示伽马

2018-08-30_第28张图片

gamma_light.png-32.1kB

图18.20 左图:伽马空间下的渲染结果。右图:线性空间下的渲染结果

2018-08-30_第29张图片

gamma_blur.png-85.2kB

图18.21 左图:伽马空间下的混合结果。右图:线性空间下的混合结果

第19章 Unity 5更新了什么

2018-08-30_第30张图片

show_fixed_function.png-29.5kB

图19.1 在shader的导入面板中,单击图中按钮可查看Unity为该固定管线着色器生成的顶点/片元着色器代码

你可能感兴趣的:(2018-08-30)