шейдер деформации текстуры (типа Star)

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

шейдер деформации текстуры (типа Star)

Сообщение gnoblin 26 окт 2010, 02:10

Шейдер который странным образом деформирует текстуру (зависит от времени).
Может быть я что-то напутал )).
В таком виде не несет особой пользы человечеству.

Синтаксис:
Используется glsl
///  Портировано с http://www.iquilezles.org/apps/shadertoy/
/// "Information: 'Star' by iq (2009) A GLSL version of the oldschool 2D deformation effect"

Shader "Star" {
        Properties {
                _Tex0 ("Tex 0", 2D) = "white" {}
               
                _TimeT ("Time", Float) = 0.5
                _X ("Scale X", Float) = 0.5
                _Y ("Scale Y", Float) = 0.5
        }
        SubShader {
                Tags { "RenderType"="Opaque" }
                LOD 200
               
                CGPROGRAM
                #pragma surface surf Lambert
                #pragma target 3.0

                sampler2D _Tex0;
               
                float _X;
                float _Y;
               
                float _TimeT;
               
                struct Input {
                        float2 uv_Tex0;
                       
                };

                void surf (Input IN, inout SurfaceOutput o) {
                                               
                        float2 uv;

                        float2 p = -1.0 + 2.0 * IN.uv_Tex0.xy / float2(_X,_Y).xy;
                        float a = atan2(p.y,p.x);
                        float r = sqrt(dot(p,p));
                        float s = r * (1.0+0.8*cos(_TimeT*1.0));

                        uv.x =          .02*p.y+.03*cos(-_TimeT+a*3.0)/s;
                        uv.y = .1*_TimeT +.02*p.x+.03*sin(-_TimeT+a*3.0)/s;

                        float w = .9 + pow(max(1.5-r,0.0),4.0);

                        w*=0.6+0.4*cos(_TimeT+3.0*a);

                        float3 col =  tex2D(_Tex0,uv).rgb;

                        half4 color = half4(col*w,1.0);
                       
                        o.Albedo = color.rgb;
                        o.Alpha = color.a;
                }
                ENDCG
        }
        FallBack "Diffuse"
}
 
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

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

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

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