Satin API
A Fabric library to help modders with shader usage
Обновлён 19 апреля 2025 г. · опубликован 26 мая 2022 г.
Satin is a simple library allowing modders to add interesting graphical effects to their mods. Its main feature is to significantly simplify the use of Minecraft's data-driven shader system (that is, the one used by super secret settings, mob vision, and spectral arrows).
A full feature list with installation instructions is available on the github repository : https://github.com/Ladysnake/Satin/
You can find documentation for the shader format on the wiki : https://github.com/Ladysnake/Satin/wiki/Data-driven-shaders
FAQ
Can it replace Optifine ?
No. Optifine shaders are significantly more complex than what this library allows. For a work-in-progress alternative, see the Canvas Renderer project.
Can it bring back Super Secret Settings ?
Satin is just a library, so it does not add any content by itself. You may however be interested in Secrets No More, a mod using Satin to do exactly that !
Does this library have a Forge version ?
No, and I do not want to port it myself. I will however support anyone who does so. Also note that the documentation for the shader format stays applicable regardless of the mod loader being used.
Версии
| Версия | Канал | Игра | Загрузчики | Дата | Скачать |
|---|---|---|---|---|---|
| 3.0.0-alpha.1 | Альфа | 1.21.2, 1.21.3, 1.21.4 | fabric, quilt | 19 апреля 2025 г. | .jar (97 КБ) |
| 2.0.0 | Релиз | 1.21, 1.21.1 | fabric, quilt | 13 июня 2024 г. | .jar (100 КБ) |
| 1.9.2 | Релиз | 1.19.2 | fabric, quilt | 13 июня 2024 г. | .jar (89 КБ) |
| 1.18.0 | Релиз | 1.20.5, 1.20.6 | fabric, quilt | 5 июня 2024 г. | .jar (100 КБ) |
| 1.17.0 | Релиз | 1.20.5, 1.20.6 | fabric, quilt | 30 апреля 2024 г. | .jar (97 КБ) |
| 1.16.0 | Релиз | 1.20.4 | fabric, quilt | 31 декабря 2023 г. | .jar (96 КБ) |
| 1.9.1 | Альфа | 1.19.2 | fabric, quilt | 31 декабря 2023 г. | .jar (89 КБ) |
| 1.15.0 | Релиз | 1.20.3, 1.20.4 | fabric, quilt | 5 декабря 2023 г. | .jar (97 КБ) |
| 1.14.0 | Релиз | 1.20, 1.20.1, 1.20.2 | fabric, quilt | 5 августа 2023 г. | .jar (97 КБ) |
| 1.13.0 | Релиз | 1.20, 1.20.1, 1.20.2 | fabric, quilt | 10 июня 2023 г. | .jar (92 КБ) |
| 1.12.1 | Релиз | 1.19.4 | fabric, quilt | 6 июня 2023 г. | .jar (92 КБ) |
| 1.12.0 | Релиз | 1.19.4 | fabric, quilt | 29 мая 2023 г. | .jar (92 КБ) |
| 1.11.0 | Релиз | 1.19.4 | fabric, quilt | 19 марта 2023 г. | .jar (93 КБ) |
| 1.10.0 | Релиз | 1.19.3 | fabric, quilt | 10 декабря 2022 г. | .jar (94 КБ) |
| 1.9.0 | Релиз | 1.19, 1.19.1, 1.19.2 | fabric, quilt | 8 июля 2022 г. | .jar (99 КБ) |
Показаны последние 15 из 17 версий. Все версии — на Modrinth.
Ченджлог
3.0.0-alpha.1Альфа1.21.2, 1.21.3, 1.21.4 · 19 апреля 2025 г.
Version 3.0.0-alpha.1:
Partially updated to MC 1.21.2
This update contains major breaking changes made by Mojang to shader declarations preparing the terrain for Vibrant Visuals. More breaking changes should be expected for later versions.
For this first alpha, only ShaderEffectManager#manage, ManagedShaderEffect and basic uniform manipulation methods are expected to work.
Feedback is welcome on the Satin GitHub page.
Changes
- Post process shaders are now loaded from
post_effectandshadersinstead of respectivelyshaders/postandshaders/program. By convention, files previously inshaders/programshould go to theshaders/postsubdirectory. - Identifiers for
ManagedShaderEffecthave changed:mymod:shaders/post/example.jsonbecomesmymod:example(theexample.jsonfile also needs to be moved to thepost_effectdirectory) - Includes (loaded from
shaders/include) are now available in post process shaders - Post-process effect format has changed:
inputstake asampler_name, which will be suffixed with "Sampler" (e.g."sampler_name": "In"becomes"name": "InSampler"in the shader definition)
see full changelog here
2.0.0Релиз1.21, 1.21.1 · 13 июня 2024 г.
Version 2.0.0:
Updated to MC 1.21
Changes
- The root package has been changed from
ladysnake.satintoorg.ladysnake.satin- global search-replace of
ladysnake.satin->org.ladysnake.satinshould do the trick for the migration in your projects
- global search-replace of
Removals
- Removed the
nanoTimeparameter inPostWorldRenderCallbackandPostWorldRenderCallbackV2(deprecated since 1.17.0) - Removed the
ShaderEffectManager#manageProgrammethods (deprecated since 1.6.0) - Removed deprecated
GlMatricesmethods (deprecated since 1.1.0)
see full changelog here
1.9.2Релиз1.19.2 · 13 июня 2024 г.
1.18.0Релиз1.20.5, 1.20.6 · 5 июня 2024 г.
Version 1.18.0:
Additions
- Added
WorldRendererReloadCallback, an event that gets triggered when e.g. video settings are updated or the player joins a world
Changes
- Shaders' init callbacks now also run during the above event
- This fixes resource leaks caused by setting a sampler uniform to a vanilla Framebuffer in those callbacks
- Added a warning in the logs for bad framerate when installed together with the Vivecraft mod
see full changelog here
1.17.0Релиз1.20.5, 1.20.6 · 30 апреля 2024 г.
Version 1.17.0:
Updated to MC 1.20.5
Additions
- Added
PostWorldRenderCallbackV3, with the projection and model-view matrices passed in
Changes
- The
nanoTimeparameter inPostWorldRenderCallbackandPostWorldRenderCallbackV2has been deprecated, and is subject to removal in a future version
see full changelog here
1.16.0Релиз1.20.4 · 31 декабря 2023 г.
Version 1.16.0:
Updated to MC 1.20.4 proper (thanks DietrichPaul!)
Additions
- Added a new
UniformMat4#setFromArraymethod for those cases where going through a matrix is too impractical
see full changelog here
1.9.1Альфа1.19.2 · 31 декабря 2023 г.
Version 1.9.1:
Fixes
- Fixed incompatibility with newer Fabric API for 1.19.2 (thanks unilock for the backport !)
- may break some mods, only install this if your modpack crashes with 1.9.0
see full changelog here
1.15.0Релиз1.20.3, 1.20.4 · 5 декабря 2023 г.
Version 1.15.0:
Updated to MC 1.20.3 (thanks DietrichPaul!)
Changes
- Slightly optimized shader uniform loading
see full changelog here
Полная история изменений — на Modrinth.
Комментарии
Загружаем…