diff options
Diffstat (limited to '')
-rw-r--r-- | VRCSDK3Worlds/Assets/Bakery/shader/BakeryStandardSpecular.shader | 410 | ||||
-rw-r--r-- | VRCSDK3Worlds/Assets/Bakery/shader/BakeryStandardSpecular.shader.meta | 9 |
2 files changed, 419 insertions, 0 deletions
diff --git a/VRCSDK3Worlds/Assets/Bakery/shader/BakeryStandardSpecular.shader b/VRCSDK3Worlds/Assets/Bakery/shader/BakeryStandardSpecular.shader new file mode 100644 index 00000000..fc861934 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Bakery/shader/BakeryStandardSpecular.shader @@ -0,0 +1,410 @@ +Shader "Bakery/Standard Specular" +{ + Properties + { + _Color("Color", Color) = (1,1,1,1) + _MainTex("Albedo", 2D) = "white" {} + + _Cutoff("Alpha Cutoff", Range(0.0, 1.0)) = 0.5 + + _Glossiness("Smoothness", Range(0.0, 1.0)) = 0.5 + _GlossMapScale("Smoothness Factor", Range(0.0, 1.0)) = 1.0 + [Enum(Specular Alpha,0,Albedo Alpha,1)] _SmoothnessTextureChannel("Smoothness texture channel", Float) = 0 + + _SpecColor("Specular", Color) = (0.2,0.2,0.2) + _SpecGlossMap("Specular", 2D) = "white" {} + [ToggleOff] _SpecularHighlights("Specular Highlights", Float) = 1.0 + [ToggleOff] _GlossyReflections("Glossy Reflections", Float) = 1.0 + + _BumpScale("Scale", Float) = 1.0 + _BumpMap("Normal Map", 2D) = "bump" {} + + _Parallax ("Height Scale", Range (0.005, 0.08)) = 0.02 + _ParallaxMap ("Height Map", 2D) = "black" {} + + _OcclusionStrength("Strength", Range(0.0, 1.0)) = 1.0 + _OcclusionMap("Occlusion", 2D) = "white" {} + + _EmissionColor("Color", Color) = (0,0,0) + _EmissionMap("Emission", 2D) = "white" {} + + _DetailMask("Detail Mask", 2D) = "white" {} + + _DetailAlbedoMap("Detail Albedo x2", 2D) = "grey" {} + _DetailNormalMapScale("Scale", Float) = 1.0 + _DetailNormalMap("Normal Map", 2D) = "bump" {} + + [Enum(UV0,0,UV1,1)] _UVSec ("UV Set for secondary textures", Float) = 0 + + + // Blending state + [HideInInspector] _Mode ("__mode", Float) = 0.0 + [HideInInspector] _SrcBlend ("__src", Float) = 1.0 + [HideInInspector] _DstBlend ("__dst", Float) = 0.0 + [HideInInspector] _ZWrite ("__zw", Float) = 1.0 + + _Volume0("Volume0", 3D) = "black" {} + _Volume1("Volume1", 3D) = "black" {} + _Volume2("Volume2", 3D) = "black" {} + _VolumeMask("Volume Mask", 3D) = "white" {} + _VolumeMin("Volume min", Vector) = (0,0,0) + _VolumeInvSize("Volume Inv Size", Vector) = (1000001, 1000001, 1000001) + + [HideInInspector] _BAKERY_2SIDED ("__2s", Float) = 2.0 + [Toggle(BAKERY_2SIDEDON)] _BAKERY_2SIDEDON ("Double-sided", Float) = 0 + [Toggle(BAKERY_VERTEXLM)] _BAKERY_VERTEXLM ("Enable vertex LM", Float) = 0 + [Toggle(BAKERY_VERTEXLMDIR)] _BAKERY_VERTEXLMDIR ("Enable directional vertex LM", Float) = 0 + [Toggle(BAKERY_VERTEXLMSH)] _BAKERY_VERTEXLMSH ("Enable SH vertex LM", Float) = 0 + [Toggle(BAKERY_VERTEXLMMASK)] _BAKERY_VERTEXLMMASK ("Enable shadowmask vertex LM", Float) = 0 + [Toggle(BAKERY_SH)] _BAKERY_SH ("Enable SH", Float) = 0 + [Toggle(BAKERY_SHNONLINEAR)] _BAKERY_SHNONLINEAR ("SH non-linear mode", Float) = 1 + [Toggle(BAKERY_RNM)] _BAKERY_RNM ("Enable RNM", Float) = 0 + [Toggle(BAKERY_LMSPEC)] _BAKERY_LMSPEC ("Enable Lightmap Specular", Float) = 0 + [Toggle(BAKERY_BICUBIC)] _BAKERY_BICUBIC ("Enable Bicubic Filter", Float) = 0 + [Toggle(BAKERY_PROBESHNONLINEAR)] _BAKERY_PROBESHNONLINEAR ("Use non-linear SH for light probes", Float) = 0 + [Toggle(BAKERY_VOLUME)] _BAKERY_VOLUME ("Use volumes", Float) = 0 + [Toggle(BAKERY_VOLROTATION)] _BAKERY_VOLROTATION ("Support volume rotation", Float) = 0 + } + + CGINCLUDE + #define UNITY_SETUP_BRDF_INPUT SpecularSetup + ENDCG + + SubShader + { + Tags { "RenderType"="Opaque" "PerformanceChecks"="False" } + LOD 300 + + + // ------------------------------------------------------------------ + // Base forward pass (directional light, emission, lightmaps, ...) + Pass + { + Name "FORWARD" + Tags { "LightMode" = "ForwardBase" } + + Blend [_SrcBlend] [_DstBlend] + ZWrite [_ZWrite] + Cull [_BAKERY_2SIDED] + + CGPROGRAM + #pragma target 3.0 + + // ------------------------------------- + + #pragma shader_feature _NORMALMAP + #pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON + #pragma shader_feature _EMISSION + #pragma shader_feature _SPECGLOSSMAP + #pragma shader_feature ___ _DETAIL_MULX2 + #pragma shader_feature _ _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A + #pragma shader_feature _ _SPECULARHIGHLIGHTS_OFF + #pragma shader_feature _ _GLOSSYREFLECTIONS_OFF + #pragma shader_feature _PARALLAXMAP + + #pragma shader_feature BAKERY_VERTEXLM + #pragma shader_feature BAKERY_VERTEXLMDIR + #pragma shader_feature BAKERY_VERTEXLMSH + #pragma shader_feature BAKERY_VERTEXLMMASK + #pragma shader_feature BAKERY_SH + #pragma shader_feature BAKERY_SHNONLINEAR + #pragma shader_feature BAKERY_RNM + #pragma shader_feature BAKERY_LMSPEC + #pragma shader_feature BAKERY_BICUBIC + #pragma shader_feature BAKERY_PROBESHNONLINEAR + #pragma shader_feature BAKERY_VOLUME + #pragma shader_feature BAKERY_COMPRESSED_VOLUME + #pragma shader_feature BAKERY_VOLROTATION + + #pragma multi_compile_fwdbase + #pragma multi_compile_fog + #pragma multi_compile_instancing + // Uncomment the following line to enable dithering LOD crossfade. Note: there are more in the file to uncomment for other passes. + //#pragma multi_compile _ LOD_FADE_CROSSFADE + + #pragma vertex bakeryVertForwardBase + #pragma fragment bakeryFragForwardBase + + #include "UnityStandardCore.cginc" + #include "Bakery.cginc" + + ENDCG + } + // ------------------------------------------------------------------ + // Additive forward pass (one light per pass) + Pass + { + Name "FORWARD_DELTA" + Tags { "LightMode" = "ForwardAdd" } + Blend [_SrcBlend] One + Fog { Color (0,0,0,0) } // in additive pass fog should be black + ZWrite Off + ZTest LEqual + + CGPROGRAM + #pragma target 3.0 + + // ------------------------------------- + + + #pragma shader_feature _NORMALMAP + #pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON + #pragma shader_feature _SPECGLOSSMAP + #pragma shader_feature _ _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A + #pragma shader_feature _ _SPECULARHIGHLIGHTS_OFF + #pragma shader_feature ___ _DETAIL_MULX2 + #pragma shader_feature _PARALLAXMAP + + #pragma multi_compile_fwdadd_fullshadows + #pragma multi_compile_fog + // Uncomment the following line to enable dithering LOD crossfade. Note: there are more in the file to uncomment for other passes. + //#pragma multi_compile _ LOD_FADE_CROSSFADE + + #pragma vertex bakeryVertForwardAdd + #pragma fragment bakeryFragForwardAdd + + #include "UnityStandardCore.cginc" + #include "Bakery.cginc" + + ENDCG + } + // ------------------------------------------------------------------ + // Shadow rendering pass + Pass { + Name "ShadowCaster" + Tags { "LightMode" = "ShadowCaster" } + + ZWrite On ZTest LEqual + + CGPROGRAM + #pragma target 3.0 + + // ------------------------------------- + + #pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON + #pragma multi_compile_shadowcaster + + #pragma vertex vertShadowCaster + #pragma fragment fragShadowCaster + + #include "UnityStandardShadow.cginc" + + ENDCG + } + // ------------------------------------------------------------------ + // Deferred pass + Pass + { + Name "DEFERRED" + Tags { "LightMode" = "Deferred" } + + Cull [_BAKERY_2SIDED] + + CGPROGRAM + #pragma target 3.0 + #pragma exclude_renderers nomrt + + + // ------------------------------------- + + #pragma shader_feature _NORMALMAP + #pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON + #pragma shader_feature _EMISSION + #pragma shader_feature _SPECGLOSSMAP + #pragma shader_feature _ _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A + #pragma shader_feature _ _SPECULARHIGHLIGHTS_OFF + #pragma shader_feature ___ _DETAIL_MULX2 + #pragma shader_feature _PARALLAXMAP + + #pragma shader_feature BAKERY_VERTEXLM + #pragma shader_feature BAKERY_VERTEXLMDIR + #pragma shader_feature BAKERY_VERTEXLMSH + #pragma shader_feature BAKERY_VERTEXLMMASK + #pragma shader_feature BAKERY_SH + #pragma shader_feature BAKERY_SHNONLINEAR + #pragma shader_feature BAKERY_RNM + #pragma shader_feature BAKERY_LMSPEC + #pragma shader_feature BAKERY_BICUBIC + #pragma shader_feature BAKERY_PROBESHNONLINEAR + #pragma shader_feature BAKERY_VOLUME + #pragma shader_feature BAKERY_COMPRESSED_VOLUME + #pragma shader_feature BAKERY_VOLROTATION + + #pragma multi_compile_prepassfinal + #pragma multi_compile_instancing + // Uncomment the following line to enable dithering LOD crossfade. Note: there are more in the file to uncomment for other passes. + //#pragma multi_compile _ LOD_FADE_CROSSFADE + + #pragma vertex bakeryVertDeferred + #pragma fragment bakeryFragDeferred + + #include "UnityStandardCore.cginc" + #include "Bakery.cginc" + + ENDCG + } + + // ------------------------------------------------------------------ + // Extracts information for lightmapping, GI (emission, albedo, ...) + // This pass it not used during regular rendering. + Pass + { + Name "META" + Tags { "LightMode"="Meta" } + + Cull Off + + CGPROGRAM + #pragma vertex vert_meta + #pragma fragment frag_meta + + #pragma shader_feature _EMISSION + #pragma shader_feature _SPECGLOSSMAP + #pragma shader_feature _ _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A + #pragma shader_feature ___ _DETAIL_MULX2 + + #include "UnityStandardMeta.cginc" + ENDCG + } + } + + SubShader + { + Tags { "RenderType"="Opaque" "PerformanceChecks"="False" } + LOD 150 + + // ------------------------------------------------------------------ + // Base forward pass (directional light, emission, lightmaps, ...) + Pass + { + Name "FORWARD" + Tags { "LightMode" = "ForwardBase" } + + Blend [_SrcBlend] [_DstBlend] + ZWrite [_ZWrite] + Cull [_BAKERY_2SIDED] + + CGPROGRAM + #pragma target 2.0 + + #pragma shader_feature _NORMALMAP + #pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON + #pragma shader_feature _EMISSION + #pragma shader_feature _SPECGLOSSMAP + #pragma shader_feature _ _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A + #pragma shader_feature _ _SPECULARHIGHLIGHTS_OFF + #pragma shader_feature _ _GLOSSYREFLECTIONS_OFF + #pragma shader_feature ___ _DETAIL_MULX2 + + /* + #pragma shader_feature BAKERY_VERTEXLM + #pragma shader_feature BAKERY_VERTEXLMDIR + #pragma shader_feature BAKERY_VERTEXLMSH + #pragma shader_feature BAKERY_VERTEXLMMASK + #pragma shader_feature BAKERY_SH + #pragma shader_feature BAKERY_SHNONLINEAR + #pragma shader_feature BAKERY_RNM + #pragma shader_feature BAKERY_LMSPEC + #pragma shader_feature BAKERY_BICUBIC + */ + + // SM2.0: NOT SUPPORTED shader_feature _PARALLAXMAP + + #pragma skip_variants SHADOWS_SOFT DIRLIGHTMAP_COMBINED + + #pragma multi_compile_fwdbase + #pragma multi_compile_fog + + #pragma vertex bakeryVertForwardBase + #pragma fragment bakeryFragForwardBase + + #include "UnityStandardCoreForward.cginc" + #include "Bakery.cginc" + + ENDCG + } + // ------------------------------------------------------------------ + // Additive forward pass (one light per pass) + Pass + { + Name "FORWARD_DELTA" + Tags { "LightMode" = "ForwardAdd" } + Blend [_SrcBlend] One + Fog { Color (0,0,0,0) } // in additive pass fog should be black + ZWrite Off + ZTest LEqual + + CGPROGRAM + #pragma target 2.0 + + #pragma shader_feature _NORMALMAP + #pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON + #pragma shader_feature _SPECGLOSSMAP + #pragma shader_feature _ _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A + #pragma shader_feature _ _SPECULARHIGHLIGHTS_OFF + #pragma shader_feature ___ _DETAIL_MULX2 + // SM2.0: NOT SUPPORTED shader_feature _PARALLAXMAP + #pragma skip_variants SHADOWS_SOFT + + #pragma multi_compile_fwdadd_fullshadows + #pragma multi_compile_fog + + #pragma vertex bakeryVertForwardAdd + #pragma fragment bakeryFragForwardAdd + + #include "UnityStandardCoreForward.cginc" + #include "Bakery.cginc" + + ENDCG + } + // ------------------------------------------------------------------ + // Shadow rendering pass + Pass { + Name "ShadowCaster" + Tags { "LightMode" = "ShadowCaster" } + + ZWrite On ZTest LEqual + + CGPROGRAM + #pragma target 2.0 + + #pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON + #pragma skip_variants SHADOWS_SOFT + #pragma multi_compile_shadowcaster + + #pragma vertex vertShadowCaster + #pragma fragment fragShadowCaster + + #include "UnityStandardShadow.cginc" + + ENDCG + } + + // ------------------------------------------------------------------ + // Extracts information for lightmapping, GI (emission, albedo, ...) + // This pass it not used during regular rendering. + Pass + { + Name "META" + Tags { "LightMode"="Meta" } + + Cull Off + + CGPROGRAM + #pragma vertex vert_meta + #pragma fragment frag_meta + + #pragma shader_feature _EMISSION + #pragma shader_feature _SPECGLOSSMAP + #pragma shader_feature _ _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A + #pragma shader_feature ___ _DETAIL_MULX2 + #pragma shader_feature EDITOR_VISUALIZATION + + #include "UnityStandardMeta.cginc" + ENDCG + } + } + + FallBack "VertexLit" + CustomEditor "BakeryShaderGUI" +} diff --git a/VRCSDK3Worlds/Assets/Bakery/shader/BakeryStandardSpecular.shader.meta b/VRCSDK3Worlds/Assets/Bakery/shader/BakeryStandardSpecular.shader.meta new file mode 100644 index 00000000..2307655a --- /dev/null +++ b/VRCSDK3Worlds/Assets/Bakery/shader/BakeryStandardSpecular.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2ad53c3d60baf17489980f3b010d040e +timeCreated: 1538413381 +licenseType: Store +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: |