Страница 1 из 1

У кого-либо есть шейдер градиента?

СообщениеДобавлено: 29 окт 2010, 14:06
Woolf
Нужен шейдер материала градиента.
Смысл шейдера - устанавливается цвет 1 и цвет 2, текстура. Необходимо сделать плавный переход по цветам вершин, опираясь на текстурные координаты. Ну и текстуру тоже наложить..

А сам я писать на cg под юнити фреймворк пока не умею (

Re: У кого-либо есть шейдер градиента?

СообщениеДобавлено: 29 окт 2010, 16:57
Guzyano

Re: У кого-либо есть шейдер градиента?

СообщениеДобавлено: 29 окт 2010, 17:41
gnoblin
Синтаксис:
Используется glsl
Shader "Diffuse With Gradient Color" {
        Properties {
                _MainTex ("Base (RGB)", 2D) = "white" {}
                _Color ("Main Color", Color) = (1,1,1,1)
                _Color2 ("Main Color 2", Color) = (1,1,1,1)
        }
        SubShader {
                Tags { "RenderType"="Opaque" }
                LOD 200
               
                CGPROGRAM
                #pragma surface surf Lambert

                sampler2D _MainTex;
                float4 _Color;
                float4 _Color2;

                struct Input {
                        float2 uv_MainTex;
                };

                void surf (Input IN, inout SurfaceOutput o)
                {
                        half4 main_color = lerp(_Color, _Color2, IN.uv_MainTex.x);
                        half4 c = tex2D (_MainTex, IN.uv_MainTex) * main_color;
                        o.Albedo = c.rgb;
                        o.Alpha = c.a;
                }
                ENDCG
        }
        FallBack "Diffuse"
}