promotional bannermobile promotional banner

Better Perler Render Fabric

Client-side rendering optimizations for BrainLayers bead artwork and decorations, with Iris shader support

BetterBeadRendering

BetterBeadRendering is a client-side optimization mod for bead artwork, pegboards, pattern papers, and decorations in BrainLayers.

It reduces repeated data processing, texture uploads, and vertex submission while preserving artwork colors, transparent cutouts, thickness, and decoration movement.

How It Works

Texture-Based Artwork Rendering

Detailed bead artwork can require thousands of small faces, even when its overall shape is simple.

BetterBeadRendering separates color detail from geometry:

  1. The artwork's pixel data is converted into a cached texture.
  2. Colored pixels become opaque texture pixels, while empty cells remain transparent.
  3. The entire front surface is rendered with one textured quad.
  4. The back surface is rendered with another textured quad.

Adding more colors inside the same silhouette therefore does not require additional front or back faces.

Extruded Outlines and Cutouts

Artwork retains its three-dimensional thickness.

The renderer checks occupied cells against their neighbors and generates side walls along exposed boundaries, including the boundaries around internal cutouts.

Adjacent boundary segments on the same straight line are merged into longer faces. These faces sample their colors from the artwork texture, allowing a continuous edge to remain merged even when its colors change.

Geometry complexity therefore depends primarily on the artwork's outline and cutouts, rather than its number of colored pixels.

Reusable Rendering Data

Artwork textures and geometry are cached using the artwork dimensions and immutable pixel-array identity.

Repeated rendering of unchanged artwork reuses the existing cache entry instead of rebuilding its mesh or uploading its texture again. Replacing the item's data component naturally produces a new cache key.

The renderer also reads immutable item data directly for rendering, avoiding repeated copies of the entire custom-data compound. Legacy pixel formats are decoded and reused where possible.

Initial rendering still requires texture and geometry creation; subsequent draws reuse those results.

Pegboard and Pattern-Paper Optimization

Pegboards and pattern papers use cached geometry.

Neighboring cells with the same displayed color are merged into larger rectangles. Cached artwork meshes also merge compatible exterior faces.

Model-space geometry is reused while the current position, rotation, scale, lighting, and overlay are applied during rendering.

Shader-Compatible Submission

Texture-based artwork uses Minecraft's standard entity cutout rendering pipeline, with texture coordinates, lighting, overlays, and face normals.

This keeps artwork within the rendering path handled by Iris, including shader lighting and shadow passes.

For cached-mesh rendering, an optional persistent GPU-buffer path can reuse uploaded meshes when shader packs are inactive. When an Iris shader pack is active, those draws use the standard vertex-submission path while retaining the cached geometry.

Shader state is checked during submission, allowing the rendering path to follow shader-pack changes.

Cache Management

The texture-backed artwork cache has a 64 MiB accounting budget.

  • Frequently rendered artwork keeps its cache entry.
  • Unused entries become eligible for cleanup after 200 client ticks.
  • If a textured entry cannot fit within the budget, rendering falls back to cached mesh geometry.
  • Separate geometry and optional GPU-mesh caches use configurable budgets.
  • Cached resources are released on resource reload, world disconnect, and client shutdown.

Geometry Reduction Example

For a fully occupied, multicolored 128 × 128 rectangular test pattern:

Rendering path Submitted vertices
Previous cached-mesh path 133,120
Texture-backed path 24

The texture-backed result uses six quads: front, back, and four side walls.

Patterns with irregular outlines or internal cutouts require additional side faces. This example measures geometry reduction, not an equivalent FPS increase.

Preserved Behavior

  • Artwork colors and transparent cutouts
  • Artwork thickness and proportions
  • Decoration position, rotation, and scale
  • Strings, leads, and chain connectors
  • Decoration swinging and collision behavior
  • Existing artwork and world data

Requirements

  • Fabric Loader
  • Fabric API
  • BrainLayers for the same Minecraft version

Client-side only. Servers do not need BetterBeadRendering installed.

Installation

  1. Install Fabric Loader, Fabric API, and BrainLayers.
  2. Download BetterBeadRendering for your Minecraft version.
  3. Place the JAR in your client's mods folder.
  4. Launch the game.

Actual performance gains depend on artwork complexity, visible decorations, hardware, and shader settings.

Better Perler Render Fabric Team

profile avatar
  • 1
    Followers
  • 4
    Projects
  • 907
    Downloads

Apc

More from YousaHay