Satin API Mod (1.19.4, 1.19.2)
Created by PyrofabTheModsmith
Introducing Satin API Mod (1.19.4; 1.19.2), an innovative library designed to enable modders to incorporate captivating visual effects into their mods with ease. This streamlined solution simplifies the utilization of Minecraft's data-driven shader system, encompassing super-secret settings, mob vision, and spectral arrows. As a lightweight library for OpenGL shader usage, Satin API Mod promises enhanced performance and optimization.
Satin API Mod brings several changes to Vanilla, predominantly concerning ShaderEffects. A uniform fix ensures that using a vector of integers no longer results in a game crash, while shader locations are patched to accept a resource domain in program names and fragment/vertex shader files. Moreover, Satin API Mod provides access to a Framebuffer's depth texture even before it gained popularity in version 1.16.
The core functionality of Satin API Mod lies in its sophisticated ShaderEffect management system. The ShaderEffect, a Minecraft class responsible for data-driven post-processing shaders, comes with certain limitations. Specifically, these effects must be initialized after the game has fully loaded to prevent gl errors and must be updated whenever the game's resolution changes. Additionally, they lack the capability to set uniforms from external code.
Satin API Mod resolves these issues by offering a ManagedShaderEffect object that streamlines initialization, resolution updates, and resource reloading. This object enables dynamic uniform setting through various access methods, ensuring seamless integration and adaptability.
RenderLayer Utilities further enhance the functionality of Satin API Mod, with ManagedFramebuffer and ManagedShaderProgram classes providing methods for obtaining clones of existing RenderLayer objects. These objects feature custom targets, which facilitate draw calls on the ManagedFramebuffer or using the shader program. Consequently, these utilities can render bespoke effects on entities and block entities, although regular blocks are not supported.
For more advanced shader materials, an alternative renderer like Canvas is recommended to ensure optimal performance and customization.
In addition to the ShaderEffect management system, Satin API Mod offers various utility classes and methods to simplify working with shaders. The ShaderLoader allows for the effortless creation, linking, and loading of OpenGL shader programs through a single call. Meanwhile, GlPrograms deliver helper methods for working with these programs, and the matrix package supports matrix retrieval and manipulation.
In summary, Satin API Mod (1.19.4; 1.19.2) is a cutting-edge library that empowers modders to create visually stunning mods using Minecraft's data-driven shader system. With an emphasis on