Certain textures render wrong at a distance (mipmapping issue?)
Spleenczar opened this issue ยท 5 comments
What happened?
Some textures (specifically glass panes and leaves that I've found) have some sort of rendering issue at a distance. The effect is most noticeable with glass panes, where the entire top face disappears. There also appears to be a
Screenshots
Log output
Minecraft Version
1.20.1
Iris Version
1.6.4
Operating System
Windows 10
What is your GPU?
Nvidia GeForce RTX 2080 Ti
Additional context
The effect is more noticeable in motion, can provide a video if it isn't clear what the issue is from the screenshots. There is also a very slight darkness across the background without Iris that is gone with Iris - it's only really noticeable when you flick between the screenshots since it's so subtle, but it might be a related issue.
The glass pane top seems to be a mipmapping issue in Iris, as Sodium is identical to vanilla. The problem here is that the glass pane top is a texture that's only 2px wide, so as the texture resolution is reduced it can either turn to mush or disappear.
Here's vanilla/sodium's mipmap levels for the pane top texture:
Here's Iris:
These are from the dumped texture atlases of the same versions of the mods in your report (MC 1.20.1 / Iris 1.6.4 / Sodium 0.4.10.) I added the white background so they'd be visible as otherwise they're almost completely transparent at the lower levels.
Seems like probably a bug or unintended. I originally was going to suggest maybe a 32x texture pack like Faithful, but I tried it and it's really not much better:
Probably going to need to wait for a fix. You could also set mipmap level to 1 or 0, but that's gonna cause the rest of the game to look like absolute vomit.
About the leaves, it's my understanding (and I could be wrong) that Sodium doesn't do mipmapping on leaves for performance reasons. To work around that -- and make all distant objects a lot better looking, not just leaves -- you can use a mod like ResolutionControl+. This lets you run the game at a higher internal resolution (like 1.5x or 2x) and then downscale for your monitor after everything is rendered.
This costs performance but if you're playing w/shaders disabled you should have more than enough horsepower. With shaders you'll want to set ResolutionControl+ back to 1x unless you like generating lots of GPU heat and low FPS numbers.
That's the best compromise I've personally found to making distant objects look good and not horribly aliased.
Sodium does mipmapping on leaves.
About Iris, Iris implements an enhanced mipmapping feature from Optifine, could you confirm if it happens there?