shader fixes
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
Shader "QO/Unlit/Color" {
|
||||
Properties {
|
||||
_Color ("Color & Transparency", Color) = (0,0,0,0.5)
|
||||
}
|
||||
SubShader {
|
||||
Tags { "QUEUE"="Transparent" }
|
||||
Pass {
|
||||
Tags { "QUEUE"="Transparent" }
|
||||
Color [_Color]
|
||||
ZWrite Off
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
}
|
||||
}
|
||||
Fallback "Unlit/Transparent"
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
Shader "Color Space/YCrCbtoRGB Add" {
|
||||
Properties {
|
||||
_YTex ("Y (RGB)", 2D) = "white" {}
|
||||
_CbTex ("Cb (RGB)", 2D) = "white" {}
|
||||
_CrTex ("Cr (RGB)", 2D) = "white" {}
|
||||
}
|
||||
SubShader {
|
||||
Tags { "QUEUE"="Overlay" "RenderType"="Opaque" }
|
||||
Pass {
|
||||
Tags { "QUEUE"="Overlay" "RenderType"="Opaque" }
|
||||
Fog {
|
||||
Color (0,0,0,0)
|
||||
}
|
||||
Blend One One
|
||||
ColorMask RGB
|
||||
Program "vp" {
|
||||
SubProgram "gles " {
|
||||
"!!GLES
|
||||
|
||||
|
||||
#ifdef VERTEX
|
||||
|
||||
varying highp vec2 xlv_TEXCOORD0;
|
||||
uniform highp vec4 _YTex_ST;
|
||||
uniform highp mat4 glstate_matrix_mvp;
|
||||
attribute vec4 _glesMultiTexCoord0;
|
||||
attribute vec4 _glesVertex;
|
||||
void main ()
|
||||
{
|
||||
gl_Position = (glstate_matrix_mvp * _glesVertex);
|
||||
xlv_TEXCOORD0 = ((_glesMultiTexCoord0.xy * _YTex_ST.xy) + _YTex_ST.zw);
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
#ifdef FRAGMENT
|
||||
|
||||
varying highp vec2 xlv_TEXCOORD0;
|
||||
uniform sampler2D _CrTex;
|
||||
uniform sampler2D _CbTex;
|
||||
uniform sampler2D _YTex;
|
||||
void main ()
|
||||
{
|
||||
mediump vec4 rgbVec_1;
|
||||
mediump vec4 yuvVec_2;
|
||||
lowp vec4 tmpvar_3;
|
||||
tmpvar_3.w = 1.0;
|
||||
tmpvar_3.x = texture2D (_YTex, xlv_TEXCOORD0).x;
|
||||
tmpvar_3.y = texture2D (_CbTex, xlv_TEXCOORD0).y;
|
||||
tmpvar_3.z = texture2D (_CrTex, xlv_TEXCOORD0).z;
|
||||
yuvVec_2 = tmpvar_3;
|
||||
rgbVec_1.x = dot (vec4(1.16438, 0.0, 1.59603, -0.870785), yuvVec_2);
|
||||
rgbVec_1.y = dot (vec4(1.16438, -0.391762, -0.812969, 0.529594), yuvVec_2);
|
||||
rgbVec_1.z = dot (vec4(1.16438, 2.01723, 0.0, -1.08139), yuvVec_2);
|
||||
rgbVec_1.w = 0.3;
|
||||
gl_FragData[0] = rgbVec_1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endif"
|
||||
}
|
||||
}
|
||||
Program "fp" {
|
||||
SubProgram "gles " {
|
||||
"!!GLES"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Fallback "VertexLit"
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
Shader "Color Space/YCrCbtoRGB" {
|
||||
Properties {
|
||||
_YTex ("Y (RGB)", 2D) = "white" {}
|
||||
_CrTex ("Cr (RGB)", 2D) = "white" {}
|
||||
_CbTex ("Cb (RGB)", 2D) = "white" {}
|
||||
}
|
||||
SubShader {
|
||||
Tags { "RenderType"="Opaque" }
|
||||
Pass {
|
||||
Tags { "RenderType"="Opaque" }
|
||||
Fog {
|
||||
Color (0,0,0,0)
|
||||
}
|
||||
ColorMask RGB
|
||||
Program "vp" {
|
||||
SubProgram "gles " {
|
||||
"!!GLES
|
||||
#define SHADER_API_GLES 1
|
||||
#define tex2D texture2D
|
||||
|
||||
|
||||
#ifdef VERTEX
|
||||
#define gl_ModelViewProjectionMatrix glstate_matrix_mvp
|
||||
uniform mat4 glstate_matrix_mvp;
|
||||
|
||||
varying mediump vec2 xlv_TEXCOORD1;
|
||||
varying mediump vec2 xlv_TEXCOORD0;
|
||||
|
||||
uniform highp vec4 _YTex_ST;
|
||||
uniform highp vec4 _CbTex_ST;
|
||||
attribute vec4 _glesMultiTexCoord0;
|
||||
attribute vec4 _glesVertex;
|
||||
void main ()
|
||||
{
|
||||
mediump vec2 tmpvar_1;
|
||||
mediump vec2 tmpvar_2;
|
||||
highp vec2 tmpvar_3;
|
||||
tmpvar_3 = ((_glesMultiTexCoord0.xy * _YTex_ST.xy) + _YTex_ST.zw);
|
||||
tmpvar_1 = tmpvar_3;
|
||||
highp vec2 tmpvar_4;
|
||||
tmpvar_4 = ((_glesMultiTexCoord0.xy * _CbTex_ST.xy) + _CbTex_ST.zw);
|
||||
tmpvar_2 = tmpvar_4;
|
||||
gl_Position = (gl_ModelViewProjectionMatrix * _glesVertex);
|
||||
xlv_TEXCOORD0 = tmpvar_1;
|
||||
xlv_TEXCOORD1 = tmpvar_2;
|
||||
}
|
||||
|
||||
#endif
|
||||
#ifdef FRAGMENT
|
||||
|
||||
varying mediump vec2 xlv_TEXCOORD1;
|
||||
varying mediump vec2 xlv_TEXCOORD0;
|
||||
uniform sampler2D _YTex;
|
||||
uniform sampler2D _CrTex;
|
||||
uniform sampler2D _CbTex;
|
||||
void main ()
|
||||
{
|
||||
lowp vec4 rgbVec;
|
||||
lowp vec4 tmpvar_1;
|
||||
tmpvar_1.w = 1.0;
|
||||
tmpvar_1.x = texture2D (_YTex, xlv_TEXCOORD0).x;
|
||||
tmpvar_1.y = texture2D (_CrTex, xlv_TEXCOORD1).y;
|
||||
tmpvar_1.z = texture2D (_CbTex, xlv_TEXCOORD1).z;
|
||||
rgbVec.x = dot (vec4(1.16438, 0.0, 1.59603, -0.870785), tmpvar_1);
|
||||
rgbVec.y = dot (vec4(1.16438, -0.391762, -0.812969, 0.529594), tmpvar_1);
|
||||
rgbVec.z = dot (vec4(1.16438, 2.01723, 0.0, -1.08139), tmpvar_1);
|
||||
rgbVec.w = 1.0;
|
||||
gl_FragData[0] = rgbVec;
|
||||
}
|
||||
|
||||
#endif"
|
||||
}
|
||||
}
|
||||
Program "fp" {
|
||||
SubProgram "gles " {
|
||||
"!!GLES"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,90 @@
|
||||
Shader "Color Space/YCrCbtoRGB Chroma Key" {
|
||||
Properties {
|
||||
_YTex ("Y (RGB)", 2D) = "white" {}
|
||||
_CrTex ("Cr (RGB)", 2D) = "white" {}
|
||||
_CbTex ("Cb (RGB)", 2D) = "white" {}
|
||||
_KeyYCrCb ("Key Color YCrCb", Vector) = (0,0,0,-0.6)
|
||||
_KeyScale ("Comparison Scale", Vector) = (0.2,1,1,4.5)
|
||||
}
|
||||
SubShader {
|
||||
Tags { "QUEUE"="Transparent" "IGNOREPROJECTOR"="True" "RenderType"="Transparent" }
|
||||
Pass {
|
||||
Tags { "QUEUE"="Transparent" "IGNOREPROJECTOR"="True" "RenderType"="Transparent" }
|
||||
ZWrite Off
|
||||
Fog {
|
||||
Color (0,0,0,0)
|
||||
}
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
Program "vp" {
|
||||
SubProgram "gles " {
|
||||
"!!GLES
|
||||
#define SHADER_API_GLES 1
|
||||
#define tex2D texture2D
|
||||
|
||||
|
||||
#ifdef VERTEX
|
||||
#define gl_ModelViewProjectionMatrix glstate_matrix_mvp
|
||||
uniform mat4 glstate_matrix_mvp;
|
||||
|
||||
varying mediump vec2 xlv_TEXCOORD1;
|
||||
varying mediump vec2 xlv_TEXCOORD0;
|
||||
|
||||
uniform highp vec4 _YTex_ST;
|
||||
uniform highp vec4 _CbTex_ST;
|
||||
attribute vec4 _glesMultiTexCoord0;
|
||||
attribute vec4 _glesVertex;
|
||||
void main ()
|
||||
{
|
||||
mediump vec2 tmpvar_1;
|
||||
mediump vec2 tmpvar_2;
|
||||
highp vec2 tmpvar_3;
|
||||
tmpvar_3 = ((_glesMultiTexCoord0.xy * _YTex_ST.xy) + _YTex_ST.zw);
|
||||
tmpvar_1 = tmpvar_3;
|
||||
highp vec2 tmpvar_4;
|
||||
tmpvar_4 = ((_glesMultiTexCoord0.xy * _CbTex_ST.xy) + _CbTex_ST.zw);
|
||||
tmpvar_2 = tmpvar_4;
|
||||
gl_Position = (gl_ModelViewProjectionMatrix * _glesVertex);
|
||||
xlv_TEXCOORD0 = tmpvar_1;
|
||||
xlv_TEXCOORD1 = tmpvar_2;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
#ifdef FRAGMENT
|
||||
|
||||
varying mediump vec2 xlv_TEXCOORD1;
|
||||
varying mediump vec2 xlv_TEXCOORD0;
|
||||
uniform sampler2D _YTex;
|
||||
uniform mediump vec4 _KeyYCrCb;
|
||||
uniform mediump vec4 _KeyScale;
|
||||
uniform sampler2D _CrTex;
|
||||
uniform sampler2D _CbTex;
|
||||
void main ()
|
||||
{
|
||||
lowp vec4 rgbVec;
|
||||
lowp vec4 tmpvar_1;
|
||||
tmpvar_1.w = 1.0;
|
||||
tmpvar_1.x = texture2D (_YTex, xlv_TEXCOORD0).x;
|
||||
tmpvar_1.y = texture2D (_CrTex, xlv_TEXCOORD1).y;
|
||||
tmpvar_1.z = texture2D (_CbTex, xlv_TEXCOORD1).z;
|
||||
rgbVec.x = dot (vec4(1.16438, 0.0, 1.59603, -0.870785), tmpvar_1);
|
||||
rgbVec.y = dot (vec4(1.16438, -0.391762, -0.812969, 0.529594), tmpvar_1);
|
||||
rgbVec.z = dot (vec4(1.16438, 2.01723, 0.0, -1.08139), tmpvar_1);
|
||||
mediump float tmpvar_2;
|
||||
tmpvar_2 = ((length (((tmpvar_1.xyz - _KeyYCrCb.xyz) * _KeyScale.xyz)) + _KeyYCrCb.w) * _KeyScale.w);
|
||||
rgbVec.w = tmpvar_2;
|
||||
gl_FragData[0] = rgbVec;
|
||||
}
|
||||
|
||||
#endif"
|
||||
}
|
||||
}
|
||||
Program "fp" {
|
||||
SubProgram "gles " {
|
||||
"!!GLES"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
Shader "Color Space/YCrCbtoRGB Split Alpha" {
|
||||
Properties {
|
||||
_YTex ("Y (RGB)", 2D) = "white" {}
|
||||
_CrTex ("Cr (RGB)", 2D) = "white" {}
|
||||
_CbTex ("Cb (RGB)", 2D) = "white" {}
|
||||
}
|
||||
SubShader {
|
||||
Tags { "QUEUE"="Transparent" "IGNOREPROJECTOR"="True" "RenderType"="Transparent" }
|
||||
Pass {
|
||||
Tags { "QUEUE"="Transparent" "IGNOREPROJECTOR"="True" "RenderType"="Transparent" }
|
||||
ZWrite Off
|
||||
Fog {
|
||||
Color (0,0,0,0)
|
||||
}
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
ColorMask RGB
|
||||
Program "vp" {
|
||||
SubProgram "gles " {
|
||||
"!!GLES
|
||||
#define SHADER_API_GLES 1
|
||||
#define tex2D texture2D
|
||||
|
||||
|
||||
#ifdef VERTEX
|
||||
#define gl_ModelViewProjectionMatrix glstate_matrix_mvp
|
||||
uniform mat4 glstate_matrix_mvp;
|
||||
|
||||
varying mediump vec2 xlv_TEXCOORD2;
|
||||
varying mediump vec2 xlv_TEXCOORD1;
|
||||
varying mediump vec2 xlv_TEXCOORD0;
|
||||
|
||||
uniform highp vec4 _YTex_ST;
|
||||
uniform highp vec4 _CbTex_ST;
|
||||
attribute vec4 _glesMultiTexCoord0;
|
||||
attribute vec4 _glesVertex;
|
||||
void main ()
|
||||
{
|
||||
highp vec4 texcoordTop;
|
||||
highp vec4 texcoordBottom;
|
||||
mediump vec2 tmpvar_1;
|
||||
mediump vec2 tmpvar_2;
|
||||
mediump vec2 tmpvar_3;
|
||||
texcoordBottom = _glesMultiTexCoord0;
|
||||
texcoordBottom.y = (_glesMultiTexCoord0.y / 2.0);
|
||||
texcoordTop = _glesMultiTexCoord0;
|
||||
texcoordTop.y = (texcoordBottom.y + 0.5);
|
||||
highp vec2 tmpvar_4;
|
||||
tmpvar_4 = ((texcoordTop.xy * _YTex_ST.xy) + _YTex_ST.zw);
|
||||
tmpvar_1 = tmpvar_4;
|
||||
highp vec2 tmpvar_5;
|
||||
tmpvar_5 = ((texcoordBottom.xy * _YTex_ST.xy) + _YTex_ST.zw);
|
||||
tmpvar_2 = tmpvar_5;
|
||||
highp vec2 tmpvar_6;
|
||||
tmpvar_6 = ((texcoordTop.xy * _CbTex_ST.xy) + _CbTex_ST.zw);
|
||||
tmpvar_3 = tmpvar_6;
|
||||
gl_Position = (gl_ModelViewProjectionMatrix * _glesVertex);
|
||||
xlv_TEXCOORD0 = tmpvar_1;
|
||||
xlv_TEXCOORD1 = tmpvar_2;
|
||||
xlv_TEXCOORD2 = tmpvar_3;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
#ifdef FRAGMENT
|
||||
|
||||
varying mediump vec2 xlv_TEXCOORD2;
|
||||
varying mediump vec2 xlv_TEXCOORD1;
|
||||
varying mediump vec2 xlv_TEXCOORD0;
|
||||
uniform sampler2D _YTex;
|
||||
uniform sampler2D _CrTex;
|
||||
uniform sampler2D _CbTex;
|
||||
void main ()
|
||||
{
|
||||
lowp vec4 rgbVec;
|
||||
lowp vec4 tmpvar_1;
|
||||
tmpvar_1.w = 1.0;
|
||||
tmpvar_1.x = texture2D (_YTex, xlv_TEXCOORD0).x;
|
||||
tmpvar_1.y = texture2D (_CrTex, xlv_TEXCOORD2).y;
|
||||
tmpvar_1.z = texture2D (_CbTex, xlv_TEXCOORD2).z;
|
||||
rgbVec.x = dot (vec4(1.16438, 0.0, 1.59603, -0.870785), tmpvar_1);
|
||||
rgbVec.y = dot (vec4(1.16438, -0.391762, -0.812969, 0.529594), tmpvar_1);
|
||||
rgbVec.z = dot (vec4(1.16438, 2.01723, 0.0, -1.08139), tmpvar_1);
|
||||
rgbVec.w = ((texture2D (_YTex, xlv_TEXCOORD1).y - 0.0627451) * 1.16438);
|
||||
gl_FragData[0] = rgbVec;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endif"
|
||||
}
|
||||
}
|
||||
Program "fp" {
|
||||
SubProgram "gles " {
|
||||
"!!GLES"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,90 @@
|
||||
Shader "Color Space/YCrCbtoRGB Trans" {
|
||||
Properties {
|
||||
_YTex ("Y (RGB)", 2D) = "white" {}
|
||||
_CrTex ("Cr (RGB)", 2D) = "white" {}
|
||||
_CbTex ("Cb (RGB)", 2D) = "white" {}
|
||||
_TintColor ("Color", Color) = (1,1,1,1)
|
||||
}
|
||||
SubShader {
|
||||
Tags { "QUEUE"="Transparent" "IGNOREPROJECTOR"="True" "RenderType"="Transparent" }
|
||||
Pass {
|
||||
Tags { "QUEUE"="Transparent" "IGNOREPROJECTOR"="True" "RenderType"="Transparent" }
|
||||
ZWrite Off
|
||||
Fog {
|
||||
Color (0,0,0,0)
|
||||
}
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
ColorMask RGB
|
||||
Program "vp" {
|
||||
SubProgram "gles " {
|
||||
"!!GLES
|
||||
#define SHADER_API_GLES 1
|
||||
#define tex2D texture2D
|
||||
|
||||
|
||||
#ifdef VERTEX
|
||||
#define gl_ModelViewProjectionMatrix glstate_matrix_mvp
|
||||
uniform mat4 glstate_matrix_mvp;
|
||||
|
||||
varying mediump vec2 xlv_TEXCOORD1;
|
||||
varying mediump vec2 xlv_TEXCOORD0;
|
||||
|
||||
uniform highp vec4 _YTex_ST;
|
||||
uniform highp vec4 _CbTex_ST;
|
||||
attribute vec4 _glesMultiTexCoord0;
|
||||
attribute vec4 _glesVertex;
|
||||
void main ()
|
||||
{
|
||||
mediump vec2 tmpvar_1;
|
||||
mediump vec2 tmpvar_2;
|
||||
highp vec2 tmpvar_3;
|
||||
tmpvar_3 = ((_glesMultiTexCoord0.xy * _YTex_ST.xy) + _YTex_ST.zw);
|
||||
tmpvar_1 = tmpvar_3;
|
||||
highp vec2 tmpvar_4;
|
||||
tmpvar_4 = ((_glesMultiTexCoord0.xy * _CbTex_ST.xy) + _CbTex_ST.zw);
|
||||
tmpvar_2 = tmpvar_4;
|
||||
gl_Position = (gl_ModelViewProjectionMatrix * _glesVertex);
|
||||
xlv_TEXCOORD0 = tmpvar_1;
|
||||
xlv_TEXCOORD1 = tmpvar_2;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
#ifdef FRAGMENT
|
||||
|
||||
varying mediump vec2 xlv_TEXCOORD1;
|
||||
varying mediump vec2 xlv_TEXCOORD0;
|
||||
uniform sampler2D _YTex;
|
||||
uniform lowp vec4 _TintColor;
|
||||
uniform sampler2D _CrTex;
|
||||
uniform sampler2D _CbTex;
|
||||
void main ()
|
||||
{
|
||||
lowp vec4 rgbVec;
|
||||
lowp vec4 tmpvar_1;
|
||||
tmpvar_1.w = 1.0;
|
||||
tmpvar_1.x = texture2D (_YTex, xlv_TEXCOORD0).x;
|
||||
tmpvar_1.y = texture2D (_CrTex, xlv_TEXCOORD1).y;
|
||||
tmpvar_1.z = texture2D (_CbTex, xlv_TEXCOORD1).z;
|
||||
rgbVec.x = dot (vec4(1.16438, 0.0, 1.59603, -0.870785), tmpvar_1);
|
||||
rgbVec.y = dot (vec4(1.16438, -0.391762, -0.812969, 0.529594), tmpvar_1);
|
||||
rgbVec.z = dot (vec4(1.16438, 2.01723, 0.0, -1.08139), tmpvar_1);
|
||||
rgbVec.w = 1.0;
|
||||
lowp vec4 tmpvar_2;
|
||||
tmpvar_2 = (rgbVec * _TintColor);
|
||||
rgbVec = tmpvar_2;
|
||||
gl_FragData[0] = tmpvar_2;
|
||||
}
|
||||
|
||||
#endif"
|
||||
}
|
||||
}
|
||||
Program "fp" {
|
||||
SubProgram "gles " {
|
||||
"!!GLES"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
Shader "QO/Sprite Add"
|
||||
{
|
||||
Properties
|
||||
{
|
||||
_MainTex ("Base (RGBA)", 2D) = "white" {}
|
||||
_Color ("Color", Color) = (1,1,1,1)
|
||||
_UVWH ("UVWH", Vector) = (0,0,1,1)
|
||||
}
|
||||
|
||||
SubShader
|
||||
{
|
||||
LOD 200
|
||||
|
||||
Tags { "QUEUE"="Transparent" "RenderType"="Transparent" }
|
||||
Pass {
|
||||
Blend SrcAlpha One
|
||||
|
||||
CGPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
|
||||
#include "UnityCG.cginc"
|
||||
|
||||
sampler2D _MainTex;
|
||||
half4 _Color;
|
||||
float4 _UVWH;
|
||||
|
||||
struct appdata_t
|
||||
{
|
||||
float4 vertex : POSITION;
|
||||
half4 color : COLOR;
|
||||
float2 texcoord : TEXCOORD0;
|
||||
};
|
||||
|
||||
struct v2f
|
||||
{
|
||||
float4 vertex : POSITION;
|
||||
half4 color : COLOR;
|
||||
float2 texcoord : TEXCOORD0;
|
||||
};
|
||||
|
||||
v2f vert (appdata_t v)
|
||||
{
|
||||
v2f o;
|
||||
float2 uv_2 = _UVWH.xy;
|
||||
float2 wh_1 = _UVWH.zw;
|
||||
o.color = v.color;
|
||||
o.vertex = mul(UNITY_MATRIX_MVP, v.vertex);
|
||||
o.texcoord = ((v.texcoord * wh_1) + uv_2);
|
||||
return o;
|
||||
}
|
||||
|
||||
half4 frag (v2f IN) : COLOR
|
||||
{
|
||||
float4 tex = tex2D(_MainTex, IN.texcoord);
|
||||
float4 tmpvar_1 = (tex * _Color);
|
||||
return tmpvar_1;
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
Fallback Off
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
Shader "QO/Sprite Back"
|
||||
{
|
||||
Properties
|
||||
{
|
||||
_MainTex ("Base (RGBA)", 2D) = "white" {}
|
||||
_Color ("Color", Color) = (1,1,1,1)
|
||||
_UVWH ("UVWH", Vector) = (0,0,1,1)
|
||||
}
|
||||
|
||||
SubShader {
|
||||
LOD 200
|
||||
Tags { "QUEUE"="Background" "RenderType"="Background" }
|
||||
Pass {
|
||||
ZTest Always
|
||||
Cull Off
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
|
||||
CGPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
|
||||
#include "UnityCG.cginc"
|
||||
|
||||
sampler2D _MainTex;
|
||||
half4 _Color;
|
||||
float4 _UVWH;
|
||||
|
||||
struct appdata_t
|
||||
{
|
||||
float4 vertex : POSITION;
|
||||
half4 color : COLOR;
|
||||
float2 texcoord : TEXCOORD0;
|
||||
};
|
||||
|
||||
struct v2f
|
||||
{
|
||||
float4 vertex : POSITION;
|
||||
half4 color : COLOR;
|
||||
float2 texcoord : TEXCOORD0;
|
||||
};
|
||||
|
||||
v2f vert (appdata_t v)
|
||||
{
|
||||
v2f o;
|
||||
float2 uv_2 = _UVWH.xy;
|
||||
float2 wh_1 = _UVWH.zw;
|
||||
o.color = v.color;
|
||||
o.vertex = mul(UNITY_MATRIX_MVP, v.vertex);
|
||||
o.texcoord = ((v.texcoord * wh_1) + uv_2);
|
||||
return o;
|
||||
}
|
||||
|
||||
half4 frag (v2f IN) : COLOR
|
||||
{
|
||||
float4 tex = tex2D(_MainTex, IN.texcoord);
|
||||
float4 tmpvar_1 = (tex * _Color);
|
||||
return tmpvar_1;
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
Fallback Off
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
Shader "QO/Sprite Flash"
|
||||
{
|
||||
Properties
|
||||
{
|
||||
_MainTex ("Base (RGBA)", 2D) = "white" {}
|
||||
_Color ("Color", Color) = (1,1,1,1)
|
||||
_EffectColor ("EffectColor", Color) = (1,1,1,1)
|
||||
_UVWH ("UVWH", Vector) = (0,0,1,1)
|
||||
}
|
||||
|
||||
SubShader
|
||||
{
|
||||
LOD 200
|
||||
|
||||
Tags { "QUEUE"="Transparent" "RenderType"="Transparent" }
|
||||
Pass {
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
|
||||
CGPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
|
||||
#include "UnityCG.cginc"
|
||||
|
||||
sampler2D _MainTex;
|
||||
half4 _Color;
|
||||
half4 _EffectColor;
|
||||
float4 _UVWH;
|
||||
|
||||
struct appdata_t
|
||||
{
|
||||
float4 vertex : POSITION;
|
||||
half4 color : COLOR;
|
||||
float2 texcoord : TEXCOORD0;
|
||||
};
|
||||
|
||||
struct v2f
|
||||
{
|
||||
float4 vertex : POSITION;
|
||||
half4 color : COLOR;
|
||||
float2 texcoord : TEXCOORD0;
|
||||
};
|
||||
|
||||
v2f vert (appdata_t v)
|
||||
{
|
||||
v2f o;
|
||||
float2 uv_2 = _UVWH.xy;
|
||||
float2 wh_1 = _UVWH.zw;
|
||||
o.color = v.color;
|
||||
o.vertex = mul(UNITY_MATRIX_MVP, v.vertex);
|
||||
o.texcoord = ((v.texcoord * wh_1) + uv_2);
|
||||
return o;
|
||||
}
|
||||
|
||||
half4 frag (v2f IN) : COLOR
|
||||
{
|
||||
float4 tex = tex2D(_MainTex, IN.texcoord);
|
||||
float4 src_1 = (tex * _Color);
|
||||
float3 tmpvar_4 = lerp(_EffectColor.xyz, src_1.xyz, _EffectColor.www);
|
||||
float4 final = (tmpvar_4.x,tmpvar_4.y,tmpvar_4.z,src_1.w);
|
||||
return final;
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
Fallback Off
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
Shader "QO/Sprite NoTexAlpha"
|
||||
{
|
||||
Properties
|
||||
{
|
||||
_MainTex ("Base (RGBA)", 2D) = "white" {}
|
||||
_Color ("Color", Color) = (1,1,1,1)
|
||||
_UVWH ("UVWH", Vector) = (0,0,1,1)
|
||||
}
|
||||
|
||||
SubShader
|
||||
{
|
||||
LOD 200
|
||||
|
||||
Tags { "QUEUE"="Transparent" "RenderType"="Transparent" }
|
||||
Pass {
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
|
||||
CGPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
|
||||
#include "UnityCG.cginc"
|
||||
|
||||
sampler2D _MainTex;
|
||||
half4 _Color;
|
||||
float4 _UVWH;
|
||||
|
||||
struct appdata_t
|
||||
{
|
||||
float4 vertex : POSITION;
|
||||
half4 color : COLOR;
|
||||
float2 texcoord : TEXCOORD0;
|
||||
};
|
||||
|
||||
struct v2f
|
||||
{
|
||||
float4 vertex : POSITION;
|
||||
half4 color : COLOR;
|
||||
float2 texcoord : TEXCOORD0;
|
||||
};
|
||||
|
||||
v2f vert (appdata_t v)
|
||||
{
|
||||
v2f o;
|
||||
float2 uv_2 = _UVWH.xy;
|
||||
float2 wh_1 = _UVWH.zw;
|
||||
o.color = v.color;
|
||||
o.vertex = mul(UNITY_MATRIX_MVP, v.vertex);
|
||||
o.texcoord = ((v.texcoord * wh_1) + uv_2);
|
||||
return o;
|
||||
}
|
||||
|
||||
half4 frag (v2f IN) : COLOR
|
||||
{
|
||||
float3 rest = tex2D(_MainTex, IN.texcoord).xyz;
|
||||
float4 together = (rest.x,rest.y, rest.z, 0.0);
|
||||
//float4 tex = tex2D(_MainTex, IN.texcoord);
|
||||
float4 tmpvar_1 = (together * _Color);
|
||||
return tmpvar_1;
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
Fallback Off
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
Shader "QO/Sprite Sub" {
|
||||
Properties {
|
||||
_MainTex ("Base (RGBA)", 2D) = "white" {}
|
||||
_Color ("Color", Color) = (1,1,1,1)
|
||||
_UVWH ("UVWH", Vector) = (0,0,1,1)
|
||||
}
|
||||
SubShader {
|
||||
LOD 200
|
||||
Tags { "QUEUE"="Transparent" "RenderType"="Transparent" }
|
||||
Pass {
|
||||
Tags { "QUEUE"="Transparent" "RenderType"="Transparent" }
|
||||
Blend SrcAlpha One
|
||||
BlendOp RevSub
|
||||
Program "vp" {
|
||||
SubProgram "gles " {
|
||||
"!!GLES
|
||||
|
||||
|
||||
#ifdef VERTEX
|
||||
|
||||
varying lowp vec2 xlv_TEXCOORD0;
|
||||
uniform highp vec4 _UVWH;
|
||||
uniform highp mat4 glstate_matrix_mvp;
|
||||
attribute vec4 _glesMultiTexCoord0;
|
||||
attribute vec4 _glesVertex;
|
||||
void main ()
|
||||
{
|
||||
lowp vec2 wh_1;
|
||||
lowp vec2 uv_2;
|
||||
lowp vec2 tmpvar_3;
|
||||
highp vec2 tmpvar_4;
|
||||
tmpvar_4 = _UVWH.xy;
|
||||
uv_2 = tmpvar_4;
|
||||
highp vec2 tmpvar_5;
|
||||
tmpvar_5 = _UVWH.zw;
|
||||
wh_1 = tmpvar_5;
|
||||
highp vec2 tmpvar_6;
|
||||
tmpvar_6 = ((_glesMultiTexCoord0.xy * wh_1) + uv_2);
|
||||
tmpvar_3 = tmpvar_6;
|
||||
gl_Position = (glstate_matrix_mvp * _glesVertex);
|
||||
xlv_TEXCOORD0 = tmpvar_3;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
#ifdef FRAGMENT
|
||||
|
||||
varying lowp vec2 xlv_TEXCOORD0;
|
||||
uniform highp vec4 _Color;
|
||||
uniform sampler2D _MainTex;
|
||||
void main ()
|
||||
{
|
||||
mediump vec4 tmpvar_1;
|
||||
mediump vec4 texcol_2;
|
||||
lowp vec4 tmpvar_3;
|
||||
tmpvar_3 = texture2D (_MainTex, xlv_TEXCOORD0);
|
||||
texcol_2 = tmpvar_3;
|
||||
tmpvar_1 = (texcol_2 * _Color);
|
||||
gl_FragData[0] = tmpvar_1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endif"
|
||||
}
|
||||
}
|
||||
Program "fp" {
|
||||
SubProgram "gles " {
|
||||
"!!GLES"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Fallback "Diffuse"
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
Shader "QO/Sprite"
|
||||
{
|
||||
Properties
|
||||
{
|
||||
_MainTex ("Base (RGBA)", 2D) = "white" {}
|
||||
_Color ("Color", Color) = (1,1,1,1)
|
||||
_UVWH ("UVWH", Vector) = (0,0,1,1)
|
||||
}
|
||||
|
||||
SubShader
|
||||
{
|
||||
LOD 200
|
||||
|
||||
Tags { "QUEUE"="Transparent" "RenderType"="Transparent" }
|
||||
Pass {
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
|
||||
CGPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
|
||||
#include "UnityCG.cginc"
|
||||
|
||||
sampler2D _MainTex;
|
||||
half4 _Color;
|
||||
float4 _UVWH;
|
||||
|
||||
struct appdata_t
|
||||
{
|
||||
float4 vertex : POSITION;
|
||||
half4 color : COLOR;
|
||||
float2 texcoord : TEXCOORD0;
|
||||
};
|
||||
|
||||
struct v2f
|
||||
{
|
||||
float4 vertex : POSITION;
|
||||
half4 color : COLOR;
|
||||
float2 texcoord : TEXCOORD0;
|
||||
};
|
||||
|
||||
v2f vert (appdata_t v)
|
||||
{
|
||||
v2f o;
|
||||
float2 uv_2 = _UVWH.xy;
|
||||
float2 wh_1 = _UVWH.zw;
|
||||
o.color = v.color;
|
||||
o.vertex = mul(UNITY_MATRIX_MVP, v.vertex);
|
||||
o.texcoord = ((v.texcoord * wh_1) + uv_2);
|
||||
return o;
|
||||
}
|
||||
|
||||
half4 frag (v2f IN) : COLOR
|
||||
{
|
||||
float4 tex = tex2D(_MainTex, IN.texcoord);
|
||||
float4 tmpvar_1 = (tex * _Color);
|
||||
return tmpvar_1;
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
Fallback Off
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
Shader "QO/TextSprite"
|
||||
{
|
||||
Properties
|
||||
{
|
||||
_MainTex ("Base (RGB), Alpha (A)", 2D) = "white" {}
|
||||
}
|
||||
|
||||
SubShader
|
||||
{
|
||||
LOD 200
|
||||
|
||||
Tags
|
||||
{
|
||||
"Queue" = "Transparent"
|
||||
"IgnoreProjector" = "True"
|
||||
"RenderType" = "Transparent"
|
||||
}
|
||||
|
||||
Pass
|
||||
{
|
||||
Cull Off
|
||||
Lighting Off
|
||||
ZWrite Off
|
||||
Offset -1, -1
|
||||
Fog { Mode Off }
|
||||
ColorMask RGB
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
|
||||
CGPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
|
||||
#include "UnityCG.cginc"
|
||||
|
||||
sampler2D _MainTex;
|
||||
half4 _MainTex_ST;
|
||||
|
||||
struct appdata_t
|
||||
{
|
||||
float4 vertex : POSITION;
|
||||
half4 color : COLOR;
|
||||
float2 texcoord : TEXCOORD0;
|
||||
};
|
||||
|
||||
struct v2f
|
||||
{
|
||||
float4 vertex : POSITION;
|
||||
half4 color : COLOR;
|
||||
float2 texcoord : TEXCOORD0;
|
||||
};
|
||||
|
||||
v2f vert (appdata_t v)
|
||||
{
|
||||
v2f o;
|
||||
o.vertex = mul(UNITY_MATRIX_MVP, v.vertex);
|
||||
o.color = v.color;
|
||||
o.texcoord = v.texcoord;
|
||||
return o;
|
||||
}
|
||||
|
||||
half4 frag (v2f IN) : COLOR
|
||||
{
|
||||
half4 mask = tex2D(_MainTex, IN.texcoord);
|
||||
half4 mixed = saturate(ceil(IN.color - 0.5));
|
||||
half4 col = saturate((mixed * 0.51 - IN.color) / -0.49);
|
||||
|
||||
mask *= mixed;
|
||||
col.a *= mask.r + mask.g + mask.b + mask.a;
|
||||
return col;
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
Fallback Off
|
||||
}
|
||||
Reference in New Issue
Block a user