Legacy/Lightmapped/Gnoblin/Diffuse Wrapped

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

Legacy/Lightmapped/Gnoblin/Diffuse Wrapped

Сообщение gnoblin 06 ноя 2010, 18:32

Экспериментальный шейдер для самопального лайтмапинга,
это смесь "Lightmap/Diffuse" + "DiffuseWrap".

Пока еще экспериментирую с custom lighting models, надеюсь ошибок нету.
Синтаксис:
Используется glsl
Shader "Legacy Shaders/Lightmapped/Gnoblin/Diffuse Wrapped" {
    Properties {
      _Color ("Main Color", Color) = (1,1,1,1)
          _MainTex ("Base (RGB)", 2D) = "white" {}
          _BumpMap ("Normalmap", 2D) = "bump" {}
          _LightMap ("Lightmap (RGB)", 2D) = "black" {}
    }
    SubShader {
      Tags { "RenderType" = "Opaque" }
      CGPROGRAM
      #pragma surface surf WrapLambert

      half4 LightingWrapLambert (SurfaceOutput s, half3 lightDir, half atten) {
          half NdotL = dot (s.Normal, lightDir);
          half diff = NdotL * 0.5 + 0.5;
          half4 c;
          c.rgb = s.Albedo * _LightColor0.rgb * (diff * atten * 2);
          c.a = s.Alpha;
          return c;
      }

      struct Input {
          float2 uv_MainTex;
          float2 uv_BumpMap;
          float2 uv2_LightMap;
      };
      sampler2D _MainTex;
      sampler2D _BumpMap;
      sampler2D _LightMap;
      float4 _Color;

      void surf (Input IN, inout SurfaceOutput o) {
          o.Albedo = tex2D (_MainTex, IN.uv_MainTex).rgb * _Color;
          half4 lm = tex2D (_LightMap, IN.uv2_LightMap);
          o.Emission = lm.rgb*o.Albedo.rgb;
          o.Alpha = lm.a * _Color.a;
          o.Normal = UnpackNormal(tex2D(_BumpMap, IN.uv_BumpMap));
      }
      ENDCG
    }
    FallBack "Legacy Shaders/Lightmapped/Diffuse"
  }
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Legacy/Lightmapped/Gnoblin/Diffuse Wrapped

Сообщение gnoblin 06 ноя 2010, 18:37

TODO: сделать чтобы это работало с deferred lighting (получится? 8-x )
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт


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

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

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