StartsMercury / simply-no-shading

A mod mimicking OptiFine's Internal Shader though with less performance impact.
https://modrinth.com/mod/simply-no-shading
MIT License
17 stars 7 forks source link

Split Experimental "Entity-Like" Built-in Resource Pack #115

Closed StartsMercury closed 3 months ago

StartsMercury commented 11 months ago
CocoManiaDX commented 6 months ago

Hello! Just wondering if it's possible to modify the built in resource pack to still disable the shading of entities in-world, but still keep the shading for the blocks on the GUI?

Mostly cause some items become very hard to see on the GUI without shading. Things like stone, andesite and whatnot.

Regardless, thanks a lot for the work you're putting into this <3

StartsMercury commented 6 months ago

It was thanks to Minecrafthyr that we now have experimental entity(-like) shading from issue #113 .

The built-in resource pack isn't really doing anything complicated. So what it does, it overwrites that one Minecraft include shader code, specifically the minecraft_mix_light() function in include/light.glsl, which is used everywhere, and thus why it affects all sorts of things such as models drawn on interfaces. The core shader(s) that actually handles entity shading could be identified (or just find the ones that calls the said shared shader code) and add specific checks to filter for entities (maybe the one mentioned in https://github.com/McTsts/Minecraft-Shaders-Wiki/blob/main/Isolating%20Items.md).

It can be done, though why it's not yet in the mod is that it needs to somewhat not needlessly affect other code and I'm not sure if it's possible to do in resource packs. So, I was planning to achieve this by modifying or transforming (https://github.com/IrisShaders/glsl-transformer) loaded shaders and add the needed modifications there.

Edit: Also I apologize if I got something wrong about core shaders, I am not an expert :')

StartsMercury commented 3 months ago

This feature will be stable in the upcoming v7.4.0 release. The Entity Shading toggle will no longer affect stuff in the inventory and the GUI. The experimental resource pack, soon deprecated, will still do that and will not be fixed (prefer the new toggle and do remove/unselect it).