From f0d753b1cfa07079886abe0c3c5fc7ee75b426fd Mon Sep 17 00:00:00 2001 From: yum Date: Wed, 14 Jan 2026 22:08:29 -0800 Subject: oops, add instancing cginc --- instancing.cginc | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 instancing.cginc diff --git a/instancing.cginc b/instancing.cginc new file mode 100644 index 0000000..eb8e25b --- /dev/null +++ b/instancing.cginc @@ -0,0 +1,22 @@ +#ifndef __INSTANCING_INC +#define __INSTANCING_INC + +#include "globals.cginc" +#include "interpolators.cginc" + +void instance_distance_culling(inout v2f i) { +#if defined(_INSTANCE_DISTANCE_CULLING) + // We want to measure the distance from the instance's transform to the camera. + float3 instance_pos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)).xyz; + float distance = length(_WorldSpaceCameraPos - instance_pos); + if (distance > _Instance_Distance_Culling_Distance) { + discard; + } +#endif // _INSTANCE_DISTANCE_CULLING +} + +void instancing_frag(v2f i) { + instance_distance_culling(i); +} + +#endif // __INSTANCING_INC -- cgit v1.2.3