HomeJavaModsVO: Camera Culling
VO: Camera Culling
ModsJava

VO: Camera Culling

by dasikigaijin · on Modrinth

Unrender the unseen. Lightweight, zero-allocation camera occlusion culling, 2-sided sign text culling & distance texture LOD.

⬇ Download on Modrinth
Camera Culling Mod Icon

Requires Fabric API Java 25 License Minecraft 26.1+

📷 Camera Culling

Active Version Policy: I build 1 JAR for 1 Version. I support active Minecraft versions (26.1.2, 26.2, and 26.3). Each version is compiled natively with zero compromises.

Unrender the unseen. Lightweight, zero-allocation camera occlusion culling, 2-sided sign text culling & distance texture LOD.

The Vanilla Problem: In vanilla Minecraft, the game's renderer extracts render states and draws thousands of entities, block entities, particle quads, and sign text glyphs even when they are hidden behind solid walls, underground in caves, or obscured from your field of view. Furthermore, rendering fully-resolved textures on distant mobs consumes precious GPU fillrate and memory bandwidth.

Camera Culling solves this at the rendering root. It performs lightning-fast client-side raycasting and frustum occlusion checks against block collisions to dynamically unrender occluded entities, block entities, particles, and sign text faces. Combined with a smart crowd overdraw defense, distance-based texture LOD mipmap scaling, dynamic boss/mini-boss protections, zero per-frame heap allocations, and an anti-flicker temporal hysteresis buffer, Camera Culling drastically increases frame rates without altering world simulation or network packets.

Part of the Vanilla Outsider Collection — mods that refine the vanilla experience with modern standards.

🔗 Official GitHub Wiki: https://github.com/Rifaditya/Vanilla-Outsider-Camera-Culling/wiki


✨ Features

🧱 Entity Occlusion Culling (Zero-Allocation Raycast Engine)

Never waste GPU cycles rendering mobs you cannot see. Fast multi-point raytracing against solid block collision geometry unrenders entities hidden behind walls, cave ceilings, and terrain.

[!NOTE] Zero Simulation Impact: Culling operates strictly on client-side render submission. Entity ticks, server synchronization, sound events, and physics remain 100% active.

🛡️ Anti-Flicker Temporal Hysteresis

🪧 2-Sided Sign & Hanging Sign Back-Face Text Culling

Signs with text on both sides render font glyphs, kerning tables, and glow outlines on both faces simultaneously—even when looking at only one side.

✨ Particle & Animation Occlusion Culling

👥 Entity-Behind-Entity Culling (Crowd Overdraw Defense)

Dense mob farms and crowded pens are major FPS killers. Camera Culling detects when mobs are completely obscured behind closer, opaque mobs in front of them.

🎨 Distance-Based Mob Texture LOD (Texture Resolution Reduction)

Distant mobs don't need 4K-level crisp textures. Camera Culling features a decoupled, 3-tier OpenGL Mipmap LOD biasing engine that dynamically reduces texture resolution on distant mobs:

🛡️ Two-Tier Entity Immunity Blacklist

Want specific entities to never be culled under any circumstances? Camera Culling provides a robust two-tier blacklist system:

👑 Dynamic Boss & Mini-Boss Immunity

Never lose sight of dangerous foes. Camera Culling automatically identifies both vanilla and modded bosses & mini-bosses:

📦 Block Entity Occlusion Culling

Skips render extraction for block entities that are completely encased or occluded:

⚙️ 4 Culling Intensity Profiles


📋 Quick Command Reference

All settings can be inspected and adjusted in-game via the /cameraculling command suite:

/cameraculling status                               → View live statistics, active level, and thresholds
/cameraculling toggle                               → Toggle culling on or off
/cameraculling set <low|medium|high|super>          → Change culling intensity preset
/cameraculling particles [true|false]               → Toggle particle occlusion culling
/cameraculling animations [true|false]              → Toggle block & texture atlas animation culling
/cameraculling crowdculling <true|false>            → Toggle crowd overdraw / entity-behind-entity culling
/cameraculling cluster <1-128>                      → Set cluster density cap for packed mob pens
/cameraculling texturlod <true|false>               → Toggle distance texture LOD independently
/cameraculling texturlod range <near> <far>         → Set custom texture LOD distances (e.g. 16.0 32.0)
/cameraculling bossimmunity <true|false>            → Toggle boss & mini-boss immunity
/cameraculling bosshealth <hp>                      → Set major boss health threshold (e.g. 150)
/cameraculling minibosshealth <hp>                  → Set mini-boss health threshold (e.g. 50)
/cameraculling blacklist add <entity_id>            → Add mob to personal client immunity list (e.g. minecraft:wolf)
/cameraculling blacklist remove <entity_id>         → Remove mob from personal immunity list
/cameraculling blacklist list                       → List all personal blacklisted entities
/cameraculling blacklist clear                      → Clear personal immunity blacklist
/cameraculling serverblacklist add <entity_id>      → Add mob to server-wide admin immunity list (OP)
/cameraculling serverblacklist remove <entity_id>   → Remove mob from server admin immunity list
/cameraculling serverblacklist list                 → List all server blacklisted entities
/cameraculling serverblacklist clear                → Clear server admin blacklist
/cameraculling debug [true|false]                   → Toggle real-time diagnostic tracing in chat & logs
/cameraculling reload                               → Reload configuration from disk

⚙️ Configuration File

Settings are saved directly to config/camera-culling.json:

{
  "enabled": true,
  "level": "SUPER",
  "cullEntitiesBehindEntities": false,
  "maxEntitiesPerCluster": 8,
  "distanceTextureLod": true,
  "distanceTextureLodStart": 16.0,
  "distanceTextureLodFar": 32.0,
  "bossImmunity": true,
  "bossHealthThreshold": 150.0,
  "miniBossHealthThreshold": 50.0,
  "cullParticles": true,
  "cullAnimations": true,
  "cullSignText": true,
  "clientBlacklist": [],
  "debugMode": false
}

📦 Installation & Environment

⚛️ Environment Support

📥 Install Instructions

  1. Install Fabric API.
  2. (Optional) Install ModMenu and YetAnotherConfigLib for in-game graphical settings.
  3. Download the latest Camera Culling JAR for your Minecraft version and place it in your .minecraft/mods folder.
  4. Launch Minecraft and enjoy smooth, optimized frame rates!

☕ Support

If you enjoy Camera Culling and the Vanilla Outsider philosophy, consider fueling the next update!

Ko-fi SocioBuzz Saweria


📜 Credits

Role Author
Creator Dasik (Rifaditya)
Collection Vanilla Outsider
License GNU GPLv3

[!IMPORTANT] 📦 Modpack Permissions & Distribution: You are free to include this mod in any modpack on any platform. However, the mod itself must be downloaded from its official distribution pages on Modrinth or CurseForge. Re-uploading or redistributing official JAR files to third-party sites is strictly prohibited.

License & Forks: Since the source code is licensed under GNU GPLv3, you are fully permitted to fork the repository, make modifications, build your own versions, and distribute them under the terms of the GPLv3 as distinct projects.


Made with ❤️ for the Minecraft community

Part of the Vanilla Outsider Collection

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more