@@ -476,7 +476,11 @@ struct AmbientOcclusionFactor
476476
477477half SampleAmbientOcclusion (float2 normalizedScreenSpaceUV)
478478{
479- if (_Surface == SURFACE_TRANSPARENT)
479+ #if defined (_SURFACE_TYPE_TRANSPARENT)
480+ return 1 ;
481+ #endif
482+
483+ if (_Surface == SURFACE_TRANSPARENT )
480484 return 1 ;
481485
482486 float2 uv = UnityStereoTransformScreenSpaceTex (normalizedScreenSpaceUV);
@@ -834,10 +838,12 @@ half4 UniversalFragmentPBR(InputData inputData, SurfaceData surfaceData)
834838 Light mainLight = GetMainLight (inputData.shadowCoord, inputData.positionWS, shadowMask);
835839
836840 #if defined (_SCREEN_SPACE_OCCLUSION)
841+ #if !defined (_SURFACE_TYPE_TRANSPARENT)
837842 AmbientOcclusionFactor aoFactor = GetScreenSpaceAmbientOcclusion (inputData.normalizedScreenSpaceUV);
838843 mainLight.color *= aoFactor.directAmbientOcclusion;
839844 surfaceData.occlusion = min (surfaceData.occlusion, aoFactor.indirectAmbientOcclusion);
840845 #endif
846+ #endif
841847
842848 MixRealtimeAndBakedGI (mainLight, inputData.normalWS, inputData.bakedGI);
843849 half3 color = GlobalIllumination (brdfData, brdfDataClearCoat, surfaceData.clearCoatMask,
@@ -854,8 +860,10 @@ half4 UniversalFragmentPBR(InputData inputData, SurfaceData surfaceData)
854860 {
855861 Light light = GetAdditionalLight (lightIndex, inputData.positionWS, shadowMask);
856862 #if defined (_SCREEN_SPACE_OCCLUSION)
863+ #if !defined (_SURFACE_TYPE_TRANSPARENT)
857864 light.color *= aoFactor.directAmbientOcclusion;
858865 #endif
866+ #endif
859867 color += LightingPhysicallyBased (brdfData, brdfDataClearCoat,
860868 light,
861869 inputData.normalWS, inputData.viewDirectionWS,
@@ -902,10 +910,12 @@ half4 UniversalFragmentBlinnPhong(InputData inputData, half3 diffuse, half4 spec
902910 Light mainLight = GetMainLight (inputData.shadowCoord, inputData.positionWS, shadowMask);
903911
904912 #if defined (_SCREEN_SPACE_OCCLUSION)
913+ #if !defined (_SURFACE_TYPE_TRANSPARENT)
905914 AmbientOcclusionFactor aoFactor = GetScreenSpaceAmbientOcclusion (inputData.normalizedScreenSpaceUV);
906915 mainLight.color *= aoFactor.directAmbientOcclusion;
907916 inputData.bakedGI *= aoFactor.indirectAmbientOcclusion;
908917 #endif
918+ #endif
909919
910920 MixRealtimeAndBakedGI (mainLight, inputData.normalWS, inputData.bakedGI);
911921
@@ -919,8 +929,10 @@ half4 UniversalFragmentBlinnPhong(InputData inputData, half3 diffuse, half4 spec
919929 {
920930 Light light = GetAdditionalLight (lightIndex, inputData.positionWS, shadowMask);
921931 #if defined (_SCREEN_SPACE_OCCLUSION)
932+ #if !defined (_SURFACE_TYPE_TRANSPARENT)
922933 light.color *= aoFactor.directAmbientOcclusion;
923934 #endif
935+ #endif
924936 half3 attenuatedLightColor = light.color * (light.distanceAttenuation * light.shadowAttenuation);
925937 diffuseColor += LightingLambert (attenuatedLightColor, light.direction, inputData.normalWS);
926938 specularColor += LightingSpecular (attenuatedLightColor, light.direction, inputData.normalWS, inputData.viewDirectionWS, specularGloss, smoothness);
0 commit comments