Pixelated, retro, Dark Fantasy, gradient, B&W, RGB and more

Transform your Minecraft world with Surface-Stable Fractal Dithering — a groundbreaking rendering technique where dither dots stick to 3D surfaces instead of the screen, creating a unique manga/comic book aesthetic that feels alive.
🎬 Based on the innovative work by Rune Skovbo Johansen — Watch the explainer video
Unlike traditional dithering where patterns "swim" on screen, Dither3D anchors each dot to the actual 3D surface. Walk around blocks, and the dots stay perfectly attached!
As you move closer or farther from surfaces, dots dynamically split or merge to maintain constant screen-space density. It's mesmerizing to watch!
| Mode | Description |
|---|---|
| Grayscale | Classic black & white dithering — clean, minimalist, timeless |
| RGB | Each color channel gets its own dot layer — vibrant and unique |
| CMYK Halftone | Authentic newspaper/comic print simulation with rotated dot angles |
| Feature | Description |
|---|---|
| 🎯 Precision Dithering | SVD-based frequency analysis for mathematically perfect dot placement |
| 🌀 Anti-Stretch Technology | Anisotropic smoothing keeps dots circular even on oblique surfaces |
| 🎥 Camera Stable | Radial compensation prevents dot swimming during camera rotation |
| ⚙️ Highly Configurable | 10+ parameters to fine-tune your perfect look |
| 🚀 Performance Optimized | Efficient 3D texture sampling for smooth gameplay |
| 📱 Universal Compatibility | Works with OptiFine AND Iris on virtually any Minecraft version |
Fine-tune every aspect of the dithering effect with our intuitive in-game sliders:
| Parameter | Range | Effect |
|---|---|---|
| Dot Scale | 2 - 10 | Control overall dot size (exponential) |
| Size Variability | 0 - 1 | 0 = Bayer pattern, 1 = Halftone style |
| Dot Contrast | 0 - 2 | Sharpen or soften dot edges |
| Stretch Smooth | 0 - 2 | Combat stretched dots on angled surfaces |
| Parameter | Range | Effect |
|---|---|---|
| Exposure | 0 - 5 | Brightness multiplier |
| Offset | -1 to 1 | Brightness offset adjustment |
shaders folder in .minecraft/shaderpacks/shaders folder in .minecraft/shaderpacks/💡 Tip: Press
F3 + Tto quickly reload shaders after making changes!
Choose from pre-configured profiles for instant results:
| Profile | Color Mode | Dot Scale | Best For |
|---|---|---|---|
| 🟢 LOW | Grayscale | 4.0 | Performance, retro feel |
| 🟡 MEDIUM | Grayscale | 5.0 | Balanced experience |
| 🟠 HIGH | RGB | 5.0 | Colorful, artistic |
| 🔴 ULTRA | CMYK | 6.0 | Maximum visual impact |
| 📸 Screenshot enthusiasts | Create unique, artistic captures |
|---|---|
| 🎬 Content creators | Stand out with a distinctive visual style |
| 🎮 Retro lovers | Relive the charm of 1-bit graphics |
| 🎨 Artists | Manga, comic book, and newspaper aesthetics |
| 🧪 Tech enthusiasts | Experience cutting-edge rendering techniques |
Q: Does this work with other shaders?
Dithering3D is a standalone shader pack. Combining with other shaders may cause conflicts.
Q: Why do some surfaces look different?
The sky and some special effects may appear different as surface-stable dithering reveals flat geometry.
Q: Performance impact?
Moderate. The 3D texture sampling is optimized but more demanding than vanilla rendering. Most GPUs handle it smoothly.
Q: Can I use this in my modpack?
Yes! Under MPL-2.0 license. Credit appreciated.
Dithering3D uses Singular Value Decomposition (SVD) to analyze UV coordinate derivatives in real-time, determining the exact frequency and direction of surface textures. This mathematical approach enables:
✅ Perfectly uniform dot density regardless of distance
✅ Seamless fractal transitions between detail levels
✅ Circular dots even on extremely angled surfaces
✅ Rotation-stable patterns that don't "swim"
| Resource | Link |
|---|---|
| 🔗 Original Algorithm | Rune Skovbo Johansen |
| 🎥 Technique Explanation | YouTube Video |
| 💬 Technical Discussion | FAQ Thread |
Mozilla Public License 2.0 (MPL-2.0)
🎨 Transform your world. Experience Dithering3D. 🎨
If you enjoy this shader, consider leaving a ⭐ and sharing this shader page !
Conversation