forked from BilalY/Rasagar
73 lines
3.8 KiB
HLSL
73 lines
3.8 KiB
HLSL
#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
|