123456789101112131415161718192021222324252627282930313233343536373839 |
- // UNITY_SHADER_NO_UPGRADE
- #ifndef _VLB_SHADER_PROPERTY_SYSTEM_INCLUDED_
- #define _VLB_SHADER_PROPERTY_SYSTEM_INCLUDED_
- /// ****************************************
- /// PROPERTIES MACROS
- /// ****************************************
- #if VLB_INSTANCING_API_AVAILABLE && VLB_GPU_INSTANCING
- #if UNITY_VERSION < 201730 // https://unity3d.com/fr/unity/beta/unity2017.3.0b1
- // PRE UNITY 2017.3
- // for some reason, letting the default UNITY_MAX_INSTANCE_COUNT value generates the following error:
- // "Internal error communicating with the shader compiler process"
- #define UNITY_MAX_INSTANCE_COUNT 150
- #define VLB_DEFINE_PROP_START UNITY_INSTANCING_CBUFFER_START(Props)
- #define VLB_DEFINE_PROP_END UNITY_INSTANCING_CBUFFER_END
- #define VLB_GET_PROP(name) UNITY_ACCESS_INSTANCED_PROP(name)
- #else
- // POST UNITY 2017.3
- #define VLB_DEFINE_PROP_START UNITY_INSTANCING_BUFFER_START(Props)
- #define VLB_DEFINE_PROP_END UNITY_INSTANCING_BUFFER_END(Props)
- #define VLB_GET_PROP(name) UNITY_ACCESS_INSTANCED_PROP(Props, name)
- #endif
- #define VLB_DEFINE_PROP(type, name) UNITY_DEFINE_INSTANCED_PROP(type, name)
- #elif VLB_SRP_API && VLB_SRP_BATCHER
- #define VLB_DEFINE_PROP_START CBUFFER_START(UnityPerMaterial)
- #define VLB_DEFINE_PROP_END CBUFFER_END
- #define VLB_DEFINE_PROP(type, name) type name;
- #define VLB_GET_PROP(name) name
- #else
- #define VLB_DEFINE_PROP_START
- #define VLB_DEFINE_PROP_END
- #define VLB_DEFINE_PROP(type, name) uniform type name;
- #define VLB_GET_PROP(name) name
- #endif
- /// ****************************************
- #endif
|