Add Iris shader support for tiles in the world and on Sable structures - #1325
Open
ArchangelDan wants to merge 1 commit into
Open
Add Iris shader support for tiles in the world and on Sable structures#1325ArchangelDan wants to merge 1 commit into
ArchangelDan wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This implementation was developed with the help of AI from OpenAI. The code was reviewed and tested manually.
Shader support has been tested for tiles both in the normal world and on Sable structures. Tiles pass their block state, material, local position, and lighting data to Iris, allowing shaders to correctly apply their own filters, PBR materials, and other visual effects.
On Sable structures, tile geometry is rendered through a separate VBO so that it does not get mixed with the structure's vanilla geometry and its extended Iris vertex format.
Testing confirmed that it works correctly on mixed constructions made of blocks and tiles, including geometry updates. Colored lighting also works with shaderpacks that support it on their side.
There are two known limitations that are unrelated to LittleTiles' shader data handling. Complementary's WSR reflections use voxelized scene data, so reflections of arbitrary fine tile geometry and angled surfaces may contain artifacts.
In MakeUp Ultra Fast and similar shaders, light from glowing tile blocks on Sable structures may not be visible. These shaders rely on the actual Minecraft lightmap, while auxiliary light is currently not transferred along with blocks when they are moved into Sable.