summaryrefslogtreecommitdiff
path: root/VRCSDK3Avatars/Assets/_PoiyomiShaders/Shaders/7.3/Patreon/EyeFX
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2024-12-27 00:56:58 -0500
committerFreya Murphy <freya@freyacat.org>2024-12-27 00:58:02 -0500
commit799e6680d40119dc9c2a9e0b320054a40324bebe (patch)
treedbcd308d59eb6e4f937a5547dd77d9f91d4fec20 /VRCSDK3Avatars/Assets/_PoiyomiShaders/Shaders/7.3/Patreon/EyeFX
parentmove to self host (diff)
downloadunityprojects-799e6680d40119dc9c2a9e0b320054a40324bebe.tar.gz
unityprojects-799e6680d40119dc9c2a9e0b320054a40324bebe.tar.bz2
unityprojects-799e6680d40119dc9c2a9e0b320054a40324bebe.zip
VRCSDK3Avatars found!
Diffstat (limited to 'VRCSDK3Avatars/Assets/_PoiyomiShaders/Shaders/7.3/Patreon/EyeFX')
-rw-r--r--VRCSDK3Avatars/Assets/_PoiyomiShaders/Shaders/7.3/Patreon/EyeFX/PoiyomiEyeFX.shader163
-rw-r--r--VRCSDK3Avatars/Assets/_PoiyomiShaders/Shaders/7.3/Patreon/EyeFX/PoiyomiEyeFX.shader.meta8
2 files changed, 171 insertions, 0 deletions
diff --git a/VRCSDK3Avatars/Assets/_PoiyomiShaders/Shaders/7.3/Patreon/EyeFX/PoiyomiEyeFX.shader b/VRCSDK3Avatars/Assets/_PoiyomiShaders/Shaders/7.3/Patreon/EyeFX/PoiyomiEyeFX.shader
new file mode 100644
index 00000000..d965068a
--- /dev/null
+++ b/VRCSDK3Avatars/Assets/_PoiyomiShaders/Shaders/7.3/Patreon/EyeFX/PoiyomiEyeFX.shader
@@ -0,0 +1,163 @@
+Shader ".poiyomi/Patreon/EyeFx"
+{
+ Properties
+ {
+ [HideInInspector] shader_is_using_thry_editor("", Float)=0
+ _MainTex ("Background", 2D) = "white" { }
+
+ _GradientFront ("Gradient Front", 2D) = "black" { }
+ _GradientBack ("Gradient Back", 2D) = "black" { }
+ _LineworkMask ("Linework Mask", 2D) = "black" { }
+ _HighlightMask ("Highlight Mask", 2D) = "black" { }
+ _FrontTexture ("Front Texture", 2D) = "white" { }
+ _BackTexture ("Back Texture", 2D) = "white" { }
+
+ _NoiseFront ("Noise Front Gradient", 2D) = "black" { }
+ _NoiseBack ("Noise Back Gradient", 2D) = "black" { }
+
+ _FrontTexturePan ("Front Texture Pan", Vector) = (0, 0, 0, 0)
+ _BackTexturePan ("Back Texture Pan", Vector) = (0, 0, 0, 0)
+ _NoiseFrontPanSpeed ("Noise Front Pan Speed", Vector) = (0, 0, 0, 0)
+ _NoiseBackPanSpeed ("Noise Back Pan Speed", Vector) = (0, 0, 0, 0)
+
+ [Space(20)]
+ _FrontGradientMod ("Front Grad Mod", Range(-1,1)) = 0
+ _BackGradientMod ("Back Grad Mod", Range(-1,1)) = 0
+ [Space(20)]
+ _GradientFrontColor ("Front Color", Color) = (1, 1, 1, 1)
+ _FrontEmission ("Front Emission", Float) = 0
+ _GradientBackColor ("Back Color", Color) = (1, 1, 1, 1)
+ _BackEmission ("Back Emission", Float) = 0
+ _Color ("BackgroundColor", Color) = (1, 1, 1, 1)
+ _BackgroundEmission ("Background Emission", Float) = 0
+ _LineworkColor ("Linework Color", Color) = (1, 1, 1, 1)
+ _LineworkEmission ("Linework Emission", Float) = 0
+ _HighlightColor ("Highlight Color", Color) = (1, 1, 1, 1)
+ _HighlightEmission ("Highlight Emission", Float) = 0
+ [Space(20)]
+
+ _BlendFront ("Front Soft-Hard", Range(0, 1)) = 1
+ _BlendBack ("Back Soft-Hard", Range(0, 1)) = 1
+
+ [Enum(Unlit, 0, Lit, 1)] _Lit ("Lighting", Int) = 0
+ }
+
+ SubShader
+ {
+ LOD 100
+ CGINCLUDE
+ #pragma target 5.0
+ ENDCG
+
+ Cull Back
+ ColorMask RGBA
+ ZWrite On
+ ZTest LEqual
+ Offset 0, 0
+
+ Pass
+ {
+ Tags { "LightMode" = "ForwardBase" }
+ CGPROGRAM
+
+ #pragma vertex vert
+ #pragma fragment frag
+ #pragma multi_compile_instancing
+ #include "UnityPBSLighting.cginc"
+ #include "UnityCG.cginc"
+
+
+ struct appdata
+ {
+ float4 vertex: POSITION;
+ float2 texcoord: TEXCOORD0;
+ UNITY_VERTEX_INPUT_INSTANCE_ID
+ };
+
+ struct v2f
+ {
+ float4 pos: SV_POSITION;
+ float2 uv: TEXCOORD0;
+
+ UNITY_VERTEX_OUTPUT_STEREO
+ UNITY_VERTEX_INPUT_INSTANCE_ID
+ };
+
+ sampler2D _MainTex; float4 _MainTex_ST;
+ sampler2D _GradientFront; float4 _GradientFront_ST;
+ sampler2D _GradientBack; float4 _GradientBack_ST;
+ sampler2D _LineworkMask; float4 _LineworkMask_ST;
+ sampler2D _HighlightMask; float4 _HighlightMask_ST;
+ sampler2D _NoiseFront; float4 _NoiseFront_ST;
+ sampler2D _NoiseBack; float4 _NoiseBack_ST;
+ sampler2D _FrontTexture; float4 _FrontTexture_ST;
+ sampler2D _BackTexture; float4 _BackTexture_ST;
+ float4 _FrontTexturePan;
+ float4 _BackTexturePan;
+ int _Lit;
+ // Colors
+ float4 _Color;
+ float4 _GradientFrontColor, _GradientBackColor, _LineworkColor, _HighlightColor;
+ float _BackgroundEmission, _FrontEmission, _BackEmission, _LineworkEmission, _HighlightEmission;
+ float _FrontGradientMod;
+ float _BackGradientMod;
+ // Blending
+ float _BlendBack, _BlendFront;
+ // Motion
+ float4 _NoiseFrontPanSpeed, _NoiseBackPanSpeed;
+
+ v2f vert(appdata v)
+ {
+ v2f o;
+ UNITY_SETUP_INSTANCE_ID(v);
+ UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
+ UNITY_TRANSFER_INSTANCE_ID(v, o);
+
+ o.pos = UnityObjectToClipPos(v.vertex);
+ o.uv = float4(v.texcoord.xy, 0, 0);
+ return o;
+ }
+
+ fixed4 frag(v2f i): SV_Target
+ {
+ UNITY_SETUP_INSTANCE_ID(i);
+ _FrontGradientMod = 1 - _FrontGradientMod;
+ _BackGradientMod = 1 - _BackGradientMod;
+ float4 background = tex2D(_MainTex, TRANSFORM_TEX(i.uv, _MainTex));
+ float gradientFront = tex2D(_GradientFront, TRANSFORM_TEX(i.uv, _GradientFront));
+ float gradientBack = tex2D(_GradientBack, TRANSFORM_TEX(i.uv, _GradientBack));
+ float lineworkMask = tex2D(_LineworkMask, TRANSFORM_TEX(i.uv, _LineworkMask));
+ float highlightMask = tex2D(_HighlightMask, TRANSFORM_TEX(i.uv, _HighlightMask));
+ float4 frontTexture = tex2D(_FrontTexture, TRANSFORM_TEX(i.uv, _FrontTexture) + _FrontTexturePan * _Time.y);
+ float4 backTexture = tex2D(_BackTexture, TRANSFORM_TEX(i.uv, _BackTexture) + _BackTexturePan * _Time.y);
+ float noiseFront = tex2D(_NoiseFront, TRANSFORM_TEX(i.uv, _NoiseFront) + _Time.y * _NoiseFrontPanSpeed);
+ float noiseBack = tex2D(_NoiseBack, TRANSFORM_TEX(i.uv, _NoiseBack) + _Time.y * _NoiseBackPanSpeed);
+
+ float frontAlpha = gradientFront - (gradientFront * lerp(lerp(_FrontGradientMod - noiseFront, 0, gradientFront), (1 - step(_FrontGradientMod - gradientFront, noiseFront)), _BlendFront));
+ float backAlpha = gradientBack - (gradientBack * lerp(lerp(_BackGradientMod - noiseBack, 0, gradientBack), (1 - step(_BackGradientMod - gradientBack, noiseBack)), _BlendBack));
+
+
+ // Ambient Lighting
+ float3 poiLighting = clamp(ShadeSH9(float4(0, 0, 0, 1)) + _LightColor0.rgb, 0, _LightColor0.a);
+
+ fixed4 finalColor = float4(background.rgb * _Color, 1);
+ finalColor = lerp(finalColor, _GradientBackColor * backTexture, backAlpha);
+ finalColor = lerp(finalColor, _GradientFrontColor * frontTexture, frontAlpha);
+ finalColor = lerp(finalColor, _LineworkColor, lineworkMask);
+ finalColor = lerp(finalColor, _HighlightColor, highlightMask);
+
+ finalColor.rgb *= lerp(1, poiLighting, _Lit);
+
+ fixed4 emissionColor = float4(background.rgb * _Color * _BackgroundEmission, 1);
+ emissionColor = lerp(emissionColor, _GradientBackColor * backTexture * _BackEmission, backAlpha);
+ emissionColor = lerp(emissionColor, _GradientFrontColor * frontTexture * _FrontEmission, frontAlpha);
+ emissionColor = lerp(emissionColor, _LineworkColor * _LineworkEmission, lineworkMask);
+ emissionColor = lerp(emissionColor, _HighlightColor * _HighlightEmission, highlightMask);
+
+ return finalColor + emissionColor;
+ }
+ ENDCG
+
+ }
+ }
+} \ No newline at end of file
diff --git a/VRCSDK3Avatars/Assets/_PoiyomiShaders/Shaders/7.3/Patreon/EyeFX/PoiyomiEyeFX.shader.meta b/VRCSDK3Avatars/Assets/_PoiyomiShaders/Shaders/7.3/Patreon/EyeFX/PoiyomiEyeFX.shader.meta
new file mode 100644
index 00000000..fce28c28
--- /dev/null
+++ b/VRCSDK3Avatars/Assets/_PoiyomiShaders/Shaders/7.3/Patreon/EyeFX/PoiyomiEyeFX.shader.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 06e7a0cea07dc88429001d0cb84a92ca
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant: