You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
348 lines
11 KiB
348 lines
11 KiB
Shader "FrozenBears/StandardUIRoughness" |
|
{ |
|
Properties |
|
{ |
|
_Color("Color", Color) = (1,1,1,1) |
|
_MainTex("Albedo", 2D) = "white" {} |
|
|
|
_Cutoff("Alpha Cutoff", Range(0.0, 1.0)) = 0.5 |
|
|
|
_Glossiness("Roughness", Range(0.0, 1.0)) = 0.5 |
|
_SpecGlossMap("Roughness Map", 2D) = "white" {} |
|
|
|
_Metallic("Metallic", Range(0.0, 1.0)) = 0.0 |
|
_MetallicGlossMap("Metallic", 2D) = "white" {} |
|
|
|
[ToggleOff] _SpecularHighlights("Specular Highlights", Float) = 1.0 |
|
[ToggleOff] _GlossyReflections("Glossy Reflections", Float) = 1.0 |
|
|
|
_BumpScale("Scale", Float) = 1.0 |
|
[Normal] _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 |
|
[Normal] _DetailNormalMap("Normal Map", 2D) = "bump" {} |
|
|
|
[Enum(UV0,0,UV1,1)] _UVSec ("UV Set for secondary textures", Float) = 0 |
|
|
|
[Header(Stencil)] |
|
_StencilComp("Stencil Comparison", Float) = 8 |
|
_Stencil("Stencil ID", Float) = 0 |
|
_StencilOp("Stencil Operation", Float) = 0 |
|
_StencilWriteMask("Stencil Write Mask", Float) = 255 |
|
_StencilReadMask("Stencil Read Mask", Float) = 255 |
|
|
|
[Header(Ui)] |
|
[Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip("Use Alpha Clip", 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 |
|
} |
|
|
|
CGINCLUDE |
|
#define UNITY_SETUP_BRDF_INPUT RoughnessSetup |
|
ENDCG |
|
|
|
SubShader |
|
{ |
|
Tags { "Queue"="Transparent" "RenderType"="Opaque" "PerformanceChecks"="False" } |
|
LOD 300 |
|
|
|
Stencil |
|
{ |
|
Ref 1 |
|
Comp LEqual |
|
Pass Keep |
|
ReadMask [_StencilReadMask] |
|
WriteMask [_StencilWriteMask] |
|
} |
|
|
|
|
|
// ------------------------------------------------------------------ |
|
// Base forward pass (directional light, emission, lightmaps, ...) |
|
Pass |
|
{ |
|
Name "FORWARD" |
|
Tags { "LightMode" = "ForwardBase" } |
|
|
|
Blend [_SrcBlend] [_DstBlend] |
|
ZWrite [_ZWrite] |
|
|
|
CGPROGRAM |
|
#pragma target 3.5 |
|
|
|
// ------------------------------------- |
|
#pragma shader_feature_local _NORMALMAP |
|
#pragma shader_feature_local _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON |
|
#pragma shader_feature _EMISSION |
|
#pragma shader_feature_local _METALLICGLOSSMAP |
|
#pragma shader_feature_local _SPECGLOSSMAP |
|
#pragma shader_feature_local _DETAIL_MULX2 |
|
#pragma shader_feature_local _SPECULARHIGHLIGHTS_OFF |
|
#pragma shader_feature_local _GLOSSYREFLECTIONS_OFF |
|
#pragma shader_feature_local _PARALLAXMAP |
|
|
|
#pragma multi_compile_fwdbase |
|
#pragma multi_compile_fog |
|
#pragma multi_compile_instancing |
|
|
|
#pragma vertex vertBase |
|
#pragma fragment fragBase |
|
#include "UnityStandardCoreForward.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.5 |
|
|
|
// ------------------------------------- |
|
|
|
#pragma shader_feature_local _NORMALMAP |
|
#pragma shader_feature_local _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON |
|
#pragma shader_feature_local _METALLICGLOSSMAP |
|
#pragma shader_feature_local _SPECGLOSSMAP |
|
#pragma shader_feature_local _SPECULARHIGHLIGHTS_OFF |
|
#pragma shader_feature_local _DETAIL_MULX2 |
|
#pragma shader_feature_local _PARALLAXMAP |
|
|
|
#pragma multi_compile_fwdadd_fullshadows |
|
#pragma multi_compile_fog |
|
|
|
#pragma vertex vertAdd |
|
#pragma fragment fragAdd |
|
#include "UnityStandardCoreForward.cginc" |
|
|
|
ENDCG |
|
} |
|
// ------------------------------------------------------------------ |
|
// Shadow rendering pass |
|
Pass { |
|
Name "ShadowCaster" |
|
Tags { "LightMode" = "ShadowCaster" } |
|
|
|
ZWrite On ZTest LEqual |
|
|
|
CGPROGRAM |
|
#pragma target 3.5 |
|
|
|
// ------------------------------------- |
|
|
|
#pragma shader_feature_local _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON |
|
#pragma shader_feature_local _METALLICGLOSSMAP |
|
#pragma shader_feature_local _PARALLAXMAP |
|
#pragma multi_compile_shadowcaster |
|
#pragma multi_compile_instancing |
|
|
|
#pragma vertex vertShadowCaster |
|
#pragma fragment fragShadowCaster |
|
|
|
#include "UnityStandardShadow.cginc" |
|
|
|
ENDCG |
|
} |
|
// ------------------------------------------------------------------ |
|
// Deferred pass |
|
Pass |
|
{ |
|
Name "DEFERRED" |
|
Tags { "LightMode" = "Deferred" } |
|
|
|
CGPROGRAM |
|
#pragma target 3.0 |
|
#pragma exclude_renderers nomrt |
|
|
|
|
|
// ------------------------------------- |
|
#pragma shader_feature_local _NORMALMAP |
|
#pragma shader_feature_local _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON |
|
#pragma shader_feature _EMISSION |
|
#pragma shader_feature_local _METALLICGLOSSMAP |
|
#pragma shader_feature_local _SPECGLOSSMAP |
|
#pragma shader_feature_local _SPECULARHIGHLIGHTS_OFF |
|
#pragma shader_feature_local _DETAIL_MULX2 |
|
#pragma shader_feature_local _PARALLAXMAP |
|
|
|
#pragma multi_compile_prepassfinal |
|
#pragma multi_compile_instancing |
|
|
|
#pragma vertex vertDeferred |
|
#pragma fragment fragDeferred |
|
|
|
#include "UnityStandardCore.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_local _METALLICGLOSSMAP |
|
#pragma shader_feature_local _SPECGLOSSMAP |
|
#pragma shader_feature_local _DETAIL_MULX2 |
|
#pragma shader_feature EDITOR_VISUALIZATION |
|
|
|
#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] |
|
|
|
CGPROGRAM |
|
#pragma target 2.0 |
|
#pragma shader_feature_local _NORMALMAP |
|
#pragma shader_feature_local _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON |
|
#pragma shader_feature _EMISSION |
|
#pragma shader_feature_local _METALLICGLOSSMAP |
|
#pragma shader_feature_local _SPECGLOSSMAP |
|
#pragma shader_feature_local _SPECULARHIGHLIGHTS_OFF |
|
#pragma shader_feature_local _GLOSSYREFLECTIONS_OFF |
|
// SM2.0: NOT SUPPORTED shader_feature_local _DETAIL_MULX2 |
|
// SM2.0: NOT SUPPORTED shader_feature_local _PARALLAXMAP |
|
|
|
#pragma skip_variants SHADOWS_SOFT DIRLIGHTMAP_COMBINED |
|
|
|
#pragma multi_compile_fwdbase |
|
#pragma multi_compile_fog |
|
|
|
#pragma vertex vertBase |
|
#pragma fragment fragBase |
|
#include "UnityStandardCoreForward.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_local _NORMALMAP |
|
#pragma shader_feature_local _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON |
|
#pragma shader_feature_local _METALLICGLOSSMAP |
|
#pragma shader_feature_local _SPECGLOSSMAP |
|
#pragma shader_feature_local _SPECULARHIGHLIGHTS_OFF |
|
// SM2.0: NOT SUPPORTED #pragma shader_feature_local _DETAIL_MULX2 |
|
// SM2.0: NOT SUPPORTED shader_feature_local _PARALLAXMAP |
|
#pragma skip_variants SHADOWS_SOFT |
|
|
|
#pragma multi_compile_fwdadd_fullshadows |
|
#pragma multi_compile_fog |
|
|
|
#pragma vertex vertAdd |
|
#pragma fragment fragAdd |
|
#include "UnityStandardCoreForward.cginc" |
|
|
|
ENDCG |
|
} |
|
// ------------------------------------------------------------------ |
|
// Shadow rendering pass |
|
Pass { |
|
Name "ShadowCaster" |
|
Tags { "LightMode" = "ShadowCaster" } |
|
|
|
ZWrite On ZTest LEqual |
|
|
|
CGPROGRAM |
|
#pragma target 2.0 |
|
#pragma shader_feature_local _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON |
|
#pragma shader_feature_local _METALLICGLOSSMAP |
|
#pragma shader_feature_local _SPECGLOSSMAP |
|
#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_local _METALLICGLOSSMAP |
|
#pragma shader_feature_local _SPECGLOSSMAP |
|
#pragma shader_feature_local _DETAIL_MULX2 |
|
#pragma shader_feature EDITOR_VISUALIZATION |
|
|
|
#include "UnityStandardMeta.cginc" |
|
ENDCG |
|
} |
|
} |
|
|
|
|
|
FallBack "VertexLit" |
|
CustomEditor "AutodeskInteractiveShaderGUI" |
|
} |