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)
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
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
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
Updated to MC 1.20.3 (thanks DietrichPaul!)
Changes
- Slightly optimized shader uniform loading
Updated to MC 1.20.1
Additions
- Added the
satin:formatframebuffer extension (big thanks to Will BL !)
Changes
- Moved publication to the ladysnake maven (
maven.ladysnake.org/releasesinstead ofladysnake.jfrog.io/mods) - Changed the maven group to
org.ladysnake
Refer to the readme for updated buildscript instructions.
Updated to MC 1.20
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)
Additions
- Satin's float uniforms now have a setter overload that accepts a JOML vector object as argument
Fixes
- Fixed crash with Iris installed
Updated to MC 1.19.4
Fixes
- Fixed managed sampler uniforms losing data upon resource reloading
Updated to MC 1.19.3
Changes
- The vertex format specified in
ShaderEffectManager#manageCoreShaderis now used byRenderLayers created fromManagedCoreShader#getRenderLayer
Fixes
- Fixed mixin crash when Sodium or Canvas was installed
Updated to MC 1.19
- removed iris from transitive dependencies
Fixes
- Fixed crash at launch with Iris
Updated to MC 1.18
Fixes
- Fixed modded shader locations not working with Architectury
Fixes
- Fixed incompatibility between Satin's customized render layer API and Iris
Fixes
- Fixed mixin error with Architectury
Fixes
- Fixed uniforms for core shaders still being reset after resource reloading
Updated to 1.17
Changes
ManagedShaderProgramhas been replaced withManagedCoreShader- shader files referenced from one of those should be moved from
assets/shaders/programtoassets/shaders/core
- shader files referenced from one of those should be moved from
Fixes
- Shader uniforms no longer get their value reset after resource reloading
- Fixed the first call to
ManagedUniform#setnot doing anything when the values were all0
Reminder: we Core Profile now !
- Fixed a crash when calling some GlMatrices methods on Java 8
- Fixed a crash in obfuscated environments when using the RenderLayer duplication feature
- Added a method in RenderLayerHelper to get the name of an existing render phase/layer
- Added the ability to set a regular block's render layer through
RenderLayerHelper- Marked the functionality as deprecated because of the potential for incompatibilities.
- Removed experimental
BufferBuildersInitCallbackas it seems superseded by RenderLayer duplication
Update to 1.16.2
Changes
- Removed the experimental versions of the
UniformFinderinterface and associated handles (use the promoted versions!)
Update to 1.16 (thanks to Draylar and DaveyL2013 for snapshot updates)
Additions
- Added
RenderLayerHelper, a class with new methods for simplifying the creation ofRenderLayers based on existing ones - Added
ManagedShaderProgram, a new alternative toManagedShaderEffectthat encapsulates a single shader program that can be enabled or disabled. - Added
ManagedFramebuffer, for cleaner code when using aManagedShaderEffect's target framebuffers - Added
PostWorldRenderCallbackV2, now passing the MatrixStack for actual drawing
Changes
- Shaders are no longer garbage collected when you remove all references to them without calling
ShaderManager#dispose. Clean the place before you leave! - The
UniformFinderinterface and associated handles have been promoted to maintained API and moved to the appropriate package. The previous experimental classes have been marked deprecated.
Fixes
- Fixed a vanilla bug causing corrupted overlays after rendering a shader in
ShaderEffectRenderCallback, also spectator shaders
Bug fixes
- Fixed framebuffer scaling on OSX (closes #1) (thanks to grondag !)
Changes
- Satin now works with Optifine installed, at the cost of the custom entity shader feature
- Fixed dependency metadata still using "requires"
Changes
- Updated all dependencies (including Fabric API)
- Managed uniforms now ignore calls to
set(...)when they are not initialized
Additions
- Added managed uniforms as an experimental feature
Changes
- Forget lazily loading shaders, managed shaders get loaded with other resources now
Bug fixes
- Fixed a broken early return in uniform uploading (good job Mojang)
Additions
- Added an entity pre render callback
Bug fixes
- Fixed test mods
Additions
- Added an experimental depth map access, allowing for fancier effects than ever
- Added a config file that can be used to disable the depth map hook
- Added a PostRenderWorldEvent, useful to render effects that use world information
Bug fixes
- Fixed int uniforms crashing the game (Mojang's bug!)
Also Satin now has a wiki and example mods that you can check out!
- Fixed a dumb bug causing all mixins to be skipped
Additions
- Added an experimental readable depth texture access to framebuffers
- Added a basic json config for optional features (currently used to let users forcefully disable the above feature)
- Added matrix multiplication to GlMatrices
- Also added a logo and support for mod menu
Changes
- Replaced some methods in GlMatrices with better versions. Old ones have been deprecated.
- Updated to Loader 0.4.0 ! Nest me up daddy
Initial release