123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- #ifndef UNIVERSAL_DOTS_INSTANCING_INCLUDED
- #define UNIVERSAL_DOTS_INSTANCING_INCLUDED
-
- #ifdef UNITY_DOTS_INSTANCING_ENABLED
-
- #undef unity_ObjectToWorld
- #undef unity_WorldToObject
- #undef unity_MatrixPreviousM
- #undef unity_MatrixPreviousMI
- // TODO: This might not work correctly in all cases, double check!
- UNITY_DOTS_INSTANCING_START(BuiltinPropertyMetadata)
- UNITY_DOTS_INSTANCED_PROP_OVERRIDE_SUPPORTED(float3x4, unity_ObjectToWorld)
- UNITY_DOTS_INSTANCED_PROP_OVERRIDE_SUPPORTED(float3x4, unity_WorldToObject)
- UNITY_DOTS_INSTANCED_PROP_OVERRIDE_SUPPORTED(float4, unity_SpecCube0_HDR)
- UNITY_DOTS_INSTANCED_PROP_OVERRIDE_SUPPORTED(float4, unity_LightmapST)
- UNITY_DOTS_INSTANCED_PROP_OVERRIDE_SUPPORTED(float4, unity_LightmapIndex)
- UNITY_DOTS_INSTANCED_PROP_OVERRIDE_SUPPORTED(float4, unity_DynamicLightmapST)
- UNITY_DOTS_INSTANCED_PROP_OVERRIDE_SUPPORTED(float3x4, unity_MatrixPreviousM)
- UNITY_DOTS_INSTANCED_PROP_OVERRIDE_SUPPORTED(float3x4, unity_MatrixPreviousMI)
- UNITY_DOTS_INSTANCED_PROP_OVERRIDE_SUPPORTED(SH, unity_SHCoefficients)
- UNITY_DOTS_INSTANCED_PROP_OVERRIDE_SUPPORTED(uint2, unity_EntityId)
- UNITY_DOTS_INSTANCING_END(BuiltinPropertyMetadata)
-
- #define unity_LODFade LoadDOTSInstancedData_LODFade()
- #define unity_SpecCube0_HDR UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_CUSTOM_DEFAULT(float4, unity_SpecCube0_HDR, unity_DOTS_SpecCube0_HDR)
- #define unity_LightmapST UNITY_ACCESS_DOTS_INSTANCED_PROP(float4, unity_LightmapST)
- #define unity_LightmapIndex UNITY_ACCESS_DOTS_INSTANCED_PROP(float4, unity_LightmapIndex)
- #define unity_DynamicLightmapST UNITY_ACCESS_DOTS_INSTANCED_PROP(float4, unity_DynamicLightmapST)
- #define unity_SHAr LoadDOTSInstancedData_SHAr()
- #define unity_SHAg LoadDOTSInstancedData_SHAg()
- #define unity_SHAb LoadDOTSInstancedData_SHAb()
- #define unity_SHBr LoadDOTSInstancedData_SHBr()
- #define unity_SHBg LoadDOTSInstancedData_SHBg()
- #define unity_SHBb LoadDOTSInstancedData_SHBb()
- #define unity_SHC LoadDOTSInstancedData_SHC()
- #define unity_ProbesOcclusion LoadDOTSInstancedData_ProbesOcclusion()
- #define unity_LightData LoadDOTSInstancedData_LightData()
- #define unity_WorldTransformParams LoadDOTSInstancedData_WorldTransformParams()
- #define unity_RenderingLayer LoadDOTSInstancedData_RenderingLayer()
- #define unity_MotionVectorsParams LoadDOTSInstancedData_MotionVectorsParams()
-
- #define UNITY_SETUP_DOTS_SH_COEFFS SetupDOTSSHCoeffs(UNITY_DOTS_INSTANCED_METADATA_NAME(SH, unity_SHCoefficients))
- #define UNITY_SETUP_DOTS_RENDER_BOUNDS SetupDOTSRendererBounds(UNITY_DOTS_MATRIX_M)
-
- // Not supported by BatchRendererGroup. Just define them as constants.
- // ------------------------------------------------------------------------------
- static const float2x4 unity_LightIndices = float2x4(0,0,0,0, 0,0,0,0);
-
- static const float4 unity_SpecCube0_BoxMax = float4(1,1,1,1);
- static const float4 unity_SpecCube0_BoxMin = float4(0,0,0,0);
- static const float4 unity_SpecCube0_ProbePosition = float4(0,0,0,0);
-
- static const float4 unity_SpecCube1_BoxMax = float4(1,1,1,1);
- static const float4 unity_SpecCube1_BoxMin = float4(0,0,0,0);
- static const float4 unity_SpecCube1_ProbePosition = float4(0,0,0,0);
- static const float4 unity_SpecCube1_HDR = float4(0,0,0,0);
-
- static const float4 unity_RendererBounds_Min = float4(0,0,0,0);
- static const float4 unity_RendererBounds_Max = float4(0,0,0,0);
-
- // Set up by BRG picking/selection code
- int unity_SubmeshIndex;
- #define unity_SelectionID UNITY_ACCESS_DOTS_INSTANCED_SELECTION_VALUE(unity_EntityId, unity_SubmeshIndex, _SelectionID)
-
- #else
-
- #define unity_SelectionID _SelectionID
- #define UNITY_SETUP_DOTS_RENDER_BOUNDS
-
- #endif
-
- #endif
|