Clean, high performance shaders for modern hardware

RenderPearl is an incredibly lightweight shader pack using the latest Iris features and optional extensions on various graphics drivers, aiming to deliver pleasant visuals with excellent performance on modern hardware.
If you want to report a bug or give feedback/suggestions, the best way to do so is by opening an issue on the GitHub issue tracker. I rely heavily on user feedback in bug fixing and design.
Trivia This project started as a continuation of "Luracasmus Shaders" (which is why you might have seen it called "LS RenderPearl"), but modern versions share little to no code with the original project. The question remains as to whether the same shader pack remains throughout, when all parts are replaced. The name "RenderPearl" is inspired by the Bedrock Edition [RenderDragon](https://minecraft.fandom.com/wiki/RenderDragon) engine.Most built-in PBR information, including light colors, material normals and roughness, are almost entirely procedurally generated and should therefore work perfectly with most resource packs and mods.
Integration with Distant Horizons and Voxy is supported on the latest Minecraft version, but experimental and very basic. Complete support is planned for a future update.
Support for mods that modify the Iris shader pipeline, such as Chunks Fade In, is experimental and may have issues, such as the shader pack failing to compile.
If you have a decently modern non-macOS device it probably supports everything you need, but you might have to update your Iris and graphics drivers.
BLOCK_EMISSION_ATTRIBUTECOMPUTE_SHADERSCUSTOM_IMAGESENTITY_TRANSLUCENTPER_BUFFER_BLENDINGSEPARATE_HARDWARE_SAMPLERSSSBOThe default configuration and all values selectable with profiles are intended to work on all systems that meet the shader pack's Requirements, though you may be able to achieve higher performance and quality by changing some of these options. Beware that some values may cause the shader pack to not compile, in which case you simply have to reset the option. These are usually marked with a red ⚠.
Implementation-Limited Options > The usable values and effects of these options depend on your graphics drivers. * **Light List Capacity** is limited by the amount of Local Data Share memory usable per work group on your GPU. Depending on your GPU and graphics drivers, and the features enabled by the 16/8-Bit Types option, you may be able to set this significantly higher than the maximum value selectable with profiles (though there is no reason to do so if the light list isn't being filled completely, usually indicated by lights flickering, as it impacts performance negatively). * **16/8-Bit Types** uses optional OpenGL/GLSL extension-provided half- and/or quarter-sized data types to reduce register, LDS and VRAM usage. Performance impact varies depending on hardware and drivers, as conversion between types has a cost, but operations with smaller types can be significantly faster. * **Trinary Min/Max** performs trinary minimum and maximum operations in singular function calls using the optional `AMD_shader_trinary_minmax` OpenGL/GLSL extension, which may allow generation of more optimal instruction sequences. It's recommended to use this whenever possible. * **32×16-Bit Multiplication** performs multiplication between 32-bit integers and integers in the 16-bit-representable range using special functions provided by the optional `INTEL_shader_integer_functions` OpenGL/GLSL extension, that may be faster than regular 32-bit multiplication operators. It's recommended to use this whenever possible. * **Immutable Constants** marks all shader variables that can be immutable as constant, possibly enabling better optimizations. This feature is required by the GLSL specification, but still unsupported on some graphics drivers. It's recommended to use it whenever possible.RenderPearl's source code is intended to be modifiable and re-usable. It's written according to best practice to the best of my ability, but prioritizing performance over readability. If you have any questions about how it works, feel free to contact me on any platform.
Technical information can be found in the GitHub repository.
These are the only RenderPearl project pages made by me:
If you want to distribute RenderPearl, or just spread the word of it, I would greatly appreciate if you would link to at least one of them, Modrinth being the most important one.
Required
Unsupported
Terms for using, modifying and redistributing this product.
21.07.2026 · Modrinth
Screenshots and images from the original Modrinth page.












Published versions and original Modrinth files.
21.07.2026 · 4 720 downloads
07.06.2026 · 84 738 downloads
14.04.2026 · 88 713 downloads
18.02.2026 · 66 593 downloads
07.02.2026 · 13 574 downloads
subgroupBroadcast with a non-constant index (most common drivers except AMD's for Windows).13.01.2026 · 59 002 downloads
29.12.2025 · 18 895 downloads
27.12.2025 · 3 177 downloads

24.10.2025 · 73 459 downloads
23.10.2025 · 1 440 downloads
05.10.2025 · 18 340 downloads
04.10.2025 · 1 850 downloads
04.10.2025 · 51 095 downloads
30.08.2025 · 38 658 downloads
10.08.2025 · 18 029 downloads
02.08.2025 · 6 905 downloads
On is equivalent to 1.0 in the previous version31.07.2025 · 2 593 downloads
18.05.2025 · 111 144 downloads
13.05.2025 · 5 206 downloads
gl_MaxComputeWorkGroupSize.x in work group local size declaration on affected drivers11.05.2025 · 3 361 downloads
RenderPearl's source code is now available on GitHub!
CHUNKS_FADE_IN_NO_MOD_INJECT macro has been added to all programs to prevent Chunks Fade In from injecting and breaking shader codeMC_GL_VENDOR_INTEL macro)MC_GL_RENDERER_INTEL macro)float16_t and float zero breaks encoding of emission and hand flag in sign bits, causing visual issues06.04.2025 · 33 662 downloads
05.04.2025 · 1 092 downloads
31.03.2025 · 5 094 downloads
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
z component instead of relying on it being provided by texturesMC_GL_VENDOR_INTEL macro is defined by Iris, which may very slightly reduce performance31.01.2025 · 33 189 downloads
12 bytes28.01.2025 · 1 436 downloads
round always rounds midpoints towards even integers while the GLSL round has implementation-dependant behavior. GLSL roundEven is now used instead in the SMAA implementation24.01.2025 · 2 237 downloads
Requires Iris 1.8+




Screenshots taken on le_ultimate_rtx14, made by shortnamesalex (you need to be in the shaderLABS Discord server to follow the link)
22.11.2024 · 29 317 downloads
Requires Iris 1.8+
16.11.2024 · 2 032 downloads
Requires Iris 1.8+
Using Meteor

Using purely auto-generated normals and smoothness



27.10.2024 · 6 194 downloads
23.08.2024 · 60 278 downloads
Only supports Iris 1.7.1-1.7.5
23.08.2024 · 333 downloads
Only supports Iris 1.7.1-1.7.5
317.08.2024 · 2 720 downloads
Only supports Iris 1.7.1-1.7.5
block.properties containing blocks affected by SSS (which can only be of cutout type)BLOCK_EMISSION_ATTRIBUTE Iris feature is used but not marked as required26.04.2024 · 101 519 downloads
19.01.2024 · 62 367 downloads
22.12.2023 · 5 422 downloads
20.10.2023 · 10 237 downloads
05.07.2023 · 131 574 downloads
09.06.2023 · 5 219 downloads
04.05.2023 · 20 365 downloads
23.04.2023 · 682 downloads
22.04.2023 · 245 downloads
20.04.2023 · 290 downloads
16.04.2023 · 378 downloads
11.04.2023 · 422 downloads
08.04.2023 · 1 256 downloads
Almost the entire pack has been changed in this update, and some of the most important changes include:
* Updated to support and make use of...
* Minecraft 1.19.4
* Iris 1.6
* GLSL 4.60 Core (mostly)
* Significantly improved performance
* Removed support for OptiFine
* Simplified and improved Colored Shadows to no longer depend on block.properties
* Removed Bloom because it made the pack to a lot more complex and didn't look very good
* Updated GUI
* Removed "POM" because it didn't work properly
* Removed Color Precision and Noise Texture Resolution settings as they weren't useful
* Reduced file size and count
* Improved Emissive Items
* Lots of bug fixes