• U3D shaderlab 相关指令开关




    Subshader { [Tags] [CommonState] Passdef [Passdef ...] }
    Tags分为SubShader Tags和Pass Tags,Tags放在SubShader顶层或者其内部的单个Pass中,这个时候只在Pass中生效。
    Tags:表面着色器可以被若干的标签(tags)所修饰,而硬件将通过判定这些标签来决定什么时候调用该着色器。比如Tags { "RenderType"="Opaque" }告诉了系统应该在渲染非透明物体时调用我们。

    CommonState:设定开关硬件的各种状态。根据渲染管线,可以设置硬件状态,对渲染的各阶段进行控制。
    CommonState属于SubShader的语法规则。

    Color, Material, Lighting:
    Color color
    Material {Material Block}
    Lighting On | Off
    SeparateSpecular On | Off
    ColorMaterial AmbientAndDiffuse | Emission

    Culling & Depth Testing:
    Cull Back | Front | Off
    ZWrite On | Off
    ZTest Less | Greater | LEqual | GEqual | Equal | NotEqual | Always
    Offset Factor, Units

    Texture Combiners:
    SetTexture [TextureName] {Texture Block}
    SetTexture [_MainTex] { combine previous * texture, previous + texture } 

    Fog:
    Fog {Fog Commands}
    Mode Off | Global | Linear | Exp | Exp2
    Color ColorValue
    Density FloatValue
    Range FloatValue, FloatValue

    Alpha testing:
    AlphaTest Off
    AlphaTest comparison AlphaValue

    Blending:
    Blend SrcAlpha OneMinusSrcAlpha // Alpha blending
    Blend One One // Additive
    Blend OneMinusDstColor One // Soft Additive
    Blend DstColor Zero // Multiplicative
    Blend DstColor SrcColor // 2x Multiplicative


    Unity3D渲染管线

    (据此控制各阶段可控部件的状态或者编写顶点/片段着色器)

    Passdef:包括regular Pass,Use Pass(引用,复用Pass)和Grab Pass(抓屏)

    regular Pass包括

    Name、


    Tags(RenderType,Queue等)


    Render Setup(

    Lighting、Cull、ZTest、ZWrite、Fog、AlphaTest、Blend、Stencil,ColorMask、Offset、Color,Material,SeparateSpecular、ColorMaterial

    等)


    详细描述参考Unity3D用户手册ShaderLab syntax: SubShader部分。

  • 相关阅读:
    LeetCode 231. 2的幂
    LeetCode 50. Pow(x, n)
    LeetCode 80. 删除有序数组中的重复项 II
    LeetCode 26. 删除有序数组中的重复项
    LeetCode 88. 合并两个有序数组
    LeetCode 781. 森林中的兔子
    在linux下使用 Fitilink 3D Webcam (18e3:5031)
    ros tf2使用示例
    使用QtCreator作为ROS调试器
    linux基于file的logger
  • 原文地址:https://www.cnblogs.com/nafio/p/9137205.html
Copyright © 2020-2023  润新知