Retrium v0.1.0 — Initial Release (Minecraft 1.21.1 · Fabric Loader 0.16+)
New Features
-
GL capability auto-detection — On startup, Retrium probes your driver and selects the best available rendering path automatically. No manual configuration required.
MODERN(GL 3.3+): mod is inactive, no performance impactLEGACY(GL 2.1 + ARB shader extensions): VBO batching + GLSL 1.20 shader activeFALLBACK(GL 2.1, no shader support): CPU-side batching + frustum culling only
-
Chunk batch merging — Multiple nearby 16×16×16 chunk sections are merged into a single VBO and drawn in one call instead of one draw call per section. Targets a 10–20× reduction in draw call count on old drivers where per-call CPU overhead dominates.
-
Frustum culling — A dependency-free 6-plane frustum culler skips geometry that is outside the view before it ever reaches the GPU. Works on all three GL tiers.
-
Legacy terrain shader — A minimal GLSL 1.20 (
#version 120) shader for the LEGACY tier: one texture sample, baked vertex lighting, no branching. Designed to spend as few ALU ops per fragment as possible on 15-year-old hardware. -
Fixed-function fallback path — For drivers with no shader support at all, Retrium still reduces draw calls via CPU-side batch merging without touching the shader pipeline.
-
Tunable config —
RenderConfigexposes key knobs for players on constrained hardware:batchGroupSize— how many sections merge per VBO (default: 8)hardCullDistanceGroups— distance pre-cull before frustum check (default: 12)maxBatchRebuildsPerFrame— caps per-frame re-upload cost on chunk edits (default: 2)entityRenderDistance— caps entity render range (default: 32 blocks)disableSmoothLighting— disables MC's AO recalculation, the biggest single CPU cost in chunk building on old hardware (default: on)forceFallbackTier— escape hatch for drivers that lie about their capabilities
Known Limitations
- The chunk-batching render override (
MixinWorldRenderer) is a stub in this release — the GL capability detection and all engine infrastructure is active, but the actual per-frame intercept of Minecraft's terrain draw loop requires mixin targets verified against your specific MC build viagenSources. SeeREADME_MIXINS.md. - No config screen yet — values must be changed in code until a config lib is wired up.
- GL 3.3+ users see zero effect by design; use Sodium instead.

