ComplementaryDevelopment / ComplementaryReimagined

Complementary is a graphical rework pack for Minecraft with exceptional quality, detail, and performance.
https://www.complementary.dev/shaders/
Other
185 stars 53 forks source link

Create an option for disabling integrated PBR beacon beam emission shader #54

Closed jonko0493 closed 11 months ago

jonko0493 commented 11 months ago

At the outset, I completely understand if you decide not to take this pull request, but I'm making it just in case it's of interest.

There's a conflict between this shaderpack and the mod Minecraft Transit Railway. In order to make its railway signs visible, MTR bumps up the emission on those blocks significantly. When combined with Complementary Shaders, this results in white blocks appearing where an icon should be:

image

The typical advice given here is to turn of Integrated PBR, but this sucks because that's like a big part of the shader, imo. So I combed through the shader code and ended up figuring out that the culprit was the beacon beam emission shader, specifically the part that's gated behind Integrated PBR.

All I did was make a quick option to gate this one PBR effect behind an option and the signs now render perfectly.

image

There is a visible effect on the beacon beam, of course, but I think having this one downgrade rather than losing all of integrated PBR is worth making an option for.

EminGT commented 11 months ago

Thank you for taking your time to post this but I don't think it's the correct way to solve the problem. Adding more settings slow down the shader over time, so I don't want to add a setting that shouldn't be used in 99.9% of cases. The correct way to solve this problem would be Iris/Optifine/Oculus to stop putting the block in the beacon beam program, or the mod developer changing the way they render the block to no longer classify as a beacon beam.

jonko0493 commented 11 months ago

Thank you for your kind response! I agree with the points you made and kinda suspected as much -- the solution I have works fine in my case but isn't a good solution for the pack as a whole. I'll take a look at the mod side of things and see if I can get it to no longer classify the block as a beacon. :)