DiffuseColorMix

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

DiffuseColorMix

Сообщение gnoblin 26 ноя 2010, 02:05

Дифузный шейдер, в котором по чернобелой маске смешивается два мейнкалорора (чтобы внести разнообразие в кусок скалы, например, задав 1 цвет серый, второй желтый).

Скриншот не прикладываю :D

Синтаксис:
Используется glsl
//mix 2 maincolors by mask
Shader "DiffuseColorMix" {
Properties {
        _Color ("Main Color", Color) = (1,1,1,1)
        _Color2 ("Main Color2", Color) = (1,1,1,1)
        _MainTex ("Base (RGB)", 2D) = "white" {}
        _MixMask ("Mask (R)", 2D) = "black" {}
}
SubShader {
        Tags { "RenderType"="Opaque" }
        LOD 200

CGPROGRAM
#pragma surface surf Lambert

sampler2D _MainTex;
sampler2D _MixMask;
float4 _Color;
float4 _Color2;

struct Input {
        float2 uv_MainTex;
        float2 uv_MixMask;
};

void surf (Input IN, inout SurfaceOutput o) {
        half4 tex = tex2D(_MainTex, IN.uv_MainTex);
        half4 mask = tex2D(_MixMask, IN.uv_MixMask);
       
    half4 c = lerp(_Color, _Color2, mask.r)     * tex;
        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

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

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