You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
2.3 KiB
Plaintext
98 lines
2.3 KiB
Plaintext
|
4 years ago
|
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"
|
||
|
|
}
|