Skip to content

Commit

Permalink
Mostly fix VAB decal issues
Browse files Browse the repository at this point in the history
  • Loading branch information
drewcassidy committed Jun 27, 2024
1 parent a3a9ad9 commit 1be7a98
Show file tree
Hide file tree
Showing 7 changed files with 27 additions and 18 deletions.
2 changes: 1 addition & 1 deletion Assets/Shaders/DecalsLighting.cginc
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ inline half4 KSPLightingStandardSpecular_Deferred (SurfaceOutputStandardSpecular
outEmission = half4(s.Emission, s.Alpha);

#ifndef UNITY_HDR_ON
outEmission.rgb = exp2(-outEmission.rgb);
outEmission.rgb = saturate(exp2(-outEmission.rgb));
#endif

return outEmission;
Expand Down
5 changes: 5 additions & 0 deletions Assets/Shaders/DecalsSurface.cginc
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,12 @@ void frag_deferred (v2f IN,
o.Normal = WorldNormal;
#endif

#ifdef DECAL_PREVIEW
o.Alpha = 1;
#endif

KSPLightingStandardSpecular_Deferred(o, outGBuffer0, outGBuffer1, outGBuffer2, outEmission);

outGBuffer0.a = o.Alpha;
outGBuffer1 *= o.Alpha;
outGBuffer2.a = o.Alpha;
Expand Down
2 changes: 1 addition & 1 deletion Assets/Shaders/StandardDecal.cginc
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ void surf(DecalSurfaceInput IN, inout SurfaceOutputStandardSpecular o) {

#ifdef DECAL_SPECMAP
float4 specular = tex2D(_SpecMap, IN.uv_specmap);
o.Specular = specular
o.Specular = specular;
#endif

o.Smoothness = _Shininess;
Expand Down
20 changes: 11 additions & 9 deletions Assets/Shaders/StandardDecal.shader
Original file line number Diff line number Diff line change
Expand Up @@ -119,12 +119,7 @@
#pragma fragment frag_deferred_prepass
#pragma target 3.0

#pragma multi_compile_deferred nolightmap nodirlightmap nodynlightmap
#pragma skip_variants SHADOWS_DEPTH SHADOWS_CUBE SHADOWS_SHADOWMASK LIGHTMAP_SHADOW_MIXING POINT_COOKIE
#pragma multi_compile_local __ DECAL_PREVIEW
// #pragma multi_compile_local __ DECAL_BASE_NORMAL DECAL_BUMPMAP
#pragma multi_compile_local __ DECAL_SPECMAP
// #pragma multi_compile_local __ DECAL_EMISSIVE
#pragma multi_compile_local __ DECAL_SDF_ALPHA

#include "UnityCG.cginc"
Expand All @@ -140,21 +135,26 @@
{
Name "DEFERRED"
Tags { "LightMode" = "Deferred" }
ZWrite [_ZWrite]
ZWrite On
ZTest LEqual
Offset -1, -1
Blend 0 SrcAlpha OneMinusSrcAlpha, Zero One
Blend 0 SrcAlpha OneMinusSrcAlpha, One One
Blend 1 One One
Blend 2 SrcAlpha OneMinusSrcAlpha, Zero One
Blend 3 SrcAlpha OneMinusSrcAlpha, Zero One

Stencil {
Ref 8
Comp Always
Pass Replace
}

CGPROGRAM
#pragma vertex vert
#pragma fragment frag_deferred
#pragma target 3.0

#pragma multi_compile_deferred nolightmap nodirlightmap nodynlightmap
#pragma skip_variants SHADOWS_DEPTH SHADOWS_CUBE SHADOWS_SHADOWMASK LIGHTMAP_SHADOW_MIXING POINT_COOKIE
#pragma multi_compile __ UNITY_HDR_ON
#pragma multi_compile_local __ DECAL_PREVIEW
#pragma multi_compile_local __ DECAL_BASE_NORMAL DECAL_BUMPMAP
#pragma multi_compile_local __ DECAL_SPECMAP
Expand All @@ -169,5 +169,7 @@

ENDCG
}

UsePass "Legacy Shaders/VertexLit/SHADOWCASTER"
}
}
14 changes: 7 additions & 7 deletions Assets/Shaders/TextDecal.shader
Original file line number Diff line number Diff line change
Expand Up @@ -120,12 +120,7 @@
#pragma fragment frag_deferred_prepass
#pragma target 3.0

#pragma multi_compile_deferred nolightmap nodirlightmap nodynlightmap
#pragma skip_variants SHADOWS_DEPTH SHADOWS_CUBE SHADOWS_SHADOWMASK LIGHTMAP_SHADOW_MIXING POINT_COOKIE
#pragma multi_compile_local __ DECAL_PREVIEW
// #pragma multi_compile_local __ DECAL_BASE_NORMAL DECAL_BUMPMAP
#pragma multi_compile_local __ DECAL_SPECMAP
// #pragma multi_compile_local __ DECAL_EMISSIVE
#pragma multi_compile_local __ DECAL_SDF_ALPHA

#include "UnityCG.cginc"
Expand All @@ -149,13 +144,18 @@
Blend 2 SrcAlpha OneMinusSrcAlpha, Zero One
Blend 3 SrcAlpha OneMinusSrcAlpha, Zero One

Stencil {
Ref 8
Comp Always
Pass Replace
}

CGPROGRAM
#pragma vertex vert
#pragma fragment frag_deferred
#pragma target 3.0

#pragma multi_compile_deferred nolightmap nodirlightmap nodynlightmap
#pragma skip_variants SHADOWS_DEPTH SHADOWS_CUBE SHADOWS_SHADOWMASK LIGHTMAP_SHADOW_MIXING POINT_COOKIE
#pragma multi_compile __ UNITY_HDR_ON
#pragma multi_compile_local __ DECAL_PREVIEW
#pragma multi_compile_local __ DECAL_BASE_NORMAL DECAL_BUMPMAP
#pragma multi_compile_local __ DECAL_SPECMAP
Expand Down
Binary file modified GameData/ConformalDecals/Resources/conformaldecals.shab
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ public Material DecalMaterial {
_decalMaterial.SetInt(DecalPropertyIDs._Cull, (int) CullMode.Off);
_decalMaterial.SetInt(DecalPropertyIDs._ZWrite, 0);
_decalMaterial.renderQueue = RenderQueue;
_decalMaterial.SetShaderPassEnabled("SHADOWCASTER", false);
}

return _decalMaterial;
Expand All @@ -59,6 +60,7 @@ public Material PreviewMaterial {
_previewMaterial.EnableKeyword("DECAL_PREVIEW");
_previewMaterial.SetInt(DecalPropertyIDs._Cull, (int) CullMode.Back);
_previewMaterial.SetInt(DecalPropertyIDs._ZWrite, 1);
_previewMaterial.SetShaderPassEnabled("DEFERRED_PREPASS", false);
}

return _previewMaterial;
Expand Down

0 comments on commit 1be7a98

Please sign in to comment.