болванка Custom Lambert Lighting Model

Шейдеры и все-все-все.

болванка Custom Lambert Lighting Model

Сообщение gnoblin 06 ноя 2010, 19:00

Шейдер, полностью идентичный стандартному диффузу со скопированной из Lighting.cginc моделью освещения Lambert.
Работает как с forward, так и с deferred режимом.

Это такая заготовочка для своих моделей освещения, которые НЕ зависят от позиции наблюдателя.

Синтаксис:
Используется glsl
Shader "CustomLightingDiffuse_Dummy" {
Properties {
        _Color ("Main Color", Color) = (1,1,1,1)
        _MainTex ("Base (RGB)", 2D) = "white" {}
}
SubShader {
        Tags { "RenderType"="Opaque" }
        LOD 200

CGPROGRAM
#pragma surface surf CustomLambert

sampler2D _MainTex;
float4 _Color;

struct Input {
        float2 uv_MainTex;
};

half4 LightingCustomLambert (SurfaceOutput s, half3 lightDir, half atten)
{
        half diff = max (0, dot (s.Normal, lightDir));
       
        half4 c;
        c.rgb = s.Albedo * _LightColor0.rgb * (diff * atten * 2);
        c.a = s.Alpha;
        return c;
}

half4 LightingCustomLambert_PrePass (SurfaceOutput s, half4 light)
{
        half4 c;
        c.rgb = s.Albedo * light.rgb;
        c.a = s.Alpha;
        return c;
}

void surf (Input IN, inout SurfaceOutput o) {
        half4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;
        o.Albedo = c.rgb;
        o.Alpha = c.a;
}
ENDCG
}

Fallback "VertexLit"
}
 
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Вернуться в Shader Lab

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2