123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #ifndef UNIVERSAL_INPUT_SURFACE_INCLUDED
- #define UNIVERSAL_INPUT_SURFACE_INCLUDED
-
- #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
- #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/SurfaceData.hlsl"
- #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Packing.hlsl"
- #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/CommonMaterial.hlsl"
- #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl"
-
- TEXTURE2D(_BaseMap);
- SAMPLER(sampler_BaseMap);
- float4 _BaseMap_TexelSize;
- UNITY_TEXTURE_STREAMING_DEBUG_VARS_FOR_TEX(_BaseMap);
- TEXTURE2D(_BumpMap);
- SAMPLER(sampler_BumpMap);
- TEXTURE2D(_EmissionMap);
- SAMPLER(sampler_EmissionMap);
-
- ///////////////////////////////////////////////////////////////////////////////
- // Material Property Helpers //
- ///////////////////////////////////////////////////////////////////////////////
- half Alpha(half albedoAlpha, half4 color, half cutoff)
- {
- #if !defined(_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A) && !defined(_GLOSSINESS_FROM_BASE_ALPHA)
- half alpha = albedoAlpha * color.a;
- #else
- half alpha = color.a;
- #endif
-
- alpha = AlphaDiscard(alpha, cutoff);
-
- return alpha;
- }
-
- half4 SampleAlbedoAlpha(float2 uv, TEXTURE2D_PARAM(albedoAlphaMap, sampler_albedoAlphaMap))
- {
- return half4(SAMPLE_TEXTURE2D(albedoAlphaMap, sampler_albedoAlphaMap, uv));
- }
-
- half3 SampleNormal(float2 uv, TEXTURE2D_PARAM(bumpMap, sampler_bumpMap), half scale = half(1.0))
- {
- #ifdef _NORMALMAP
- half4 n = SAMPLE_TEXTURE2D(bumpMap, sampler_bumpMap, uv);
- #if BUMP_SCALE_NOT_SUPPORTED
- return UnpackNormal(n);
- #else
- return UnpackNormalScale(n, scale);
- #endif
- #else
- return half3(0.0h, 0.0h, 1.0h);
- #endif
- }
-
- half3 SampleEmission(float2 uv, half3 emissionColor, TEXTURE2D_PARAM(emissionMap, sampler_emissionMap))
- {
- #ifndef _EMISSION
- return 0;
- #else
- return SAMPLE_TEXTURE2D(emissionMap, sampler_emissionMap, uv).rgb * emissionColor;
- #endif
- }
-
- #endif
|