美文网首页
2018-08-30

2018-08-30

作者: 水月凡 | 来源:发表于2018-08-30 15:39 被阅读0次

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

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

    VR设计云课堂 关注

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

    第15章 使用噪声

    burn.png-429.1kB

    图15.1 箱子的消融效果

    burn_noise.png-84.8kB

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

    water.png-722.5kB

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

    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不会被静态批处理

    advance_texture.png-96.6kB

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

    第17章 Surface Shader探秘

    bumped_diffuse.png-164.7kB

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

    generated_code.png-28.9kB

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

    pipeline.png-171.9kB

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

    normal_extrusion.png-127.3kB

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

    第18章 基于物理的渲染

    reflect_refract.png-26.9kB

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

    rought_smooth.png-64.6kB

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

    subsurface_scattered_light.png-36.3kB

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

    surface.png-42.5kB

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

    brdf.png-47.1kB

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

    m_h.png-90.5kB

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

    standard_shader.png-276.6kB

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

    calibration_charts.png-387.8kB

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

    metallic_workflow.png-181.6kB

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

    pbs_scene.png-625.7kB

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

    lighting_inspector.png-48.9kB

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

    reflect_source.png-349.6kB

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

    direction_light.png-29.3kB

    图18.13 使用的平行光

    need-to-insert-img

    bounce_intensity.png-645.9kB

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

    reflection_probe.png-615.8kB

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

    interreflection.png-338.2kB

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

    linear_space.png-611.4kB

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

    gamma_chart.png-29.3kB

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

    encoding_display_gamma.png-37.5kB

    图18.19 编码伽马和显示伽马

    gamma_light.png-32.1kB

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

    gamma_blur.png-85.2kB

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

    第19章 Unity 5更新了什么

    show_fixed_function.png-29.5kB

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

    相关文章

      网友评论

          本文标题:2018-08-30

          本文链接:https://www.haomeiwen.com/subject/gkqdwftx.html