Skip to content

CLab

Bringing Hardware Occlusion Culling (HOC) to Minecraft entity rendering optimization.

FabricNeoForgeForgeQuilt
Loaders
FabricNeoForgeForgeQuilt
Downloads on Modrinth
3.8K
Followers on Modrinth
13
versions
12
Updated
May 4, 2026May 4
Published
in 2026
EntityCulling vs CLab · swipe

At a glance

Runs on Fabric, NeoForge, Forge and Quilt
For Minecraft 1.20–1.20.1, 1.21–1.21.1
Client only — no need to install it on the server
Latest version — 26.3.1 from May 4, 2026
License LGPL-3.0-only — free
Where it's needed
In gamerequiredOn servernot needed

Install in the game only; not needed on the server

Game versions1.20–1.20.1, 1.21–1.21.1

Bringing Hardware Occlusion Culling (HOC) to Minecraft entity rendering optimization.

CLab is a client-side rendering optimization mod. It leverages GPU OpenGL occlusion queries to determine entity visibility directly, eliminating the approximation errors and side effects inherent to traditional CPU-side pathtracing.

1

Core Features

  • Hardware Occlusion Culling (HOC)
    Uses GPU queries to test entity bounding boxes against the depth buffer, measuring real occlusion against actually rendered terrain rather than CPU-side approximations of the world model.

  • Zero False-Positive Culling
    Based on ground-truth depth buffer testing. An entity is never hidden if even a single pixel is visible. No whitelist needed, no per-mod patches required.

  • Render-Layer Only, Zero Intrusion
    Only decides whether to invoke the entity render method. Does not interfere with client-side ticks, animation states, position interpolation, or any logic. Trains, vehicles, and contraptions behave normally.

  • Built-in Leaf Face Culling
    Automatically culls leaf faces occluded by adjacent leaves, reducing terrain rendering overhead.

  • Zero-Config, Works Out of the Box
    No entity whitelist, no distance threshold, no tick-culling toggle. Install and play.

Technical Overview

CLab uses Hardware Occlusion Culling:

  1. During entity rendering, submit the entity bounding box to the GPU as an occlusion query (OpenGL Query).
  2. The GPU compares the bounding box against the already-rendered terrain depth buffer at the hardware level.
  3. Read the previous frame's query result: if no pixels passed the depth test, skip rendering this entity.

This creates a fundamental difference:

AspectCPU PathtracingCLab HOC
Occlusion basisSimplified assumptions about world modelActual GPU-rendered depth buffer
False positives (hiding visible entities)Common (near non-solid blocks)Extremely unlikely
Entity tick/animationOften frozen or skippedCompletely unaffected
CPU overheadContinuous background traversalRender thread submits AABB only; GPU handles the rest asynchronously
Configuration requiredWhitelists, distance limits, thresholds as compensatory mechanismsNone required

⚠️ Important Compatibility Notes

  • Hardware Requirement: CLab requires a dedicated graphics card with OpenGL 3.3 or higher. Most modern GPUs meet this requirement, but certain older integrated graphics or outdated drivers may not.
  • Do NOT use with other entity culling mods: CLab should not be installed alongside EntityCulling or any other mod that modifies entity/block entity visibility. While these mods use different techniques, they all ultimately override the same visibility decisions. Running more than one will not improve performance — instead, they may conflict and cancel out each other's optimizations, resulting in wasted resources and potential visual inconsistencies. For the best results, keep only CLab active.

Compatibility & Future Optimizations

The current approach was chosen to maintain compatibility with older devices and macOS. A more advanced technique is available, but it would introduce compatibility problems on those systems. Development and testing are currently done on a Mac, which limits how far I can improve things today. I plan to transition to a machine with OpenGL 4.6 support soon, after which I’ll introduce a system that automatically selects the optimal method during loading.

FAQ

How to install CLab?

Install Fabric for your Minecraft version, download CLab for the same version and loader, put the file into the mods folder and launch the game with the loader profile.

Which Minecraft versions does CLab support?

CLab has builds for Minecraft 1.20–1.20.1, 1.21–1.21.1.

Is CLab needed on the server?

Client only — no need to install it on the server

License and source
GNU Lesser General Public License v3.0 onlyfree to use and share; changes to the mod itself must be published under the same license
Original — Modrinth↗Files unchanged, verified with SHA-512Is this your mod? For rights holders

The site uses cookies: the necessary ones for sign-in and the theme, plus the Yandex Metrica and LiveInternet visit counters — they show us how the site is used. We have no advertising cookies. More