Skip to content

26.3 API and Integration

Dasik edited this page Aug 20, 2026 · 1 revision

🔌 API & Mod Integration (Minecraft 26.3)

Camera Culling is designed to operate seamlessly alongside client rendering mods (such as Sodium, Iris, Canvas) and content mods adding custom entities or block entities.


🤝 Third-Party Renderer Compatibility

1. Sodium & Embeddium

  • Static Terrain Chunks: Sodium optimizes the 16x16 chunk meshing and static block face rendering pipeline.
  • Dynamic Entities: Camera Culling optimizes dynamic entities, chests, signs, and particles.
  • Compatibility: 100% Compatible with zero overlapping Mixins or state collisions.

2. Iris & Shaders

  • Shader Uniforms: Shaders perform post-processing on the extracted frame buffer.
  • Occlusion Savings: Because culled entities are prevented from submitting geometry to the G-Buffer, shaders run with significantly higher framerates in dense areas.

🛠️ Programmatic Java API Hooks

Other mods can query or integrate with Camera Culling via static utility facades:

1. Querying Culling Engine State

import net.vanillaoutsider.culling.CameraCullingClient;

boolean isEnabled = CameraCullingClient.isCullingEnabled();
long culledMobs = CameraCullingClient.getCulledEntitiesCount();
long renderedMobs = CameraCullingClient.getRenderedEntitiesCount();

2. Programmatic Immunity Blacklisting

import net.vanillaoutsider.culling.config.CameraCullingConfig;

// Whitelist a custom entity ID from culling
CameraCullingConfig.addClientBlacklist("mymod:custom_companion");

3. Direct Raycast Line-of-Sight Verification

import net.vanillaoutsider.culling.util.CullingRaycastHelper;

// Perform a zero-allocation sightline test
boolean visible = CullingRaycastHelper.hasLineOfSight(level, camPos, targetX, targetY, targetZ);

🔗 Related Pages

Clone this wiki locally