Рубрики
Surface

SurfaceOutputStandardSpecular

[post10644 surface]

struct SurfaceOutputStandardSpecular
{
    fixed3 Albedo;      // diffuse color
    fixed3 Specular;    // specular color
    fixed3 Normal;      // tangent space normal, if written
    half3 Emission;
    half Smoothness;    // 0=rough, 1=smooth
    half Occlusion;     // occlusion (default 1)
    fixed Alpha;        // alpha for transparencies
};
Рубрики
Surface Standard

SurfaceOutputStandard

  • выходная структура поверхностного шейдера
    встроенный код HLSL

[post10644 surface]

struct SurfaceOutputStandard

{
    fixed3 Albedo;      // base (diffuse or specular) color
    fixed3 Normal;      // tangent space normal, if written
    half3 Emission;
    half Metallic;      // 0=non-metal, 1=metal
    half Smoothness;    // 0=rough, 1=smooth
    half Occlusion;     // occlusion (default 1)
    fixed Alpha;        // alpha for transparencies
};
Рубрики
Custom Surface

«Объект красного цвета»

[post10644 surfaceshader]

#pragma surface surf Standard
Shader "Custom/SH_surf"
{
    SubShader
    {
        CGPROGRAM
        #pragma surface surf Standard
        sampler2D _MainTex;

        struct Input
        {
            float3 color : RED;
        };
        void surf (Input IN, inout SurfaceOutputStandard o)
        {
            o.Albedo = IN.color;
            o.Alpha = 1;
        }
        ENDCG
    }
}
Рубрики
ShaderLab Surface

#pragma surface

Поверхностный шейдер

#pragma surface <surface function> <lighting model> <optional parameters>
  • <surface function> своя процедура отрисовки поверхности

[post10604 pragma]

[post10639 lightingmodel]

Рубрики
ShaderLab Шейдеры

lighting model

в шейдере будет использоваться модель освещения

  • Световые составляющие модели освещения
    • diffuse
      • Модель Ламберта рассеянная составляющая
        • моделирует идеальное диффузное освещение. Считается, что свет при попадании на поверхность рассеивается равномерно во все стороны. При расчете такого освещения учитывается только ориентация поверхности (нормаль N) и направление на источник света (вектор L). Рассеянная составляющая рассчитывается по закону косинусов (закон Ламберта)
  • простые встроенные
    • физически обоснованные
      • Standard настройка отражения
        • SurfaceOutputStandard
      • StandardSpecular
        • SurfaceOutputStandardSpecular
    • не физически обоснованные
      • Lambert diffuse
      • BlinnPhong specular