Drawable Gaussian Pass
Reduced-resolution offscreen pass for the frame's Gaussian-splat tiles. Splat rendering is blended-fill-rate bound — the same splats at half resolution cost ~4x less fragment work — so all DrawableTileGaussians of one layer render back-to-front into a renderScale-sized offscreen target and composite over the scene as a single premultiplied full-screen quad.
Terrain is rasterized depth-only into the pass target first (camera MVP, same LEQUAL test as the main pass) so opaque ground still occludes splats exactly like the direct path. The composite itself is a screen-space overlay: per-pixel depth interleaving with other transparent SHAPE drawables collapses to this drawable's single queue depth.
Falls back to direct full-resolution child draws when the platform lacks sized texture formats (no depth-texture attachment) or a program is missing.
Properties
Depth-only program for the terrain occlusion prepass. Deliberately NOT the shadow/sightline earth.worldwind.render.program.DirectionalDepthProgram: its caster pancaking is wrong under the camera's perspective projection (see SceneDepthProgram).
Nearest child depth — the queue key for the composite among other shape drawables.
Offscreen target scale in (0, 1); the pass renders at viewport * renderScale.
World-space bounding sphere center used to skip cascades whose AABB doesn't intersect this caster. Default null opts out of culling — the caster is dispatched into every cascade. Implementations populate this from their shape's boundingBox.center to gain per-cascade culling.
World-space bounding sphere radius. Only consulted when shadowCasterCenter is non-null.