nineMinecraft is a joke site.
nineMinecraft is in no way affiliated with Modrinth or 9minecraft. (And frankly, who wants to be affiliated with the latter?)
RenderPearl

RenderPearl

Shader

Clean, high performance shaders for modern hardware

AtmosphereColored LightingHighLowMediumPBRPotatoReflectionsScreenshotSemi-realisticShadowsVanilla-like

804.3k downloads
380 followers
Filter versions...
Filter channels...

v2.7.2

by Luracasmus on Jan 13, 2026
Download

Fixed Issues

  • The shader pack fails to compile in The Nether and The End (#16).

GitHub Release

v2.7.1

by Luracasmus on Dec 29, 2025
Download

Improvements

  • A driver bug workaround for the work group size of the global light list de-duplication pass has been disabled on all non-Intel graphics drivers. This could improve performance slightly in some situations.

Fixed Issues

  • The shader pack fails to compile on AMD graphics drivers on Windows (reported by quakingdoom).

GitHub Release

v2.7.0

by Luracasmus on Dec 27, 2025
Download

New Features

  • Hand light now has screen space ray traced shadows.
    • A new Hand Light shader pack options screen has been added to control this feature.

A held redstone torch shining on a fence gate

Improvements

  • Hand light is now handled separately for each hand.
  • Hand light sources are now positioned more closely to actual hand positions.
  • Significant improvements have been made that depend on the Subgroup Operations Compatibility option.
    • Lights are now de-duplicated using subgroup operations before being added to the global light list, significantly reducing the capacity required to avoid overflow and the time spent on global de-duplication.
    • Work group bounding box computations are now accelerated using subgroup operations.
    • Atomically pushing to buffers is now accelerated using subgroup operations.
    • SSBO and shared memory loads are now explicitly made subgroup uniform where possible, using subgroup operations.
  • Volumetric light and SMAA neighborhood blending are now significantly faster thanks to optimizations made to work group neighborhood handling.
  • Chunks are now culled in uniform control flow.
  • Light list creation is now slightly faster when 16-bit integer types are unsupported.
  • Sky rendering is now slightly faster, by skipping a work group barrier in tiles with no block lit geometry.
  • Gbuffer data is now ordered more optimally following the RDNA Performance Guide.

Other Changes

  • Amethyst Shards are now emissive.
  • Ambient occlusion is now more visible. More improvements to ambient occlusion are planned.
  • Hand light brightness now matches block light by default.
  • Work group sizes have been retuned and optimized for modern AMD Radeon hardware. This could result in worse performance on some other hardware. Please report any significant issues.
  • Subgroup operations are now assumed by default to be supported on all Radeon hardware.
  • Immutable constants are now assumed by default to be supported on all Radeon hardware on Linux.
  • A driver bug workaround for the work group size of the global light list de-duplication pass has been disabled on Mesa graphics drivers for Radeon. This could improve performance slightly in some situations.

Fixed Issues

  • Light list sorting fails when multiple lights are at the exact same distance from the player.
  • Unlit geometry is rendered with incorrect depth guarantees, causing undefined behavior.
  • Fallback functions collide with disabled built-in 16-bit functions on AMD graphics drivers on Windows (driver bug).

GitHub Release

v2.6.1

by Luracasmus on Oct 24, 2025
Download

Fixed Issues

  • Enchantment glint overwrites ambient occlusion to complete occlusion, causing very dark surfaces in indirect light.

GitHub Release

v2.6.0

by Luracasmus on Oct 23, 2025
Download

Improvements

  • Fog now acts significantly more similar to vanilla. This should improve compatibility with mods and data packs that modify its appearance and density.

Fixed Issues

  • Alpha checks are incorrectly skipped on spider eye-like geometry, causing copper golems to appear almost completely black (reported by elmonetina in the shaderLABS Discord server. Likely solves #5).
  • sRGB colors are treated as linear without conversion on some types of unlit geometry, causing incorrect colors.
  • Enchantment glint uses the wrong blend function and overwrites material data, causing enchanted items and armor to appear very bright.

GitHub Release

v2.5.1

by Luracasmus on Oct 5, 2025
Download

Fixed Issues

  • Light level is scaled incorrectly on non-terrain geometry.
  • Block light isn't applied to translucent geometry.
  • Indirect skylight falloff follows the wrong curve on translucent geometry.

GitHub Release

v2.5.0

by Luracasmus on Oct 4, 2025
Download

Improvements

  • Features enabled through a bug fixed in Iris for Minecraft 1.21.9+ are now used, for improved performance with 16/8-Bit Types.

GitHub Release

v2.4.0

by Luracasmus on Oct 4, 2025
Download

New Features

  • The end distance of cloud fog can now be configured

Other Changes

  • The default value of Line Width now matches vanilla

Fixed Issues

  • Clouds are invisible in recent Minecraft/Iris versions (Closes #7)
  • Trinary Min./Max. support is incorrectly assumed to exist on all Intel+Windows graphics drivers (reported by User6010511G)

GitHub Release

v2.3.0

by Luracasmus on Aug 30, 2025
Download

Improvements

  • Some shader pack option names and descriptions are now more accurate

Other Changes

  • The deferred lighting and sky rendering programs have been merged, and indirect dispatch is no longer used
    • This should improve performance in most scenes, but might slightly reduce performance when most of the scene is sky
  • The design of the compass is now slightly simpler and faster to render, with completely hard edges

Fixed Issues

  • Indirect dispatch of the deferred lighting program doesn't work properly on some graphics drivers (Closes #6)

GitHub Release

Improvements

  • Procedural roughness generation now uses a new algorithm
  • Procedural normal generation is now significantly faster and only works with whole texels
    • This should give a more vanilla-like appearance but also more depth

Other Changes

  • The sky and fog are now brighter
  • The brightness multiplier applied to emissive surfaces is now smaller

Fixed Issues

  • Procedural normals are incorrect at borders between mipmap levels

GitHub Release

Other Changes

  • The Specular Map Roughness option is now boolean instead of a slider. On is equivalent to 1.0 in the previous version

Fixed Issues

  • The shader pack fails to compile when 16-bit floating point shader variables are enabled (reported by dogsill)

Removed Features

  • The Specular Intensity option has been removed

GitHub Release

New Features

  • Basic ambient occlusion material data is now automatically generated
    • LabPBR 1.3 ambient occlusion map support is planned too
  • Indirect Sky Light and Fallback Block Light options have been added
  • A Subgroup Operations compatibility option has been added

Improvements

  • Block light falloff now follows the inverse square law more accurately by compensating for Manhattan distance falloff in the Vanilla lighting, down to some light level (defined by the new Falloff Margin option)
  • Indirect sky light brightness now follows direct sky light brightness through the daylight cycle
  • Ambient occlusion is now applied to indirect block and sky light
  • Extension support assumption is now more accurate, and has been enabled by default for all compatibility options
  • Negative Sun Path Rotation values are now allowed
  • Fragment shader outputs are now 16-bit when writing to 16-bit targets

Other Changes

  • The shader pack options menu has been completely redesigned
  • Chorus flower blocks are now emissive, just like chorus flower items
  • RenderPearl now prints a warning when used with Oculus
    • Oculus support is not tested and may be incomplete or broken

Fixed Issues

  • Undefined values are read at work group/tile corners in SMAA and Volumetric Light (Closes #3. Also reported by Timø on Discord)
  • Some translucent particles hide what is behind their fully transparent parts
    • Enabled alpha checks
  • Resource pack normal maps are interpreted incorrectly
  • 3D bounding boxes of deferred lighting tiles are computed with incorrect rounding

GitHub Release

v2.2.0

by Luracasmus on May 18, 2025
Download

Improvements

  • Many vertex parameters are now significantly smaller at the cost of packing and unpacking, likely improving performance in most circumstances
  • Vertex parameters that are unused in the Nether or when Flat Normals are active are now completely disabled, improving performance

Fixed Issues

  • Entity color isn't being applied
  • Emission on held items is always zero
  • The shader pack fails to compile when resource pack-provided normal or specular maps are enabled (likely related to a report by KrazyFF)

GitHub Release

Fixed Issues

  • The shader pack fails to compile on some non-NVIDIA or AMD/ATI graphics drivers (reported by Lolothepro30)
    • Completely avoid gl_MaxComputeWorkGroupSize.x in work group local size declaration on affected drivers

GitHub Release

RenderPearl's source code is now available on GitHub!

New Features

  • Tony McMapface is now implemented as the default tonemap operator in RenderPearl
    • ACES Fitted has also been implemented as an alternative operator
  • Swedish localization is now available the entire shader pack
  • The 16/8-Bit Buffers Compatibility option has been added
    • Shrinks buffers, assuming complete support for all data types added by 16/8-Bit Types. This can save about 25% of the VRAM used by the light index
    • This needs to be enabled manually, since Iris doesn't allow shader packs to detect device characteristics when defining buffer sizes

Improvements

  • RenderPearl now implements all standard Iris shader programs
    • This fixes almost all issues related to invisible or incorrectly shaded geometry, including rain and snow, beacon beams, debug chunk borders, block selection outlines, fishing lines and leads (reported by J_rizzlr)
    • Now that lines are visible, a new Utility option has been added to control their thickness, with the default value being slightly higher than in vanilla Minecraft
  • Cloud opacity now slightly varies over time and space
  • The CHUNKS_FADE_IN_NO_MOD_INJECT macro has been added to all programs to prevent Chunks Fade In from injecting and breaking shader code
    • Full compatibility may be implemented in the future
  • More informative messages are now printed in the Minecraft log when RenderPearl is used in configurations that may cause issues

Other Changes

  • Changed default FFX CAS Sharpness value: 0.5 -> 0.3

Fixed Issues

  • The shader pack (still) fails to compile on some Intel drivers (reported by DragonSlayerGdk, _Squirrels_, User5697183G and user_bqkkp348c9zol9o6)
    • An attempted fix for this issue was included in v2.2.0-beta.7, which applied a workaround on Intel graphics drivers (based on the MC_GL_VENDOR_INTEL macro)
    • This version applies a better version of the workaround on all Intel GPUs, not just ones with Intel graphics drivers (based on the MC_GL_RENDERER_INTEL macro)
  • Ambient light isn't applied to solid non-terrain geometry (reported by MClegend4251)
  • Indexed Block Lights move with view bobbing
  • Indexed Block Lights' emission values are encoded as half their real value, causing dark and incorrect lighting
  • OpenGL/GLSL implementations not supporting signed float16_t and float zero breaks encoding of emission and hand flag in sign bits, causing visual issues

Removed Features

  • Removed all previously available tonemap operators other than Uchimura, SBDT (SomewhatBoringDisplayTransform) and Saturate/Clamp

GitHub Release

Fixed Issues

  • (Attempted fix) The shadow map isn't rendered properly on some AMD drivers (reported by Detrovv)

Improvements

  • Switched from FidelityFX RCAS to CAS 1.2
    • This should improve the quality of sharpening
  • Significantly reduced code duplication

Removed Features

  • Removed the ARB Subgroup Ballot Compatibility option

Fixed Issues

  • (Attempted fix) The shader pack fails to compile on some AMD graphics drivers (reported by NovaLynxie and Detrovv)

New (and Old) Features

Update en_US.lang

  • Volumetric Light is back!
    • The new algorithm utilizes the low discrepancy of Interleaved Gradient Noise to account for wide depth ranges using very few samples by sharing and interpolating values between pixels in 9x9 neighborhoods
  • Hand Light is back!
    • and colored, and much more realistic! It's now also completely separate from the Indexed Block Light system
  • Texture normals can now be set to completely flat (requested by Warlord Wossman)
  • A Screenshot profile has been added
    • This configures some options to values normally not accessible that may severely impact performance. It's only recommended for actually taking screenshots
  • A new ARB Subgroup Ballot Compatibility option has been added
    • When enabled, this enables some operations that allow data to be processed accross entire subgroups instead of for every invocation, possibly improving performance

Improvements

  • Tuned shadow clipping planes to be as close as possible
    • This caps Sun Path Rotation at 25°
  • Improved RP Normal Maps support by reconstructing the z component instead of relying on it being provided by textures
  • Made BRDF and roughness-related calculations more physically accurate
  • Significantly improved order and scheduling of various operations
    • This reduces the amount of global memory barriers issued every frame, and might reduce memory traffic
  • Allowed 8-bit integers to fall back to 16-bit when unsupported, if possible
    • In previous versions, 8-bit integers would fall back to 32-bit immediately
  • Refined extension assumption logic based on extension support trends
    • Please let me know if the shader pack doesn't work or you're experiencing issues after this update

Other Changes

  • Waves are now disabled by default
  • Indexed Block Light is now permanently enabled, to reduce complexity
  • Water now has reduced roughness when auto-generated roughness values are used

Fixed Issues

  • sRGB-space and linear colors are sometimes used together without conversion, causing incorrect results
  • Waves on lava are broken
  • Waves appear to have very low precision
  • Indexed Block Light uses incorrect depth values for the hand and held items
  • The shader pack fails to compile on some Intel graphics drivers when Indexed Block Light is enabled (reported by sniffercraft34, lynlyn1814 and BLVCKxSVND)
    • A workaround is now applied when the MC_GL_VENDOR_INTEL macro is defined by Iris, which may very slightly reduce performance

Improvements

  • Optimized memory layout of the Light Index SSBO, saving at least 12 bytes
  • Removed unneccessary calculations on shadow geometry and enabled automatic level of detail
    • This slightly changes how shadows look, likely reducing noise in some situations while possibly sacrificing detail

Fixed Issues

  • 16/8-Bit Types cause compile failures on AMD drivers
    • Disabled 16-bit matrix support
  • The screen sometimes turns completely black when DCG is enabled
    • Added additional protections against NaNs and negative values

Other Changes

  • Disabled Entity Shadows in all profiles lower than High

Temporarily Disabled Features

  • Volumetric Light
  • Hand Light

Improvements

  • More small optimizations have been made to Light Index sampling making use of the new 16/8-Bit Types
  • (From SMAA-MC v1.1.1) Rounding is now ensured to be consistent across OpenGL implementations
    • This was missed while porting SMAA from HLSL to GLSL, since the HLSL round always rounds midpoints towards even integers while the GLSL round has implementation-dependant behavior. GLSL roundEven is now used instead in the SMAA implementation

Fixed Issues

  • Shaders fail to compile on AMD graphics drivers while using Gaussian shadow blur (reported by Mine18)

Temporarily Disabled Features

  • Volumetric Light
  • Hand Light

External resources


Project members

Luracasmus

Owner


Technical information

License
Project ID