123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- #ifndef SPINE_COMMON_URP_INCLUDED
- #define SPINE_COMMON_URP_INCLUDED
- #if defined(USE_FORWARD_PLUS) || defined(USE_CLUSTER_LIGHT_LOOP)
- #define IS_URP_14_OR_NEWER 1
- #define IS_URP_12_OR_NEWER 1
- #else
- #define IS_URP_14_OR_NEWER 0
- #ifdef UNIVERSAL_REALTIME_LIGHTS_INCLUDED
- #define IS_URP_12_OR_NEWER 1
- #else
- #define IS_URP_12_OR_NEWER 0
- #endif
- #endif
- #if IS_URP_14_OR_NEWER && !defined(_USE_WEBGL1_LIGHTS)
- #define IS_URP_15_OR_NEWER 1
- #include "Packages/com.unity.render-pipelines.core/Runtime/Lighting/ProbeVolume/ProbeVolume.hlsl"
- #if defined(_APVWorldOffset)
- #define IS_URP_17_OR_NEWER 1
- #else
- #define IS_URP_17_OR_NEWER 0
- #endif
- #else
- #define IS_URP_15_OR_NEWER 0
- #endif
- #if defined(_WRITE_RENDERING_LAYERS) && IS_URP_14_OR_NEWER
- #define USE_WRITE_RENDERING_LAYERS
- #endif
- #if defined(_LIGHT_LAYERS) && IS_URP_12_OR_NEWER
- #define USE_LIGHT_LAYERS
- #endif
- #if defined(_LIGHT_COOKIES) && IS_URP_12_OR_NEWER
- #define USE_LIGHT_COOKIES
- #endif
- #ifdef USE_LIGHT_LAYERS
- uint GetMeshRenderingLayerBackwardsCompatible()
- {
- #if IS_URP_14_OR_NEWER
- return GetMeshRenderingLayer();
- #elif IS_URP_12_OR_NEWER
- return GetMeshRenderingLightLayer();
- #else
- return 0;
- #endif
- }
- #else
- uint GetMeshRenderingLayerBackwardsCompatible()
- {
- return 0;
- }
- #endif
- #if USE_FORWARD_PLUS
- // note: LIGHT_LOOP_BEGIN accesses inputData.normalizedScreenSpaceUV and inputData.positionWS.
- #define LIGHT_LOOP_BEGIN_SPINE LIGHT_LOOP_BEGIN
- #define LIGHT_LOOP_END_SPINE LIGHT_LOOP_END
- #elif !_USE_WEBGL1_LIGHTS
- #define LIGHT_LOOP_BEGIN_SPINE(lightCount) \
- for (uint lightIndex = 0u; lightIndex < lightCount; ++lightIndex) {
- #define LIGHT_LOOP_END_SPINE }
- #else
- // WebGL 1 doesn't support variable for loop conditions
- #define LIGHT_LOOP_BEGIN_SPINE(lightCount) \
- for (int lightIndex = 0; lightIndex < _WEBGL1_MAX_LIGHTS; ++lightIndex) { \
- if (lightIndex >= (int)lightCount) break;
- #define LIGHT_LOOP_END_SPINE }
- #endif
- #endif
|