shader fixes

This commit is contained in:
Arneth
2022-02-01 10:12:54 -05:00
parent fe17ead9c5
commit f98eb96584
68 changed files with 2533 additions and 1629 deletions
@@ -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
}
+111
View File
@@ -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"
}