shader fixes
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
Shader "QO/Effect/CrossFade"
|
||||
{
|
||||
Properties
|
||||
{
|
||||
_tex0 ("_tex0 : Original Image (RGBA)", 2D) = "white" {}
|
||||
_tex1 ("_tex1 : Transform Image (RGBA)", 2D) = "white" {}
|
||||
_time ("_time : TimeRate", Range(0,1)) = 0
|
||||
}
|
||||
|
||||
SubShader
|
||||
{
|
||||
LOD 200
|
||||
Tags { "QUEUE"="Transparent" "RenderType"="Transparent" }
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
Lighting Off
|
||||
|
||||
Pass
|
||||
{
|
||||
ZTest Always ZWrite Off
|
||||
Fog { Mode off }
|
||||
|
||||
|
||||
CGPROGRAM
|
||||
#pragma vertex vert_img
|
||||
#pragma fragment frag
|
||||
#pragma fragmentoption ARB_precision_hint_fastest
|
||||
#include "UnityCG.cginc"
|
||||
|
||||
|
||||
uniform sampler2D _tex0;
|
||||
uniform sampler2D _tex1;
|
||||
uniform float _time;
|
||||
|
||||
|
||||
fixed4 frag( v2f_img i ):COLOR
|
||||
{
|
||||
fixed4 texColor = tex2D( _tex0, i.uv );
|
||||
fixed4 texColor2 = tex2D( _tex1, i.uv );
|
||||
return lerp( texColor, texColor2, _time );
|
||||
}
|
||||
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
|
||||
FallBack off
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
Shader "QO/Effect/Mosaic" {
|
||||
Properties {
|
||||
_tex0 ("_tex0 : Original Image (RGBA)", 2D) = "white" {}
|
||||
_tex1 ("_tex1 : Transform Image (RGBA)", 2D) = "white" {}
|
||||
_X ("x pixels", Float) = 0
|
||||
_Y ("y pixels", Float) = 0
|
||||
_MX ("min x pixels", Float) = 16
|
||||
_MY ("min y pixels", Float) = 9
|
||||
_time ("time rate", Range(0,1)) = 0
|
||||
}
|
||||
SubShader {
|
||||
LOD 200
|
||||
Tags { "QUEUE"="Transparent" "RenderType"="Transparent" }
|
||||
Pass {
|
||||
Tags { "QUEUE"="Transparent" "RenderType"="Transparent" }
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
Program "vp" {
|
||||
SubProgram "gles " {
|
||||
"!!GLES
|
||||
|
||||
|
||||
#ifdef VERTEX
|
||||
|
||||
varying mediump vec4 xlv_TEXCOORD0;
|
||||
varying lowp vec4 xlv_COLOR0;
|
||||
uniform highp mat4 glstate_matrix_mvp;
|
||||
attribute vec4 _glesMultiTexCoord0;
|
||||
attribute vec4 _glesVertex;
|
||||
void main ()
|
||||
{
|
||||
gl_Position = (glstate_matrix_mvp * _glesVertex);
|
||||
xlv_COLOR0 = vec4(1.0, 1.0, 1.0, 1.0);
|
||||
xlv_TEXCOORD0 = _glesMultiTexCoord0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
#ifdef FRAGMENT
|
||||
|
||||
varying mediump vec4 xlv_TEXCOORD0;
|
||||
uniform mediump float _time;
|
||||
uniform mediump float _MY;
|
||||
uniform mediump float _MX;
|
||||
uniform mediump float _Y;
|
||||
uniform mediump float _X;
|
||||
uniform sampler2D _tex1;
|
||||
uniform sampler2D _tex0;
|
||||
void main ()
|
||||
{
|
||||
mediump float tmpvar_1;
|
||||
tmpvar_1 = (1.0 - sin((_time * 3.14)));
|
||||
mediump float tmpvar_2;
|
||||
tmpvar_2 = ((tmpvar_1 * _X) + _MX);
|
||||
mediump float tmpvar_3;
|
||||
tmpvar_3 = ((tmpvar_1 * _Y) + _MY);
|
||||
mediump vec2 tmpvar_4;
|
||||
tmpvar_4.x = max (0.0, min (1.0, (floor((xlv_TEXCOORD0.x * tmpvar_2)) / tmpvar_2)));
|
||||
tmpvar_4.y = max (0.0, min (1.0, (floor((xlv_TEXCOORD0.y * tmpvar_3)) / tmpvar_3)));
|
||||
lowp vec4 tmpvar_5;
|
||||
tmpvar_5 = texture2D (_tex0, tmpvar_4);
|
||||
mediump float tmpvar_6;
|
||||
mediump float t_7;
|
||||
t_7 = max (min ((((1.0 - _time) - 0.45) / 0.11), 1.0), 0.0);
|
||||
tmpvar_6 = (t_7 * (t_7 * (3.0 - (2.0 * t_7))));
|
||||
mediump vec4 tmpvar_8;
|
||||
tmpvar_8.xyz = tmpvar_5.xyz;
|
||||
tmpvar_8.w = tmpvar_6;
|
||||
lowp vec4 tmpvar_9;
|
||||
tmpvar_9 = texture2D (_tex1, tmpvar_4);
|
||||
mediump vec4 tmpvar_10;
|
||||
tmpvar_10.xyz = tmpvar_9.xyz;
|
||||
tmpvar_10.w = (1.0 - tmpvar_6);
|
||||
mediump vec4 tmpvar_11;
|
||||
tmpvar_11.xyz = ((tmpvar_8.xyz * tmpvar_6) + (tmpvar_10.xyz * tmpvar_10.w));
|
||||
tmpvar_11.w = (tmpvar_6 + tmpvar_10.w);
|
||||
gl_FragData[0] = tmpvar_11;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endif"
|
||||
}
|
||||
}
|
||||
Program "fp" {
|
||||
SubProgram "gles " {
|
||||
"!!GLES"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Fallback "VertexLit"
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
Shader "QO/Effect/CrossFade1" {
|
||||
Properties {
|
||||
_tex0 ("_tex0 : Original Image (RGBA)", 2D) = "white" {}
|
||||
_tex1 ("_tex1 : Transform Image (RGBA)", 2D) = "white" {}
|
||||
_time ("_time : TimeRate", Range(0,1)) = 0
|
||||
}
|
||||
SubShader {
|
||||
LOD 200
|
||||
Tags { "QUEUE"="Transparent" "RenderType"="Transparent" }
|
||||
Pass {
|
||||
Tags { "QUEUE"="Transparent" "RenderType"="Transparent" }
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
Program "vp" {
|
||||
SubProgram "gles " {
|
||||
"!!GLES
|
||||
|
||||
|
||||
#ifdef VERTEX
|
||||
|
||||
varying lowp vec2 xlv_TEXCOORD0;
|
||||
varying lowp vec4 xlv_COLOR0;
|
||||
uniform highp mat4 glstate_matrix_mvp;
|
||||
attribute vec4 _glesMultiTexCoord0;
|
||||
attribute vec4 _glesVertex;
|
||||
void main ()
|
||||
{
|
||||
lowp vec2 tmpvar_1;
|
||||
highp vec2 tmpvar_2;
|
||||
tmpvar_2 = _glesMultiTexCoord0.xy;
|
||||
tmpvar_1 = tmpvar_2;
|
||||
gl_Position = (glstate_matrix_mvp * _glesVertex);
|
||||
xlv_COLOR0 = vec4(1.0, 1.0, 1.0, 1.0);
|
||||
xlv_TEXCOORD0 = tmpvar_1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
#ifdef FRAGMENT
|
||||
|
||||
varying lowp vec2 xlv_TEXCOORD0;
|
||||
uniform lowp float _time;
|
||||
uniform sampler2D _tex1;
|
||||
uniform sampler2D _tex0;
|
||||
void main ()
|
||||
{
|
||||
mediump vec4 t0_1;
|
||||
highp float alpha_2;
|
||||
mediump vec4 toImage_3;
|
||||
mediump vec4 fromImage_4;
|
||||
lowp vec4 tmpvar_5;
|
||||
tmpvar_5 = texture2D (_tex0, xlv_TEXCOORD0);
|
||||
fromImage_4 = tmpvar_5;
|
||||
lowp vec4 tmpvar_6;
|
||||
tmpvar_6 = texture2D (_tex1, xlv_TEXCOORD0);
|
||||
toImage_3 = tmpvar_6;
|
||||
lowp float tmpvar_7;
|
||||
tmpvar_7 = min (1.0, max (0.0, _time));
|
||||
mediump float tmpvar_8;
|
||||
tmpvar_8 = (fromImage_4.w * (1.0 - tmpvar_7));
|
||||
alpha_2 = tmpvar_8;
|
||||
highp vec4 tmpvar_9;
|
||||
tmpvar_9.xyz = (fromImage_4.xyz * alpha_2);
|
||||
tmpvar_9.w = alpha_2;
|
||||
t0_1 = tmpvar_9;
|
||||
mediump vec4 tmpvar_10;
|
||||
tmpvar_10.w = 1.0;
|
||||
tmpvar_10.xyz = (t0_1.xyz + (toImage_3.xyz * (1.0 - t0_1.w)));
|
||||
gl_FragData[0] = tmpvar_10;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endif"
|
||||
}
|
||||
}
|
||||
Program "fp" {
|
||||
SubProgram "gles " {
|
||||
"!!GLES"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Fallback "VertexLit"
|
||||
}
|
||||
@@ -0,0 +1,98 @@
|
||||
Shader "QO/Effect/Transition1" {
|
||||
Properties {
|
||||
_tex0 ("_tex0 : Original Image (RGBA)", 2D) = "white" {}
|
||||
_tex1 ("_tex1 : Transform Image (RGBA)", 2D) = "white" {}
|
||||
_tex2 ("_tex2 : Pattern (GrayScale)", 2D) = "white" {}
|
||||
_time ("_time : TimeRate", Range(0,1)) = 0
|
||||
_grad ("_grad : Gradation Level", Float) = 0.1
|
||||
}
|
||||
SubShader {
|
||||
LOD 200
|
||||
Tags { "QUEUE"="Transparent" "RenderType"="Transparent" }
|
||||
Pass {
|
||||
Tags { "QUEUE"="Transparent" "RenderType"="Transparent" }
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
Program "vp" {
|
||||
SubProgram "gles " {
|
||||
"!!GLES
|
||||
|
||||
|
||||
#ifdef VERTEX
|
||||
|
||||
varying lowp vec2 xlv_TEXCOORD0;
|
||||
varying lowp vec4 xlv_COLOR0;
|
||||
uniform highp mat4 glstate_matrix_mvp;
|
||||
attribute vec4 _glesMultiTexCoord0;
|
||||
attribute vec4 _glesVertex;
|
||||
void main ()
|
||||
{
|
||||
lowp vec2 tmpvar_1;
|
||||
highp vec2 tmpvar_2;
|
||||
tmpvar_2 = _glesMultiTexCoord0.xy;
|
||||
tmpvar_1 = tmpvar_2;
|
||||
gl_Position = (glstate_matrix_mvp * _glesVertex);
|
||||
xlv_COLOR0 = vec4(1.0, 1.0, 1.0, 1.0);
|
||||
xlv_TEXCOORD0 = tmpvar_1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
#ifdef FRAGMENT
|
||||
|
||||
varying lowp vec2 xlv_TEXCOORD0;
|
||||
uniform lowp float _grad;
|
||||
uniform lowp float _time;
|
||||
uniform sampler2D _tex2;
|
||||
uniform sampler2D _tex1;
|
||||
uniform sampler2D _tex0;
|
||||
void main ()
|
||||
{
|
||||
mediump float grad_1;
|
||||
mediump vec4 toImage_2;
|
||||
mediump vec4 fromImage_3;
|
||||
mediump vec3 trans_4;
|
||||
lowp vec3 tmpvar_5;
|
||||
tmpvar_5 = texture2D (_tex2, xlv_TEXCOORD0).xyz;
|
||||
trans_4 = tmpvar_5;
|
||||
lowp vec4 tmpvar_6;
|
||||
tmpvar_6.w = 1.0;
|
||||
tmpvar_6.xyz = texture2D (_tex0, xlv_TEXCOORD0).xyz;
|
||||
fromImage_3 = tmpvar_6;
|
||||
lowp vec4 tmpvar_7;
|
||||
tmpvar_7.w = 1.0;
|
||||
tmpvar_7.xyz = texture2D (_tex1, xlv_TEXCOORD0).xyz;
|
||||
toImage_2 = tmpvar_7;
|
||||
lowp float tmpvar_8;
|
||||
tmpvar_8 = (_grad * 0.5);
|
||||
grad_1 = tmpvar_8;
|
||||
mediump float tmpvar_9;
|
||||
tmpvar_9 = max (0.0, (trans_4.x - grad_1));
|
||||
mediump float t_10;
|
||||
t_10 = max (min (((_time - tmpvar_9) / (min (1.0, (trans_4.x + grad_1)) - tmpvar_9)), 1.0), 0.0);
|
||||
mediump vec4 tmpvar_11;
|
||||
tmpvar_11.xyz = toImage_2.xyz;
|
||||
tmpvar_11.w = (toImage_2.w * (t_10 * (t_10 * (3.0 - (2.0 * t_10)))));
|
||||
mediump vec4 tmpvar_12;
|
||||
tmpvar_12.xyz = fromImage_3.xyz;
|
||||
tmpvar_12.w = (1.0 - tmpvar_11.w);
|
||||
mediump vec4 tmpvar_13;
|
||||
tmpvar_13.xyz = ((toImage_2.xyz * tmpvar_11.w) + (fromImage_3.xyz * tmpvar_12.w));
|
||||
tmpvar_13.w = (tmpvar_11.w + tmpvar_12.w);
|
||||
gl_FragData[0] = tmpvar_13;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endif"
|
||||
}
|
||||
}
|
||||
Program "fp" {
|
||||
SubProgram "gles " {
|
||||
"!!GLES"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Fallback "VertexLit"
|
||||
}
|
||||
@@ -0,0 +1,127 @@
|
||||
Shader "QO/Effect/Ripple" {
|
||||
Properties {
|
||||
_tex0 ("_tex0 : Original Image (RGBA)", 2D) = "white" {}
|
||||
_tex1 ("_tex1 : Transform Image (RGBA)", 2D) = "white" {}
|
||||
_time ("_time : time rate", Range(0,1)) = 0
|
||||
_pow ("_pow : screen wave power", Float) = 2
|
||||
_w ("_w : ripple wave width", Float) = 1.5
|
||||
_h ("_h : ripple wave height", Float) = 5
|
||||
_speed ("_speed : ripple wave speed", Float) = 2
|
||||
}
|
||||
SubShader {
|
||||
LOD 200
|
||||
Tags { "QUEUE"="Transparent" "RenderType"="Transparent" }
|
||||
Pass {
|
||||
Tags { "QUEUE"="Transparent" "RenderType"="Transparent" }
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
Program "vp" {
|
||||
SubProgram "gles " {
|
||||
"!!GLES
|
||||
|
||||
|
||||
#ifdef VERTEX
|
||||
|
||||
varying mediump vec2 xlv_TEXCOORD0;
|
||||
varying lowp vec4 xlv_COLOR0;
|
||||
uniform highp mat4 glstate_matrix_mvp;
|
||||
attribute vec4 _glesMultiTexCoord0;
|
||||
attribute vec4 _glesVertex;
|
||||
void main ()
|
||||
{
|
||||
mediump vec2 tmpvar_1;
|
||||
highp vec2 tmpvar_2;
|
||||
tmpvar_2 = _glesMultiTexCoord0.xy;
|
||||
tmpvar_1 = tmpvar_2;
|
||||
gl_Position = (glstate_matrix_mvp * _glesVertex);
|
||||
xlv_COLOR0 = vec4(1.0, 1.0, 1.0, 1.0);
|
||||
xlv_TEXCOORD0 = tmpvar_1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
#ifdef FRAGMENT
|
||||
|
||||
varying mediump vec2 xlv_TEXCOORD0;
|
||||
uniform mediump float _speed;
|
||||
uniform mediump float _w;
|
||||
uniform mediump float _h;
|
||||
uniform mediump float _pow;
|
||||
uniform mediump float _time;
|
||||
uniform sampler2D _tex1;
|
||||
uniform sampler2D _tex0;
|
||||
void main ()
|
||||
{
|
||||
lowp float check2_1;
|
||||
lowp float check1_2;
|
||||
mediump vec2 tmpvar_3;
|
||||
tmpvar_3.x = (xlv_TEXCOORD0.x - 0.5);
|
||||
tmpvar_3.y = ((xlv_TEXCOORD0.y - 0.5) * 0.5625);
|
||||
mediump float tmpvar_4;
|
||||
tmpvar_4 = (_time * _speed);
|
||||
mediump float tmpvar_5;
|
||||
tmpvar_5 = sqrt(dot (tmpvar_3, tmpvar_3));
|
||||
mediump float tmpvar_6;
|
||||
tmpvar_6 = (tmpvar_4 - (_w * 0.01));
|
||||
mediump float tmpvar_7;
|
||||
tmpvar_7 = ((_time - 0.25) * _speed);
|
||||
mediump float tmpvar_8;
|
||||
tmpvar_8 = sqrt(dot (tmpvar_3, tmpvar_3));
|
||||
mediump float tmpvar_9;
|
||||
tmpvar_9 = (tmpvar_7 - (_w * 0.01));
|
||||
mediump float tmpvar_10;
|
||||
tmpvar_10 = ((_time - 0.5) * _speed);
|
||||
mediump float tmpvar_11;
|
||||
tmpvar_11 = sqrt(dot (tmpvar_3, tmpvar_3));
|
||||
mediump float tmpvar_12;
|
||||
tmpvar_12 = (tmpvar_10 - (_w * 0.01));
|
||||
mediump float tmpvar_13;
|
||||
tmpvar_13 = ((_time - 0.75) * _speed);
|
||||
mediump float tmpvar_14;
|
||||
tmpvar_14 = sqrt(dot (tmpvar_3, tmpvar_3));
|
||||
mediump float tmpvar_15;
|
||||
tmpvar_15 = (tmpvar_13 - (_w * 0.01));
|
||||
mediump float tmpvar_16;
|
||||
tmpvar_16 = (1.0 - _time);
|
||||
mediump vec2 tmpvar_17;
|
||||
tmpvar_17 = ((((((tmpvar_3 * ((sin((((tmpvar_4 - tmpvar_5) / (tmpvar_4 - tmpvar_6)) * 3.14159)) * _h) * 0.02)) * float(((float(((tmpvar_5 - tmpvar_6) >= 0.0)) + float(((tmpvar_4 - tmpvar_5) >= 0.0))) >= 2.0))) + ((tmpvar_3 * ((sin((((tmpvar_7 - tmpvar_8) / (tmpvar_7 - tmpvar_9)) * 3.14159)) * _h) * 0.02)) * float(((float(((tmpvar_8 - tmpvar_9) >= 0.0)) + float(((tmpvar_7 - tmpvar_8) >= 0.0))) >= 2.0)))) + ((tmpvar_3 * ((sin((((tmpvar_10 - tmpvar_11) / (tmpvar_10 - tmpvar_12)) * 3.14159)) * _h) * 0.02)) * float(((float(((tmpvar_11 - tmpvar_12) >= 0.0)) + float(((tmpvar_10 - tmpvar_11) >= 0.0))) >= 2.0)))) + ((tmpvar_3 * ((sin((((tmpvar_13 - tmpvar_14) / (tmpvar_13 - tmpvar_15)) * 3.14159)) * _h) * 0.02)) * float(((float(((tmpvar_14 - tmpvar_15) >= 0.0)) + float(((tmpvar_13 - tmpvar_14) >= 0.0))) >= 2.0)))) * tmpvar_16);
|
||||
mediump vec2 tmpvar_18;
|
||||
tmpvar_18 = (xlv_TEXCOORD0 + (((tmpvar_3 * (sin((50.2654 * (sqrt(dot (tmpvar_3, tmpvar_3)) * _time))) * (_pow * 0.01))) * tmpvar_16) + tmpvar_17));
|
||||
mediump float tmpvar_19;
|
||||
tmpvar_19 = float((-0.01 >= (xlv_TEXCOORD0.y + tmpvar_17.y)));
|
||||
check1_2 = tmpvar_19;
|
||||
mediump float tmpvar_20;
|
||||
tmpvar_20 = float((-0.01 >= (1.0 - (xlv_TEXCOORD0.y + tmpvar_17.y))));
|
||||
check2_1 = tmpvar_20;
|
||||
lowp float tmpvar_21;
|
||||
tmpvar_21 = float((0.0 >= (check1_2 + check2_1)));
|
||||
lowp vec4 tmpvar_22;
|
||||
tmpvar_22 = texture2D (_tex0, tmpvar_18);
|
||||
mediump vec4 tmpvar_23;
|
||||
tmpvar_23.xyz = tmpvar_22.xyz;
|
||||
tmpvar_23.w = (1.0 - _time);
|
||||
lowp vec4 tmpvar_24;
|
||||
tmpvar_24 = texture2D (_tex1, tmpvar_18);
|
||||
mediump vec4 tmpvar_25;
|
||||
tmpvar_25.xyz = tmpvar_24.xyz;
|
||||
tmpvar_25.w = (1.0 - tmpvar_23.w);
|
||||
mediump vec4 tmpvar_26;
|
||||
tmpvar_26.xyz = (((tmpvar_23.xyz * tmpvar_23.w) + (tmpvar_25.xyz * tmpvar_25.w)) * tmpvar_21);
|
||||
tmpvar_26.w = (tmpvar_23.w + tmpvar_25.w);
|
||||
gl_FragData[0] = tmpvar_26;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endif"
|
||||
}
|
||||
}
|
||||
Program "fp" {
|
||||
SubProgram "gles " {
|
||||
"!!GLES"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Fallback "VertexLit"
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
Shader "QO/Effect/Transition"
|
||||
{
|
||||
Properties
|
||||
{
|
||||
_tex0 ("_tex0 : Original Image (RGBA)", 2D) = "white" {}
|
||||
_tex1 ("_tex1 : Transform Image (RGBA)", 2D) = "white" {}
|
||||
_tex2 ("_tex2 : Pattern (GrayScale)", 2D) = "white" {}
|
||||
_time ("_time : TimeRate", Range(0,1)) = 0
|
||||
_grad ("_grad : Gradation Level", Float) = 0.1
|
||||
}
|
||||
|
||||
SubShader
|
||||
{
|
||||
LOD 200
|
||||
Tags { "QUEUE"="Transparent" "RenderType"="Transparent" }
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
Lighting Off
|
||||
|
||||
Pass
|
||||
{
|
||||
ZTest Always ZWrite Off
|
||||
Fog { Mode off }
|
||||
|
||||
|
||||
CGPROGRAM
|
||||
#pragma vertex vert_img
|
||||
#pragma fragment frag
|
||||
#pragma fragmentoption ARB_precision_hint_fastest
|
||||
#include "UnityCG.cginc"
|
||||
|
||||
|
||||
uniform sampler2D _tex0;
|
||||
uniform sampler2D _tex1;
|
||||
uniform sampler2D _tex2;
|
||||
uniform float _time;
|
||||
uniform float _grad;
|
||||
|
||||
|
||||
fixed4 frag( v2f_img i ):COLOR
|
||||
{
|
||||
fixed4 texColor = tex2D( _tex0, i.uv );
|
||||
fixed4 texColor1 = tex2D( _tex1, i.uv );
|
||||
fixed4 texColor2 = tex2D( _tex2, i.uv );
|
||||
float addition = _time + _grad;
|
||||
float4 smoothstep1 = smoothstep(_time , addition, texColor2);
|
||||
return lerp( texColor1, texColor, smoothstep1 );
|
||||
}
|
||||
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
|
||||
FallBack off
|
||||
}
|
||||
@@ -0,0 +1,111 @@
|
||||
Shader "QO/Effect/Wave" {
|
||||
Properties {
|
||||
_tex0 ("_tex0 : Original Image (RGBA)", 2D) = "white" {}
|
||||
_tex1 ("_tex1 : Transform Image (RGBA)", 2D) = "white" {}
|
||||
_power ("_power : Wave Power", Float) = 0
|
||||
_count ("_count : Go Return Count", Float) = 0
|
||||
_time ("_time : Time Rate (0 to 1)", Range(0,1)) = 0
|
||||
}
|
||||
SubShader {
|
||||
LOD 200
|
||||
Tags { "QUEUE"="Transparent" "RenderType"="Transparent" }
|
||||
Pass {
|
||||
Tags { "QUEUE"="Transparent" "RenderType"="Transparent" }
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
Program "vp" {
|
||||
SubProgram "gles " {
|
||||
"!!GLES
|
||||
|
||||
|
||||
#ifdef VERTEX
|
||||
|
||||
varying lowp vec2 xlv_TEXCOORD0;
|
||||
varying lowp vec4 xlv_COLOR0;
|
||||
uniform highp mat4 glstate_matrix_mvp;
|
||||
attribute vec4 _glesMultiTexCoord0;
|
||||
attribute vec4 _glesVertex;
|
||||
void main ()
|
||||
{
|
||||
lowp vec2 tmpvar_1;
|
||||
highp vec2 tmpvar_2;
|
||||
tmpvar_2 = _glesMultiTexCoord0.xy;
|
||||
tmpvar_1 = tmpvar_2;
|
||||
gl_Position = (glstate_matrix_mvp * _glesVertex);
|
||||
xlv_COLOR0 = vec4(1.0, 1.0, 1.0, 1.0);
|
||||
xlv_TEXCOORD0 = tmpvar_1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
#ifdef FRAGMENT
|
||||
|
||||
varying lowp vec2 xlv_TEXCOORD0;
|
||||
uniform highp float _time;
|
||||
uniform highp float _count;
|
||||
uniform highp float _power;
|
||||
uniform sampler2D _tex1;
|
||||
uniform sampler2D _tex0;
|
||||
void main ()
|
||||
{
|
||||
mediump vec4 t0_1;
|
||||
lowp float check2_2;
|
||||
lowp float check1_3;
|
||||
mediump float wave_4;
|
||||
mediump float theta_5;
|
||||
mediump float sin_omega_6;
|
||||
highp float tmpvar_7;
|
||||
tmpvar_7 = sin((_time * 3.14159));
|
||||
sin_omega_6 = tmpvar_7;
|
||||
highp float tmpvar_8;
|
||||
tmpvar_8 = (((sin_omega_6 * 3.14159) * (_count * 2.0)) * (0.5 - xlv_TEXCOORD0.y));
|
||||
theta_5 = tmpvar_8;
|
||||
mediump float tmpvar_9;
|
||||
tmpvar_9 = cos(theta_5);
|
||||
highp float tmpvar_10;
|
||||
tmpvar_10 = ((tmpvar_9 * sin_omega_6) * _power);
|
||||
wave_4 = tmpvar_10;
|
||||
mediump float tmpvar_11;
|
||||
tmpvar_11 = (xlv_TEXCOORD0.x + wave_4);
|
||||
mediump vec2 tmpvar_12;
|
||||
tmpvar_12.x = tmpvar_11;
|
||||
tmpvar_12.y = xlv_TEXCOORD0.y;
|
||||
mediump float tmpvar_13;
|
||||
tmpvar_13 = float((-0.01 >= tmpvar_11));
|
||||
check1_3 = tmpvar_13;
|
||||
mediump float tmpvar_14;
|
||||
tmpvar_14 = float((-0.01 >= (1.0 - tmpvar_11)));
|
||||
check2_2 = tmpvar_14;
|
||||
lowp float tmpvar_15;
|
||||
tmpvar_15 = float((0.0 >= (check1_3 + check2_2)));
|
||||
lowp vec4 tmpvar_16;
|
||||
tmpvar_16 = texture2D (_tex0, tmpvar_12);
|
||||
highp vec4 tmpvar_17;
|
||||
tmpvar_17.xyz = tmpvar_16.xyz;
|
||||
tmpvar_17.w = (1.0 - _time);
|
||||
t0_1 = tmpvar_17;
|
||||
lowp vec4 tmpvar_18;
|
||||
tmpvar_18 = texture2D (_tex1, tmpvar_12);
|
||||
mediump vec4 tmpvar_19;
|
||||
tmpvar_19.xyz = tmpvar_18.xyz;
|
||||
tmpvar_19.w = (1.0 - t0_1.w);
|
||||
mediump vec4 tmpvar_20;
|
||||
tmpvar_20.xyz = (((t0_1.xyz * t0_1.w) + (tmpvar_19.xyz * tmpvar_19.w)) * tmpvar_15);
|
||||
tmpvar_20.w = (t0_1.w + tmpvar_19.w);
|
||||
gl_FragData[0] = tmpvar_20;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endif"
|
||||
}
|
||||
}
|
||||
Program "fp" {
|
||||
SubProgram "gles " {
|
||||
"!!GLES"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Fallback "VertexLit"
|
||||
}
|
||||
Reference in New Issue
Block a user