{"id":144959,"date":"2026-06-08T19:07:39","date_gmt":"2026-06-08T16:07:39","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/sodium-core-shader-support\/"},"modified":"2026-06-08T19:07:39","modified_gmt":"2026-06-08T16:07:39","slug":"sodium-core-shader-support","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/sodium-core-shader-support\/","title":{"rendered":"Sodium Core Shader Support"},"content":{"rendered":"<p># Sodium Core Shader Support<br \/>\n![Modrinth Downloads](https:\/\/modrinth.com\/mod\/sodium-core-shader-support)<br \/>\n![CurseForge Downloads](https:\/\/www.curseforge.com\/minecraft\/mc-mods\/sodium-core-shader-support)<br \/>\n![License](https:\/\/img.shields.io\/github\/license\/lni-dev\/sodiumcoreshadersupport?color=%23f9af8b)<br \/>\n![Environment Client](https:\/\/img.shields.io\/badge\/environment-client-blue)<br \/>\n![Discord](https:\/\/discord.gg\/shVe3cR)<\/p>\n<p>Enables resourcepacks to replace sodium&#8217;s shaders, similar to resourcepacks being able to replace vanilla&#8217;s core shaders.<br \/>\nIf you like my mods consider supporting the development by buying me a coffee:<\/p>\n<p>![ko-fi](https:\/\/ko-fi.com\/T6T41BS1C9)<\/p>\n<p>## Documentation for Users<\/p>\n<p>Sodium Core Shader Support allows resourcepacks to replace sodiums core shaders with their own. That does **not** mean, that<br \/>\nthis mod makes every vanilla resourcepack work on sodium. The resourcepacks will only work if they specifically state, that<br \/>\nthey are compatible with sodium core shader support.<\/p>\n<p>If you are using a supported resourcepack you can simply activate it like any other resourcepack.<\/p>\n<p>### Resourcepack incompatible<br \/>\nSodium may display the message `The following resource packs are incompatible with Sodium` in the top right corner after<br \/>\nreloading resources and listing your active core<br \/>\nshaders. This message will always appear, even if the resourcepack supports sodium core shaders and can be ignored.<\/p>\n<p>## List of Resourcepacks<br \/>\nThis is a small list of resourcepacks that work on sodium. If you have created a resourcepack yourself feel free to<br \/>\nopen an issue on my github to add it to this list!<br \/>\n&#8211; [Energy Shaders [Java]](https:\/\/modrinth.com\/shader\/energy-shaders-java)<br \/>\n&#8211; [Night Vision Shaders [Java]](https:\/\/modrinth.com\/shader\/night-vision-shaders)<br \/>\n&#8211; Re-Shaded (since re-shaded version 1.3)<\/p>\n<p>## Documentation for Shader Developers<br \/>\nIt is important to understand that your vanilla shaders cannot just be copied to sodium shaders. Sodium has their own shaders<br \/>\nfor blocks and clouds:<br \/>\n&#8220;`<br \/>\n&#8211; assets\/sodium\/shaders\/<br \/>\n   | &#8211; clouds.fsh<br \/>\n   | &#8211; clouds.vsh<br \/>\n   | &#8211; blocks\/<br \/>\n        | &#8211; block_layer_opaque.fsh<br \/>\n        | &#8211; block_layer_opaque.vsh<br \/>\n   | &#8211; include\/<br \/>\n        | &#8211; fog.glsl<br \/>\n        | &#8211; chunk_material.glsl<br \/>\n        | &#8211; chunk_matrices.glsl<br \/>\n        | &#8211; chunk_vertex.glsl<br \/>\n&#8220;`<br \/>\nUnless you want to change sodium clouds the `block_layer_opaque` are usually the most important ones.<br \/>\nYou should not have to touch `chunk_material.glsl`, `chunk_matrices.glsl` and `chunk_vertex.glsl` unless you know what you<br \/>\nare doing.<\/p>\n<p>### Retrieving sodium shaders source code<br \/>\nTo retrieve the sodium shader source code for a specific sodium version, download the `.jar` file of that version and<br \/>\nextract it like a `.zip` archive. Inside the extracted archive you will find a `assets` folder containing the directory<br \/>\nstructure mentioned above.<\/p>\n<p>### block_layer_opaque<br \/>\nThe `block_layer_opaque` is used for all blocks and block entities. The vanilla minecraft equivalent is `terrain.fsh`<br \/>\nand `terrain.vsh` (In older versions of minecraft the equivalent is `rendertype_solid`, `rendertype_cutout`, `rendertype_cutout_mipped`, &#8230;).<\/p>\n<p>Additionally, sodium core shader support adds a few defines in the sodium shaders `block_layer_opaque.fsh`<br \/>\nand `block_layer_opaque.vsh` for some terrain-types:<br \/>\n&#8211; `RENDER_PASS_SOLID`: Solid Blocks<br \/>\n&#8211; `RENDER_PASS_CUTOUT`: Blocks like leaves, grass, glass, &#8230;<br \/>\n&#8211; `RENDER_PASS_TRANSLUCENT`: Blocks with actual transparency, e.g. water, honey, slime, &#8230;<\/p>\n<p>Furthermore, the define `SODIUM_CORE_SHADER_SUPPORT` will be present in all shaders (mc >= 1.21.2 and version >= 1.3.8).<br \/>\nThese defines can be used like this:<br \/>\n&#8220;`glsl<br \/>\n#ifdef RENDER_PASS_SOLID<br \/>\n    \/\/ special shading for solid stuff<br \/>\n#endif<br \/>\n&#8220;`<\/p>\n<p>#### GameTime Uniform<br \/>\nAs of Sodium Core Shader Support version 1.4.0 the `u_GameTime` uniform will be present in `block_layer_opaque.fsh`<br \/>\nand `block_layer_opaque.vsh`. It can be used just like the vanilla GameTime uniform. Add it to your shaders using:<br \/>\n&#8220;`glsl<br \/>\nuniform float u_GameTime;<br \/>\n&#8220;`<\/p>\n<p>#### SunAngle Uniform<br \/>\nAs of Sodium Core Shader Support version 1.5.0 the `u_SunAngle` uniform will be present in `block_layer_opaque.fsh`<br \/>\nand `block_layer_opaque.vsh` as well. It returns the sun angle from environmental attributes in radians. Add it to your shaders using:<br \/>\n&#8220;`glsl<br \/>\nuniform float u_SunAngle;<br \/>\n&#8220;`<\/p>\n<p>### How to specify which sodium versions are supported<br \/>\nThe sodium devs will change their internal shaders and shader related code without further notice. That&#8217;s why it is<br \/>\nimportant that you specify with which versions of sodium and minecraft your pack is compatible. This can be done in a special<br \/>\n`versions.json` file. It should be located in your resourcepack in a new directory `assets\/sodiumcoreshadersupport` with<br \/>\nthe file name `versions.json` inside. The contents of the file could look like this:<br \/>\n&#8220;`json<br \/>\n{<br \/>\n  &#8220;supported-versions&#8221;: {<br \/>\n    &#8220;1.21&#8221;: [ &#8220;0.5.11+mc1.21&#8221; ],<br \/>\n    &#8220;1.21.1&#8221;: [ &#8220;0.5.11+mc1.21&#8221; ]<br \/>\n  }<br \/>\n}<br \/>\n&#8220;`<br \/>\nIn the above example the resourcepack states, that it is compatible with sodium `0.5.11` on minecraft `1.21` and `1.21.1`.<br \/>\nAn abstract description is below:<br \/>\nMore specifically, `versions.json` must contain a question object with the key `supported-versions`.<br \/>\nThe value of `supported-versions` must be a map, which maps different minecraft versions to an array of allowed sodium versions.<br \/>\nThe SodiumCoreShaderSupport mod will check if the installed sodium version is contained in the array of the installed minecraft version.<br \/>\n<br \/>\n&#8211; If the minecraft and\/or sodium version is not inside `supported-versions`, the pack can be activated with a warning message.<br \/>\n&#8211; If the user does not have sodium installed the pack can be activated.<br \/>\n&#8211; If no versions.json is present, the pack can be activated with a warning message.<br \/>\n&#8211; If the versions.json is malformed, the pack can be activated with a warning message.<\/p>\n<p>### Imports<br \/>\nSodium Shaders must be in `assets\/sodium\/shaders` directory. But you can `#import` files from<br \/>\n`assets\/minecraft\/shaders` using the `#import` directive. The following code will include<br \/>\nthe file `assets\/minecraft\/shaders\/include\/test.glsl`:<br \/>\n&#8220;`glsl<br \/>\n#import <minecraft:include\/test.glsl><br \/>\n&#8220;`<br \/>\nWith this trick you can create custom glsl files, which you can `#import` in your shaders (in both core shaders and sodium shaders).<br \/>\nThese files, should contain your main shader &#8220;logic&#8221;. An example shaderpack, which<br \/>\nworks with this trick on both vanilla and sodium, can be found here.<\/p>\n<p>### Disable Culling<br \/>\nSince version 1.5.0, sodium&#8217;s frustum and backface culling can be disabled via `versions.json`. This is useful for any core shader that requires offscreen geometry, or that aims to transform the view in `block.vsh` to show geometry not typically on screen (e.g. shadows, alternate player POVs, etc.)<\/p>\n<p>&#8220;`json<br \/>\n{<br \/>\n  &#8220;supported-versions&#8221;: { &#8220;1.21.11&#8221;: [&#8220;0.8.7+mc1.21.11&#8221;] },<br \/>\n  &#8220;disable-frustum-culling&#8221;: true,<br \/>\n  &#8220;disable-backface-culling&#8221;: true<br \/>\n}<br \/>\n&#8220;`<\/p>\n<p>## Credits<br \/>\nThanks to MR-CHOO for adding the [SunAngle Uniform](#sunangle-uniform) and the option<br \/>\n[to disable frustum and backface culling](#disable-culling)!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Enables resourcepacks to be able to replace sodium&#8217;s shaders, similar to resourcepacks being able to replace vanilla&#8217;s core shaders.<\/p>\n","protected":false},"featured_media":144960,"template":"","meta":{"_minecraft_slug":"sodium-core-shader-support","_minecraft_project_id":"G8yJPRdl","_minecraft_author":"linusdev","_minecraft_license":"Apache-2.0","_minecraft_downloads":667007,"_minecraft_follows":300,"_minecraft_client_side":"required","_minecraft_server_side":"unsupported","_minecraft_storage_type":"zip","_minecraft_archive_name":"sodium-core-shader-support.zip","_minecraft_size_bytes":3842399,"_minecraft_version_count":105,"_minecraft_updated_at":"2026-05-16T15:34:07.341666Z","_minecraft_date_created":"2023-12-11T22:33:12.686596Z","_minecraft_date_modified":"2026-05-13T17:16:30.527559Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/sodium-core-shader-support","_minecraft_icon_attachment_id":144960,"_minecraft_imported_at":"2026-06-08T16:07:40+00:00","_minecraft_import_hash":"f221afd1d08e5714854e4555e4b4e295","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[97,89,158],"mod_loader":[99,160],"minecraft_version":[94,101,102,62,37,40,41,73,74,38,78,79,80,81,82,83,167,163],"class_list":["post-144959","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-fabric","mod_category-game-mechanics","mod_category-neoforge","mod_loader-fabric","mod_loader-neoforge","minecraft_version-1-20-4","minecraft_version-1-20-5","minecraft_version-1-20-6","minecraft_version-1-21","minecraft_version-1-21-1","minecraft_version-1-21-10","minecraft_version-1-21-11","minecraft_version-1-21-2","minecraft_version-1-21-3","minecraft_version-1-21-4","minecraft_version-1-21-5","minecraft_version-1-21-6","minecraft_version-1-21-7","minecraft_version-1-21-8","minecraft_version-1-21-9","minecraft_version-26-1","minecraft_version-26-1-1","minecraft_version-26-1-2"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Sodium Core Shader Support - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/sodium-core-shader-support\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sodium Core Shader Support - Minecraft\" \/>\n<meta property=\"og:description\" content=\"Enables resourcepacks to be able to replace sodium&#039;s shaders, similar to resourcepacks being able to replace vanilla&#039;s core shaders.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/sodium-core-shader-support\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/sodium-core-shader-support\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/sodium-core-shader-support\\\/\",\"name\":\"Sodium Core Shader Support - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/sodium-core-shader-support\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/sodium-core-shader-support\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/sodium-core-shader-support-icon-2d322f159405e6c26b1962acb6b0b23ba11aded8.png\",\"datePublished\":\"2026-06-08T16:07:39+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/sodium-core-shader-support\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/sodium-core-shader-support\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/sodium-core-shader-support\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/sodium-core-shader-support-icon-2d322f159405e6c26b1962acb6b0b23ba11aded8.png\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/sodium-core-shader-support-icon-2d322f159405e6c26b1962acb6b0b23ba11aded8.png\",\"width\":128,\"height\":128},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/sodium-core-shader-support\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Sodium Core Shader Support\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Sodium Core Shader Support - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/sodium-core-shader-support\/","og_locale":"en_US","og_type":"article","og_title":"Sodium Core Shader Support - Minecraft","og_description":"Enables resourcepacks to be able to replace sodium's shaders, similar to resourcepacks being able to replace vanilla's core shaders.","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/sodium-core-shader-support\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/sodium-core-shader-support\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/sodium-core-shader-support\/","name":"Sodium Core Shader Support - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/sodium-core-shader-support\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/sodium-core-shader-support\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/sodium-core-shader-support-icon-2d322f159405e6c26b1962acb6b0b23ba11aded8.png","datePublished":"2026-06-08T16:07:39+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/sodium-core-shader-support\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/sodium-core-shader-support\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/sodium-core-shader-support\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/sodium-core-shader-support-icon-2d322f159405e6c26b1962acb6b0b23ba11aded8.png","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/sodium-core-shader-support-icon-2d322f159405e6c26b1962acb6b0b23ba11aded8.png","width":128,"height":128},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/sodium-core-shader-support\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"Sodium Core Shader Support"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/144959","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/144960"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=144959"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=144959"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=144959"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=144959"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}