Синтаксис:
Используется glsl
/// Портировано с http://www.iquilezles.org/apps/shadertoy/
///Info: "'Flower' by iq (2010), The GLSL version of of love"
Shader "Flower" {
Properties {
//_MainTex ("Base (RGB)", 2D) = "white" {}
_OffsetX ("Offset X", Float) = 0.5
_OffsetY ("Offset Y", Float) = 0.5
_Scale ("Scale", Float) = 0.5
}
SubShader {
Tags { "RenderType"="Opaque" }
LOD 200
CGPROGRAM
#pragma surface surf Lambert
#pragma target 3.0
//sampler2D _MainTex;
float _OffsetX;
float _OffsetY;
float _Scale;
struct Input {
float2 uv_MainTex;
};
float u( float x ) { return 0.5+0.5*sign(x); }
//float u( float x ) { return (x>0.0)?1.0:0.0; }
//float u( float x ) { return abs(x)/x; }
void surf (Input IN, inout SurfaceOutput o) {
float2 p = (2.0*IN.uv_MainTex.xy-half2(_OffsetX,_OffsetY))/_Scale;
float time = 0.5;
float a = atan2(p.x,p.y);
float r = length(p)*.75;
float w = cos(3.1415927*time-r*2.0);
float h = 0.5+0.5*cos(12.0*a-w*7.0+r*8.0);
float d = 0.25+0.75*pow(h,1.0*r)*(0.7+0.3*w);
float col = u( d-r ) * sqrt(1.0-r/d)*r*2.5;
col *= 1.25+0.25*cos((12.0*a-w*7.0+r*8.0)/2.0);
col *= 1.0 - 0.35*(0.5+0.5*sin(r*30.0))*(0.5+0.5*cos(12.0*a-w*7.0+r*8.0));
float4 color = float4(
col,
col-h*0.5+r*.2 + 0.35*h*(1.0-r),
col-h*r + 0.1*h*(1.0-r),
1.0);
o.Albedo = color.rgb;
o.Alpha = color.a;
}
ENDCG
}
FallBack "Diffuse"
}
///Info: "'Flower' by iq (2010), The GLSL version of of love"
Shader "Flower" {
Properties {
//_MainTex ("Base (RGB)", 2D) = "white" {}
_OffsetX ("Offset X", Float) = 0.5
_OffsetY ("Offset Y", Float) = 0.5
_Scale ("Scale", Float) = 0.5
}
SubShader {
Tags { "RenderType"="Opaque" }
LOD 200
CGPROGRAM
#pragma surface surf Lambert
#pragma target 3.0
//sampler2D _MainTex;
float _OffsetX;
float _OffsetY;
float _Scale;
struct Input {
float2 uv_MainTex;
};
float u( float x ) { return 0.5+0.5*sign(x); }
//float u( float x ) { return (x>0.0)?1.0:0.0; }
//float u( float x ) { return abs(x)/x; }
void surf (Input IN, inout SurfaceOutput o) {
float2 p = (2.0*IN.uv_MainTex.xy-half2(_OffsetX,_OffsetY))/_Scale;
float time = 0.5;
float a = atan2(p.x,p.y);
float r = length(p)*.75;
float w = cos(3.1415927*time-r*2.0);
float h = 0.5+0.5*cos(12.0*a-w*7.0+r*8.0);
float d = 0.25+0.75*pow(h,1.0*r)*(0.7+0.3*w);
float col = u( d-r ) * sqrt(1.0-r/d)*r*2.5;
col *= 1.25+0.25*cos((12.0*a-w*7.0+r*8.0)/2.0);
col *= 1.0 - 0.35*(0.5+0.5*sin(r*30.0))*(0.5+0.5*cos(12.0*a-w*7.0+r*8.0));
float4 color = float4(
col,
col-h*0.5+r*.2 + 0.35*h*(1.0-r),
col-h*r + 0.1*h*(1.0-r),
1.0);
o.Albedo = color.rgb;
o.Alpha = color.a;
}
ENDCG
}
FallBack "Diffuse"
}