summaryrefslogtreecommitdiff
path: root/VRCSDK3Worlds/Assets/Bakery/examples/shaders
diff options
context:
space:
mode:
authortylermurphy534 <tylermurphy534@gmail.com>2022-11-06 15:12:42 -0500
committertylermurphy534 <tylermurphy534@gmail.com>2022-11-06 15:12:42 -0500
commiteb84bb298d2b95aec7b2ae12cbf25ac64f25379a (patch)
treeefd616a157df06ab661c6d56651853431ac6b08b /VRCSDK3Worlds/Assets/Bakery/examples/shaders
downloadunityprojects-eb84bb298d2b95aec7b2ae12cbf25ac64f25379a.tar.gz
unityprojects-eb84bb298d2b95aec7b2ae12cbf25ac64f25379a.tar.bz2
unityprojects-eb84bb298d2b95aec7b2ae12cbf25ac64f25379a.zip
move to self host
Diffstat (limited to 'VRCSDK3Worlds/Assets/Bakery/examples/shaders')
-rw-r--r--VRCSDK3Worlds/Assets/Bakery/examples/shaders/Baked_Alpha_meta.shader91
-rw-r--r--VRCSDK3Worlds/Assets/Bakery/examples/shaders/Baked_Alpha_meta.shader.meta9
-rw-r--r--VRCSDK3Worlds/Assets/Bakery/examples/shaders/Baked_Normal_Maps_meta.shader83
-rw-r--r--VRCSDK3Worlds/Assets/Bakery/examples/shaders/Baked_Normal_Maps_meta.shader.meta9
-rw-r--r--VRCSDK3Worlds/Assets/Bakery/examples/shaders/Baked_Normal_Maps_terrain_meta.shader84
-rw-r--r--VRCSDK3Worlds/Assets/Bakery/examples/shaders/Baked_Normal_Maps_terrain_meta.shader.meta9
6 files changed, 285 insertions, 0 deletions
diff --git a/VRCSDK3Worlds/Assets/Bakery/examples/shaders/Baked_Alpha_meta.shader b/VRCSDK3Worlds/Assets/Bakery/examples/shaders/Baked_Alpha_meta.shader
new file mode 100644
index 00000000..14099e2b
--- /dev/null
+++ b/VRCSDK3Worlds/Assets/Bakery/examples/shaders/Baked_Alpha_meta.shader
@@ -0,0 +1,91 @@
+Shader "Bakery/Example shader with Alpha Meta Pass"
+{
+ Properties
+ {
+ _MainTex ("Albedo", 2D) = "white" { }
+ _BumpMap ("Normal map", 2D) = "bump" { }
+ [HideInInspector] BAKERY_META_ALPHA_ENABLE ("Enable Bakery alpha meta pass", Float) = 1.0
+ }
+ SubShader
+ {
+ Tags {"RenderType"="Transparent"}
+
+ Pass
+ {
+ CGPROGRAM
+ #pragma vertex vs
+ #pragma fragment ps
+ #include "UnityCG.cginc"
+
+ sampler2D _MainTex, _BumpMap;
+
+ struct pi
+ {
+ float4 Position : SV_POSITION;
+ float2 TexCoords : TEXCOORD0;
+ float2 TexCoords2 : TEXCOORD1;
+ };
+
+ void vs(in appdata_full IN, out pi OUT)
+ {
+ OUT.Position = UnityObjectToClipPos(IN.vertex);
+ OUT.TexCoords = IN.texcoord.xy;
+ OUT.TexCoords2 = IN.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
+ }
+
+ float4 ps( in pi IN ) : COLOR
+ {
+ float4 tex = tex2D(_MainTex, IN.TexCoords);
+ float3 lm = DecodeLightmap(UNITY_SAMPLE_TEX2D(unity_Lightmap, IN.TexCoords2));
+ tex.rgb *= lm;
+ float2 alpha2 = cos(abs(frac(IN.TexCoords*10)*2-1));
+ float alpha = alpha2.x * alpha2.y;
+ clip(alpha-0.5);
+ return tex;
+ }
+ ENDCG
+ }
+
+ Pass
+ {
+ // Alpha map enabled Bakery-specific meta pass
+
+ Name "META_BAKERY"
+
+ Tags {"LightMode"="Meta"}
+ Cull Off
+ CGPROGRAM
+
+ #include "UnityStandardMeta.cginc"
+
+ // Include Bakery meta pass
+ #include "../../BakeryMetaPass.cginc"
+
+ float4 frag_customMeta (v2f_bakeryMeta i): SV_Target
+ {
+ UnityMetaInput o;
+ UNITY_INITIALIZE_OUTPUT(UnityMetaInput, o);
+
+ // Output custom alpha to Bakery
+ if (unity_MetaFragmentControl.w)
+ {
+ // Calculate custom alpha
+ float2 alpha2 = cos(abs(frac(i.uv*10)*2-1));
+ float alpha = alpha2.x * alpha2.y;
+
+ // Output
+ return alpha;
+ }
+
+ // Regular Unity meta pass
+ o.Albedo = tex2D(_MainTex, i.uv);
+ return UnityMetaFragment(o);
+ }
+
+ // Must use vert_bakerymt vertex shader
+ #pragma vertex vert_bakerymt
+ #pragma fragment frag_customMeta
+ ENDCG
+ }
+ }
+}
diff --git a/VRCSDK3Worlds/Assets/Bakery/examples/shaders/Baked_Alpha_meta.shader.meta b/VRCSDK3Worlds/Assets/Bakery/examples/shaders/Baked_Alpha_meta.shader.meta
new file mode 100644
index 00000000..0ff1ba1e
--- /dev/null
+++ b/VRCSDK3Worlds/Assets/Bakery/examples/shaders/Baked_Alpha_meta.shader.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 62aa1251c95dfeb4ba08fd46a3a1d98f
+timeCreated: 1601291564
+licenseType: Store
+ShaderImporter:
+ defaultTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3Worlds/Assets/Bakery/examples/shaders/Baked_Normal_Maps_meta.shader b/VRCSDK3Worlds/Assets/Bakery/examples/shaders/Baked_Normal_Maps_meta.shader
new file mode 100644
index 00000000..cee42878
--- /dev/null
+++ b/VRCSDK3Worlds/Assets/Bakery/examples/shaders/Baked_Normal_Maps_meta.shader
@@ -0,0 +1,83 @@
+Shader "Bakery/Example shader with Normal Meta Pass"
+{
+ Properties
+ {
+ _MainTex ("Albedo", 2D) = "white" { }
+ _BumpMap ("Normal map", 2D) = "bump" { }
+ }
+ SubShader
+ {
+ Pass
+ {
+ CGPROGRAM
+ #pragma vertex vs
+ #pragma fragment ps
+ #include "UnityCG.cginc"
+
+ sampler2D _MainTex, _BumpMap;
+
+ struct pi
+ {
+ float4 Position : SV_POSITION;
+ float2 TexCoords : TEXCOORD0;
+ float2 TexCoords2 : TEXCOORD1;
+ };
+
+ void vs(in appdata_full IN, out pi OUT)
+ {
+ OUT.Position = UnityObjectToClipPos(IN.vertex);
+ OUT.TexCoords = IN.texcoord.xy;
+ OUT.TexCoords2 = IN.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
+ }
+
+ float4 ps( in pi IN ) : COLOR
+ {
+ float4 tex = tex2D(_MainTex, IN.TexCoords);
+ float3 lm = DecodeLightmap(UNITY_SAMPLE_TEX2D(unity_Lightmap, IN.TexCoords2));
+ tex.rgb *= lm;
+ return tex;
+ }
+ ENDCG
+ }
+
+ Pass
+ {
+ // Normal-map enabled Bakery-specific meta pass
+ Name "META_BAKERY"
+ Tags {"LightMode"="Meta"}
+ Cull Off
+ CGPROGRAM
+
+ #include"UnityStandardMeta.cginc"
+
+ // Include Bakery meta pass
+ #include"Bakery/BakeryMetaPass.cginc"
+
+ float4 frag_customMeta (v2f_bakeryMeta i): SV_Target
+ {
+ UnityMetaInput o;
+ UNITY_INITIALIZE_OUTPUT(UnityMetaInput, o);
+
+ // Output custom normal to use with Bakery's "Baked Normal Map" mode
+ if (unity_MetaFragmentControl.z)
+ {
+ // Calculate custom normal
+ float3 customNormalMap = UnpackNormal(tex2D(_BumpMap, pow(abs(i.uv), 1.5))); // example: UVs are procedurally distorted
+ float3 customWorldNormal = TransformNormalMapToWorld(i, customNormalMap);
+
+ // Output
+ return float4(BakeryEncodeNormal(customWorldNormal),1);
+ }
+
+ // Regular Unity meta pass
+ o.Albedo = tex2D(_MainTex, i.uv);
+ return UnityMetaFragment(o);
+ }
+
+ // Must use vert_bakerymt vertex shader
+ #pragma vertex vert_bakerymt
+ #pragma fragment frag_customMeta
+ ENDCG
+ }
+ }
+}
diff --git a/VRCSDK3Worlds/Assets/Bakery/examples/shaders/Baked_Normal_Maps_meta.shader.meta b/VRCSDK3Worlds/Assets/Bakery/examples/shaders/Baked_Normal_Maps_meta.shader.meta
new file mode 100644
index 00000000..01adcb51
--- /dev/null
+++ b/VRCSDK3Worlds/Assets/Bakery/examples/shaders/Baked_Normal_Maps_meta.shader.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 413ff0795eddafc4384d2495a551b7de
+timeCreated: 1539530855
+licenseType: Store
+ShaderImporter:
+ defaultTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/VRCSDK3Worlds/Assets/Bakery/examples/shaders/Baked_Normal_Maps_terrain_meta.shader b/VRCSDK3Worlds/Assets/Bakery/examples/shaders/Baked_Normal_Maps_terrain_meta.shader
new file mode 100644
index 00000000..f15d4ec9
--- /dev/null
+++ b/VRCSDK3Worlds/Assets/Bakery/examples/shaders/Baked_Normal_Maps_terrain_meta.shader
@@ -0,0 +1,84 @@
+Shader "Bakery/Example terrain shader with Normal Meta Pass"
+{
+ Properties
+ {
+ _MainTex ("Albedo", 2D) = "white" { }
+ _BumpMap ("Normal map", 2D) = "bump" { }
+ }
+ SubShader
+ {
+ Pass
+ {
+ CGPROGRAM
+ #pragma vertex vs
+ #pragma fragment ps
+ #include "UnityCG.cginc"
+
+ sampler2D _MainTex, _BumpMap;
+
+ struct pi
+ {
+ float4 Position : SV_POSITION;
+ float2 TexCoords : TEXCOORD0;
+ float2 TexCoords2 : TEXCOORD1;
+ };
+
+ void vs(in appdata_full IN, out pi OUT)
+ {
+ OUT.Position = UnityObjectToClipPos(IN.vertex);
+ OUT.TexCoords = IN.texcoord.xy;
+ OUT.TexCoords2 = IN.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;
+ }
+
+ float4 ps( in pi IN ) : COLOR
+ {
+ float4 tex = tex2D(_MainTex, IN.TexCoords);
+ float3 lm = DecodeLightmap(UNITY_SAMPLE_TEX2D(unity_Lightmap, IN.TexCoords2));
+ tex.rgb *= lm;
+ return tex;
+ }
+ ENDCG
+ }
+
+ Pass
+ {
+ // Normal-map enabled Bakery-specific meta pass
+ Name "META_BAKERY"
+ Tags {"LightMode"="Meta"}
+ Cull Off
+ CGPROGRAM
+
+ #include"UnityStandardMeta.cginc"
+
+ // Include Bakery meta pass
+ #define _TERRAIN_NORMAL_MAP // for terrains
+ #include"Bakery/BakeryMetaPass.cginc"
+
+ float4 frag_customMeta (v2f_bakeryMeta i): SV_Target
+ {
+ UnityMetaInput o;
+ UNITY_INITIALIZE_OUTPUT(UnityMetaInput, o);
+
+ // Output custom normal to use with Bakery's "Baked Normal Map" mode
+ if (unity_MetaFragmentControl.z)
+ {
+ // Calculate custom normal
+ float3 customNormalMap = UnpackNormal(tex2D(_BumpMap, pow(abs(i.uv), 1.5))); // example: UVs are procedurally distorted
+ float3 customWorldNormal = TransformNormalMapToWorld(i, customNormalMap);
+
+ // Output
+ return float4(BakeryEncodeNormal(customWorldNormal),1);
+ }
+
+ // Regular Unity meta pass
+ o.Albedo = tex2D(_MainTex, i.uv);
+ return UnityMetaFragment(o);
+ }
+
+ // Must use vert_bakerymt vertex shader
+ #pragma vertex vert_bakerymt
+ #pragma fragment frag_customMeta
+ ENDCG
+ }
+ }
+}
diff --git a/VRCSDK3Worlds/Assets/Bakery/examples/shaders/Baked_Normal_Maps_terrain_meta.shader.meta b/VRCSDK3Worlds/Assets/Bakery/examples/shaders/Baked_Normal_Maps_terrain_meta.shader.meta
new file mode 100644
index 00000000..d3bc526f
--- /dev/null
+++ b/VRCSDK3Worlds/Assets/Bakery/examples/shaders/Baked_Normal_Maps_terrain_meta.shader.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: c071342c6ed3a214cac24c80263f3079
+timeCreated: 1539530856
+licenseType: Store
+ShaderImporter:
+ defaultTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant: