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" }