Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/project516/retroview/llms.txt

Use this file to discover all available pages before exploring further.

retroview is designed to be extremely lightweight. Unlike physically-based shader packs that add ray tracing, screen-space ambient occlusion, or heavy global illumination passes, retroview applies all of its visual effects as screen-space post-processing on the already-rendered scene. The result is a pack that adds negligible overhead compared to vanilla Minecraft, making it viable on integrated graphics and low-end dedicated GPUs.

What makes retroview lightweight

All of retroview’s visual effects run in composite.fsh, which executes once per frame as a full-screen quad pass over colortex0 — the already-rendered scene color buffer. There is no additional geometry pass, no ray marching, and no iterative sampling. The operations performed are:
  • A UV snap for pixelation (integer floor arithmetic on UV coordinates)
  • A Bayer 4×4 dither lookup (fixed-size integer array indexing)
  • Color quantization (floor and divide per channel)
  • A scanline multiply (one modulo and one mix per fragment)
  • A vignette multiply (one distance() and one smoothstep() per fragment)
  • A shadow lookup for scene lighting (three texture fetches via shadowtex0, shadowtex1, and shadowcolor0)
A second pass, composite1.fsh, adds atmospheric fog by reading depthtex0 once per fragment to reconstruct view-space depth, then blending with fogColor. This is a single depth texture lookup and a linear mix — minimal cost.

Performance impact by option

Not all options have the same GPU cost. In practice, the difference between option values is small, but the following ordering applies at the margins:
OptionGPU costNotes
retroPixelScaleVery lowHigher values reduce the effective sample count for the pixelation UV snap, which is marginally cheaper. No texture sampling change.
retroLevelsNegligibleInteger arithmetic only. No branching or texture fetches.
retroDitherStrengthNegligibleArray lookup in a constant-size 4×4 Bayer table.
retroScanStrengthNegligibleOne modulo, one step, one mix per fragment.
retroVignetteStrengthNegligibleOne distance() and one smoothstep() per fragment.
Shadow renderingModerateControlled by Minecraft/Iris settings (see below), not by retroview options.
Fog pass (composite1.fsh)LowOne depth texture lookup per fragment plus view-space position reconstruction.
If you are running on an integrated GPU or a low-end discrete card, the following adjustments reduce rendering cost while preserving the retro aesthetic:
  • Increase retroPixelScale to 8 or higher. A larger pixel grid means the visible detail in colortex0 is coarser, so higher-resolution rendering is less necessary. You can pair this with a lower in-game render distance to further reduce fill rate.
  • Lower retroLevels to 8. Color quantization is already cheap, but a smaller value produces a more extreme palette that suits the high-pixelation look and keeps the aesthetic coherent.
  • Reduce shadow distance in Minecraft settings. Shadow rendering is the single largest variable cost in retroview. Lowering the shadow distance in Options → Video Settings → Quality → Shadow Distance directly reduces the number of chunks rendered to the shadow map each frame.

Shadow rendering

retroview uses Iris’s built-in shadow pipeline rather than implementing its own shadow pass. In composite.fsh, the shader reads from three shadow samplers:
uniform sampler2D shadowtex0;   // transparent shadow depth
uniform sampler2D shadowtex1;   // opaque shadow depth
uniform sampler2D shadowcolor0; // shadow color (for stained glass tinting)
Shadow quality — resolution, distance, and filtering — is controlled entirely by Iris and Minecraft settings, not by any retroview option. To improve shadow quality, increase the shadow map resolution in Iris settings. To reduce GPU cost, lower it.

Sodium compatibility

retroview is tested with Sodium mc1.21.5-0.6.12-fabric alongside Iris on Minecraft 1.21.5. Using Sodium alongside Iris is strongly recommended: Sodium replaces Minecraft’s chunk rendering with a highly optimized implementation, reducing CPU and GPU overhead for world geometry. This leaves more headroom for the shader passes. retroview itself does not require Sodium, but performance on low-end hardware is meaningfully better with it installed.
retroview does not require a dedicated GPU. At higher retroPixelScale values and reduced shadow distance, the pack runs acceptably on modern integrated graphics such as Intel Iris Xe and AMD Radeon integrated graphics.

Build docs developers (and LLMs) love