Skip to content

🔌 API & Mod Integration (Minecraft 26.2) ​

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 chunk meshing and block face geometry.
  • 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 ​

1. Querying Culling Engine State ​

java
import net.vanillaoutsider.culling.CameraCullingClient;

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

2. Programmatic Immunity Blacklisting ​

java
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 ​

java
import net.vanillaoutsider.culling.util.CullingRaycastHelper;

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

Official documentation & web portal for Dasik Igaijinn mods.