nineMinecraft is a joke site.
nineMinecraft is in no way affiliated with Modrinth or 9minecraft. (And frankly, who wants to be affiliated with the latter?)
Satin API

Satin API

Mod

A Fabric library to help modders with shader usage

Client Library

781.7k downloads
226 followers
Filter loader...
Filter versions...
Filter channels...

3.0.0-alpha.1

by Pyrofab on Apr 19, 2025
Download

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_effect and shaders instead of respectively shaders/post and shaders/program. By convention, files previously in shaders/program should go to the shaders/post subdirectory.
  • Identifiers for ManagedShaderEffect have changed: mymod:shaders/post/example.json becomes mymod:example (the example.json file also needs to be moved to the post_effect directory)
  • Includes (loaded from shaders/include) are now available in post process shaders
  • Post-process effect format has changed:
    • inputs take a sampler_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

by Pyrofab on Jun 13, 2024
Download

Version 2.0.0:

Updated to MC 1.21

Changes

  • The root package has been changed from ladysnake.satin to org.ladysnake.satin
    • global search-replace of ladysnake.satin -> org.ladysnake.satin should do the trick for the migration in your projects

Removals

  • Removed the nanoTime parameter in PostWorldRenderCallback and PostWorldRenderCallbackV2 (deprecated since 1.17.0)
  • Removed the ShaderEffectManager#manageProgram methods (deprecated since 1.6.0)
  • Removed deprecated GlMatrices methods (deprecated since 1.1.0)

see full changelog here

1.9.2

by Pyrofab on Jun 13, 2024
Download

Version 1.9.2:

Ported to Quilt to hopefully fix the incompatibility issue

see full changelog here

1.18.0

by Pyrofab on Jun 5, 2024
Download

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

by Pyrofab on Apr 30, 2024
Download

Version 1.17.0:

Updated to MC 1.20.5

Additions

  • Added PostWorldRenderCallbackV3, with the projection and model-view matrices passed in

Changes

  • The nanoTime parameter in PostWorldRenderCallback and PostWorldRenderCallbackV2 has been deprecated, and is subject to removal in a future version

see full changelog here

1.16.0

by Pyrofab on Dec 31, 2023
Download

Version 1.16.0:

Updated to MC 1.20.4 proper (thanks DietrichPaul!)

Additions

  • Added a new UniformMat4#setFromArray method for those cases where going through a matrix is too impractical

see full changelog here

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

by Pyrofab on Dec 5, 2023
Download

Version 1.15.0:

Updated to MC 1.20.3 (thanks DietrichPaul!)

Changes

  • Slightly optimized shader uniform loading

see full changelog here

1.14.0

by Pyrofab on Aug 5, 2023
Download

Version 1.14.0:

Updated to MC 1.20.1

Additions

  • Added the satin:format framebuffer extension (big thanks to Will BL !)

Changes

  • Moved publication to the ladysnake maven (maven.ladysnake.org/releases instead of ladysnake.jfrog.io/mods)
  • Changed the maven group to org.ladysnake

Refer to the readme for updated buildscript instructions.

see full changelog here

1.13.0

by Pyrofab on Jun 10, 2023
Download

Version 1.13.0:

Updated to MC 1.20

see full changelog here

1.12.1

by Pyrofab on Jun 6, 2023
Download

Version 1.12.1:

Changes

  • Optimized shader loading (should now be faster)

Fixes

  • Fixed managed sampler uniforms losing data upon resource reloading (Ported fix from v1.10.1 to MC 1.19.4)

see full changelog here

1.12.0

by Pyrofab on May 29, 2023
Download

Version 1.12.0:

Additions

  • Satin's float uniforms now have a setter overload that accepts a JOML vector object as argument

Fixes

  • Fixed crash with Iris installed

see full changelog here

1.11.0

by Pyrofab on Mar 19, 2023
Download

Version 1.11.0:

Updated to MC 1.19.4

see full changelog here

1.10.0

by Pyrofab on Dec 10, 2022
Download

Version 1.10.0:

Updated to MC 1.19.3

see full changelog here

1.9.0

by Pyrofab on Jul 8, 2022
Download

Version 1.9.0:

Changes

  • The vertex format specified in ShaderEffectManager#manageCoreShader is now used by RenderLayers created from ManagedCoreShader#getRenderLayer

see full changelog here

1.8.0

by Pyrofab on May 26, 2022
Download

Version 1.8.0:

Updated to MC 1.19

see full changelog here

1.7.2

by Pyrofab on May 26, 2022
Download

Version 1.7.2:

  • first version available on modrinth
  • removed iris from transitive dependencies

see full changelog here

External resources


Project members

Ladysnake

Ladysnake

Organization

Pyrofab

Main Developer


Technical information

License
LGPL-3.0-only
Client side
required
Server side
unsupported
Project ID