Iris Shaders

Iris Shaders

36M Downloads

Particle Ordering is problematic in all 3 modes. "mixed" causes particles to sometimes not be rendered. "after" brings back vanilla bugs fixed by Iris while shaders are off.

TBlazeWarriorT opened this issue · 9 comments

commented

What happened?

TL;DR - Particle Ordering introduced in Iris 1.5 has "imported" some bugs that are present in vanilla, and some that are also present in every other shaderloader (OptiFine and Oculus). These fall under two categories:

  • Category 1: "particles.ordering = after" - This category inherits the annoying visual bugs from vanilla without ""fabulous"" shaders, and particles don't render properly through translucents. The classic example is bubble columns not rendering from outside the water, which is very annoying both for visuals and gameplay, making this mode bad.
    Corresponding bug report: https://bugs.mojang.com/browse/MC-161917 (Mojunk refused to fix this, will remain broken in vanilla. Iris seems to fix this, I've tested with pure Fabric+Sodium and it was bugged, then added Iris into it with shaders off, and the particles render properly)

  • Category 2: "particles.ordering = before" or "mixed" - The two modes in this category inherit the annoying visual bugs that happen on all shader loaders but apparently not on vanilla, which consists in invisible, flickering or dislocated particles shortly after picking up an item. The classic example (for me) is Create mod moving contraptions flickering invisible or to a random part of my screen whenever an item is picked up, which looks horrible and breaks immersion pretty bad, making these two modes also bad.
    Corresponding bug report: sp614x/optifine#6451 (this is not reported yet on Oculus, and probably doesn't have to, since they're mimicking Iris behavior. The OptiFine issue described on the issue and comments is definitely related, but possibly not identical, although too similar to be a different thing, as both describe visual issues with particles when picking up blocks, and/or related to particles rendering through x thing)

"Testing" mod setup (this literally happens on every modloader and shaderloader, but I've tested on a clean instance for proof):
sodium-fabric-mc1.20.1-0.5.3.jar
modmenu-7.1.0.jar
iris-mc1.20.1-1.6.11.jar
indium-1.0.27+mc1.20.1.jar
fabric-api-0.91.0+1.20.1.jar
create-sodium-fix-0.5.1-d-build.5+mc1.20.1.jar
Fabric 0.15.3

Screenshots

Video Demonstration:
Mixed Ordering (default Complementary):
https://github.com/IrisShaders/Iris/assets/25572454/e6a858d1-0923-4b97-9d0d-735622d65d25

After Ordering (Complementary with this modification):
https://github.com/IrisShaders/Iris/assets/25572454/6534d453-6eea-48d0-9ad5-eadf52053944

Log output

No response

Minecraft Version

1.20.1

Iris Version

iris-mc1.20.1-1.6.11.jar

Operating System

Windows 10

What is your GPU?

RTX 2060

Additional context

I'm hopeful that Iris, the best rendering mod of them all, can also be the first to fix one or both of the rendering categories above, so that I can set my Complementary to whichever mode starts working and continue my peaceful life sleeping well at night.

This issue is most noticeable when playing with Create mod, because it is very clearly affected by this. I believe this issue spans far beyond Create mod, though I used it as an example for being very popular and easy to reproduce on.

This issue relates to or is the same as #1772

  • Proposed solution 1:
    Fix after-deferred ordering. This would consist of keeping particles working properly through translucents when shaders are set to on, since I don't have this bug when Iris itself is installed and shaders are off, or when a shader with the other particle ordering mode is enabled.

  • Proposed solution 2:
    Fix before-deferred/mixed ordering. This would consist in figuring out why certain particles don't render properly when you pick up blocks, which really amuses me. I'd gladly get rid of my item pickup animation if I could if this fixed it, or anything really. My brian hurts.

  • Proposed solution 3:
    /kill TBlazeWarriorT
    I can't take this anymore

commented

Hm, do the bugs related to picking up a block happen without Create installed but Iris still installed? Or is this mostly just a Iris <-> Create compatibility concern wrt block pickup particles?

commented

Hm, do the bugs related to picking up a block happen without Create installed but Iris still installed? Or is this mostly just a Iris <-> Create compatibility concern wrt block pickup particles?

compat

commented

Based on the other reports and how random it is, I assume it's not exclusive to Create (there's been reports of this behavior on Optifine possibly without Create on the Issue I mentioned (nobody who mentioned item pickup said their full mod list, but I saw no mentions of Create and it tends to not be compatible with OptiFine)) I think.
I haven't had issues with my other mods, so I cannot prove it, though none of my other mods also have moving blocks/particles like that.
Although, solving Create particle compat solves At Least 90% of the whole problem

commented
commented

and Iris for 23w13a_or_b snapshot, https://discord.com/channels/774352792659820594/1091714994137206924/1092103799495204914 and Immersive Portal #1966

so yeah, I do think this confirms it's not (directly) Create's fault

commented

and maybe #2173

commented

Thanks for the detailed report. I will say - in the absence of some sort of order-independent translucency (seemingly unattainable holy grail in MC shaders), changing the particle ordering out of mixed will necessarily result in translucency bugs. What is now known as mixed was specifically implemented to fix the issues with the vanilla default, known as after. So we cannot do anything about the bubble columns with after.

However, the issues with Create & particle visiblity with before and mixed are likely fixable, and are probably related to OpenGL state not being properly set when transitioning from particle rendering to other things. However there would need to be some code diving to determine what exactly the problematic state is.

commented

Thank you for the detailed answer too, I hope you guys eventually manage to find what the problematic state is then
And happy new year to you and IMS
(also I randomly noticed a typo in my issue title)