This is the largest update to Sodium since the initial release! There are a countless number of improvements for mod compatibility and hundreds of bugs and other issues have been resolved. Additionally, we managed to pack some new performance optimizations into this release.
Key highlights of this release
- This is the first multi-loader release for both NeoForge and Fabric! Yes, seriously!
- In the long-term, this means that users and mod authors will no longer need to rely on third-party forks of Sodium (Rubidium, Embeddium, Xenon, etc). This will greatly reduce friction for everyone, and improve the overall user experience significantly.
- We are working with mod authors as quickly as possible to implement additional APIs to improve mod compatibility with this version. Where possible, we will try to submit patches upstream to other mods to minimize the effort needed. If you are a mod author who finds their mod no longer works with Sodium 0.6, please open an issue so that we can work with you to fix it.
- The Fabric Rendering API (FRAPI) is now supported out of the box! This greatly improves mod compatibility, and makes it so mods like Indium are no longer necessary. We've worked with individuals in the Fabric team and other mod authors to make sure our implementation works correctly, and have done comprehensive testing to ensure other mods behave correctly with our implementation. (That said, if you find a bug with it as a mod author, please let us know.)
- Major improvements for translucent blocks! You know the long-standing issues with stained glass and other blocks, and how they don't quite look right? We're happy to announce those issues are no more. This means that translucent blocks will look great-- much better than Vanilla even-- with almost no performance impact. (This achievement would not have been possible without the effort of Douira. This was such a complex issue that it became the subject of their master's thesis.)
Improvements and new optimizations
- Occlusion culling has been improved slightly, reducing the number of rendered sections by up to 10-15% when using higher render distances.
- Added a new optimization called "Material Downgrading" which moves some terrain geometry to a simpler render pass when the texture is not transparent or translucent. This can improve terrain rendering performance slightly, and sometimes much more with certain mods or resource packs.
- The quality of terrain rendering has been greatly improved (greater vertex/texture precision), fixing many issues with special block models.
- Added a handful of optimizations to Minecraft's block models, which can slightly improve performance in complex worlds.
- Improved performance on integrated Intel GPUs by up to 10-15% with additional terrain rendering optimizations.
- The graphical fidelity and performance of cloud rendering has been improved significantly.
- Greatly reduced virtual memory utilization while loading chunks. This should also help improve how quickly chunks are loaded on the client.
- Many fixes for handling worlds with a large amount of geometry.
- Error messages at startup are more helpful now, especially when showing errors about incompatible graphics drivers.
- Added an option to the Video Settings screen for controlling the Fullscreen Resolution. (This is currently only available on Windows.)
- Minor code quality and performance improvements for color mixing/swizzling functions used in various parts of the renderer.
- The rendering of some options in the video settings menu has been slightly improved.
- Improved the performance of the box blurs used in biome color blending, making the higher values for the biome blend option less expensive.
Fixes for mod compatibility
- Added support for modifying the alpha component of vertex colors in terrain rendering, as used by some mods.
- Fixed an issue where mods relying on FREX Flawless Frames (such as ReplayMod) would have a one-frame delay before chunks were rendered to the screen.
- Fixed a crash with Immersive Engineering when block entities attempt to render particles.
- Fixed compatibility with some mods that modify biome colors on NeoForge (i.e. Polytone.)
- Fixed compatibility with mods that render their block entities on a glowing render pass.
- Improved compatibility with mods that use custom fluid renderers.
- Improved compatibility with mods that use custom biome colors.
- Improved compatibility with mods that extend the entity renderer.
- Improved compatibility with some resource packs that use custom shaders in entity rendering.
- Added support for the FREX Flawless Frame API on NeoForge.
- Added an API for mods that need to conditionally render block entities (i.e. Flywheel.)
- Fixed a cryptic crash relating to the PoseStack that can happen when mods render items using the Fabric APIs.
Other bugs fixed in this release
- Fixed a bug that would cause z-fighting between fluids and some special blocks (such as Stairs and Slabs.)
- Fixed a crash at startup with ARM CPUs on Windows that don't support OpenGL without the use of a translation layer.
- Fixed an issue where some chunks would not render correctly immediately after the projection matrix was changed (such as when putting down a Spyglass.)
- Fixed a problem where animated textures would stop animating, especially when some other mods were installed.
- Fixed a problem where z-fighting would occur with some block overlays, such as emissive textures.
- Fixed a problem that caused clouds to render as fully opaque.
- Fixed a regression that was causing clouds to only render at a short distance.
- Fixed a bug that would cause clouds to render with the wrong colors at specific times of day and with specific camera angles.
- Fixed tooltips being cutoff in the Video Settings menu when the effective window size is very small.
- Fixed a bug where clouds may not render their bottom faces at specific camera angles.
- Added a workaround for users who have installed ASUS GPU Tweak III on their computer, since it causes extremely poor performance and crashes with Minecraft.
- Fixed a cryptic crash relating to the PoseStack that can happen when mods render items using the Fabric APIs.
- Fixed a bug that would cause clouds to render with the wrong colors at specific times of day and with specific camera angles.
- Fixed a bug where clouds may not render their bottom faces at specific camera angles.
- Minor code quality and performance improvements for color mixing/swizzling functions used in various parts of the renderer.
- Improved the performance of the box blurs used in biome color blending, making the higher values for the biome blend option less expensive.
- Fixed a cryptic crash relating to the PoseStack that can happen when mods render items using the Fabric APIs.
- Fixed a bug that would cause clouds to render with the wrong colors at specific times of day and with specific camera angles.
- Fixed a bug where clouds may not render their bottom faces at specific camera angles.
- Minor code quality and performance improvements for color mixing/swizzling functions used in various parts of the renderer.
- Improved the performance of the box blurs used in biome color blending, making the higher values for the biome blend option less expensive.
- Fixed a problem with older Intel GPUs that would cause Z-fighting with block overlays.
- Fixed a crash with Immersive Engineering when block entities attempt to render particles.
- Added a handful of optimizations to Minecraft's block models, which can slightly improve performance in complex worlds.
- Improved translucency sorting for special block models with rotated cuboids.
- Fixed a problem that caused clouds to render as fully opaque.
- Fixed a regression that was causing clouds to only render at a short distance.
- Fixed tooltips being cutoff in the Video Settings menu when the effective window size is very small.
- Fixed warnings at startup about missing refmaps.
This update contains some minor performance and compatibility improvements, alongside adding support for Minecraft 1.21.2 and 1.21.3.
- Occlusion culling has been improved slightly, reducing the number of rendered sections by up to 10-15% when using higher render distances.
- Greatly reduced virtual memory utilization while loading chunks. This should also help improve how quickly chunks are loaded on the client.
- Many fixes for handling worlds with a large amount of geometry.
- Improved compatibility with some resource packs that use custom shaders in entity rendering.
- Added support for the FREX Flawless Frame API on NeoForge.
- Marked the mod as client-side only on NeoForge so that it is not (uselessly) loaded on servers.
- Improved some error diagnostics shown in the log file.
- Improved performance on integrated Intel GPUs by up to 10-15% with additional terrain rendering optimizations.
- Added a new optimization called "Material Downgrading" which moves some terrain geometry to a simpler render pass when the texture is not transparent or translucent. This can improve terrain rendering performance slightly, and sometimes much more with certain mods or resource packs.
- Added an option to the Video Settings screen for controlling the Fullscreen Resolution. (This is currently only available on Windows.)
- The game no longer crashes at startup instead of showing an error pop-up mesage on NeoForge.
- Fixed a problem where animated textures would stop animating, especially when some other mods were installed.
- Fixed a problem where z-fighting would occur with some block overlays, such as emissive textures.
- Fixed a frequent crash when unfocusing the game window or switching between applications on older Intel GPUs.
- Fixed a bug that would cause mixin overrides from mods to not apply.
- Fixed compatibility with some mods that modify biome colors on NeoForge (i.e. Polytone.)
- Fixed compatibility with mods that render their block entities on a glowing render pass.
- Added an API for mods that need to conditionally render block entities (i.e. Flywheel.)
This version contains a countless number of improvements and bug fixes, and is the largest update to Sodium since the initial release.
Highlights
- This is the first multi-loader release for both NeoForge and Fabric! Yes, seriously!
- In the long-term, this means that users and mod authors will no longer need to rely on third-party forks of Sodium (Rubidium, Embeddium, Xenon, etc). This will greatly reduce friction for everyone, and improve the overall user experience significantly.
- We are working with mod authors as quickly as possible to implement additional APIs to improve mod compatibility with this version. Where possible, we will try to submit patches upstream to other mods to minimize the effort needed. If you are a mod author who finds their mod no longer works with Sodium 0.6, please open an issue so that we can work with you to fix it.
- The Fabric Rendering API (FRAPI) is now supported out of the box! This greatly improves mod compatibility, and makes it so mods like Indium are no longer necessary. We've worked with individuals in the Fabric team and other mod authors to make sure our implementation works correctly, and have done comprehensive testing to ensure other mods behave correctly with our implementation. (That said, if you find a bug with it as a mod author, please let us know.)
- Major improvements for translucent blocks! You know the long-standing issues with stained glass and other blocks, and how they don't quite look right? We're happy to announce those issues are no more. This means that translucent blocks will look great-- much better than Vanilla even-- with almost no performance impact. (This achievement would not have been possible without the effort of Douira. This was such a complex issue that it became the subject of their master's thesis.)
Other changes
- The quality of terrain rendering has been greatly improved (greater vertex/texture precision), fixing many issues with special block models.
- The graphical fidelity and performance of cloud rendering has been improved significantly.
- Error messages at startup are more helpful now, especially when showing errors about incompatible graphics drivers.
- Reduced the overhead of framebuffer copies, improving performance slightly on integrated graphics.
- Fixed a bug that would cause z-fighting between fluids and some special blocks (such as Stairs and Slabs.)
- Added support for modifying the alpha component of vertex colors in terrain rendering, as used by some mods.
- Improved compatibility with mods that use custom fluid renderers.
- Improved compatibility with mods that use custom biome colors.
- Improved compatibility with mods that extend the entity renderer.
- Fixed an issue where some chunks would not render correctly immediately after the projection matrix was changed (such as when putting down a Spyglass.)
- Fixed an issue where mods relying on FREX Flawless Frames (such as ReplayMod) would have a one-frame delay before chunks were rendered to the screen.
- Added a workaround for users who have installed ASUS GPU Tweak III on their computer, since it causes extremely poor performance and crashes with Minecraft.
- Fixed a crash at startup with ARM CPUs on Windows that don't support OpenGL without the use of a translation layer.
- The rendering of some options in the video settings menu has been slightly improved.
- And many other improvements...