mojira.dev
MC-950

Certain objects invisible when viewed through water

Certain objects invisible when viewed through water

What I expected to happen was...:
Everything in the game looks as it does normally when viewed through water

What actually happened was...:
The inside of nether portals is invisible only showing the purple particles when viewed through falling water. Also, when underwater, clouds appear darker than the sky and clouds' sides are invisible

Steps to Reproduce:
1. Create a small screen of falling water with a view of the sky
2. Create a nether portal on either side of your water
3. View the nether portal from the other side of the water
4. Step in the water and view the clouds with graphics on fancy

Related issues

Comments

migrated

Also during night clouds are completely invisible when viewed from underwater.

migrated

I see the particles and the 2 lowest netherportal blocks not the 4 higher ones

migrated

This is due to the difficulties in handing partial transparency. With opaque objects, you can use the Z-buffer to handle drawing objects in the correct order, but you can't do this with semi-transparent objects. It's quite a huge pain to implement full transparency support without huge slowdowns. In order to handle this in general, you'd need to constantly sort every primitive shape being rendered by its depth relative to the camera to see what you hit first, and even then you could have transparent objects arrange in a cyclic pattern such that there is no way to order them by depth, so then you need to split the shapes into sections until you can order them. It gets pretty ugly to implement and is incredibly slow.

Of course, in Minecraft, since everything that's transparent is a scaled cube orienting along the same plane, and two transparent objects can never intersect, subdivision would never be necessary, so a Painter's Algorithm approach to handling transparency could be implemented. That being said, I have no idea what level of control Java gives you over graphics, so this may not even by possible in a Java game, and it would still cause slowdowns. Plus, doing this would cause you do see the sides of ice blocks beside each other (even with backface culling), so he'd have to merge adjacent transparent blocks into a bigger primitive. It's a lot of work for a minor improvement that most people probably wouldn't care about.

tl;dr: it's hard to implement and so it probably never will be fixed

migrated

(Unassigned)

Unconfirmed

Minecraft 1.4.2

Retrieved