Skip to content

Rendering Module 26.1 only ​

Availability

This module only exists in Minecraft 26.1. All earlier versions (1.21.1 through 1.21.11) do not include this module.

The package dev.anvilcraft.lib.v2.rendering provides bloom post-processing effects and a general-purpose UBO (Uniform Buffer Object) layout definition framework, integrated into Minecraft's GUI rendering and main rendering pipeline via Mixin.

Document Index ​

DocumentContent
Bloom Post-ProcessingBloomPostEffect, BloomRenderCallback, multi-pass processing chain
UBO FrameworkUboObject, UboLayoutDefinition, UboLayoutEntry, STD140 layout
Rendering IntegrationALRendering, Mixin, LibGuiElementRenderState, shader pipelines
SDF 2D GraphicsSdfGraphics, Sdf2d, SdfParameters, 7 shape types
Cached BlockEntity RenderingCachedBER pipeline, CachedBlockEntityRenderer, RebuildTask

Module Structure ​

  • Main class: AnvilLibRendering (formerly ALRendering) -- ALR to AnvilLib rename, mod entry point, creates pipelines, registers events
  • CachedBER pipeline: cachedber package -- CachedBlockEntityRenderingPipeline, CachedRenderingChunk, RebuildTask, CachedBlockEntityRenderDispatcher, CachedBlockEntityRenderer<T,S>
  • Post-processing: BloomPostEffect -- Bloom effect multi-pass processing chain, ALRPostEffects -- bloom post effect singleton, runBloomDraws()
  • UBO framework: foundation.buffers.ubo package (moved from foundation.ubo after foundation/ restructuring) -- Type-safe STD140 layout definitions
  • Foundation reorganization: foundation/ directory restructured: buffers/ubo/, new compound/ package ( CompoundSubmitNode), new ALRMeshSorting.java, BloomSubmitNodeStorage.java; new in buffers/: EmptyBufferSource, EmptyOutlineBufferSource, EmptyVertexConsumer, FullyBufferedBufferSource, VertexBufferHost
  • Render types: extension/ALRRenderTypeExtension.java -- render type extension, mixins/RenderTypeMixin.java -- render type mixin
  • Shaders: blit.vsh, blur.fsh, apply_bloom.fsh, down_sample.fsh, up_sample.fsh
  • Mixin: GuiRendererMixin, MinecraftMixin -- Rendering pipeline embedding

This module only exists in Minecraft 26.1 (module.rendering).

Notes ​

  • The bloom effect depends on creating a significant number of RenderTargets, restricted to client-side environments
  • All GPU resources are created by GpuDevice, with lifecycle tied to the BloomPostEffect instance

Released under the CC-BY-NC-SA 4.0 License.