Jump to content

Recommended Posts

Posted

I am trying to add pipes with fluids in it.

I render my pipes in the tile entity special renderer and i tried to draw the fluids there too.
 

But OpenGL doesn't render the depth correctly, at some points my pipes are not getting rendered behind the water (see image).

 

I think i did everything right, but i need to change some OpenGL settings.

 

Source: https://gist.github.com/RythenGlyth/edcead40fecea893dd48da1cec05ecb2

 

Thanks in advance

pipes.png

Posted

howdy

 

What is happening is that your translucent quads are drawing to the depth buffer, so anything that is drawn afterwards is being hidden behind the translucent quads.

Render order is important for translucent quads (alpha blending).  You need to sort them so that the ones which are furthest away are drawn first.  There is no OpenGL setting that will help you unfortunately.  You can turn off translucent quads writing to the depth buffer but this has other side-effects.  (Quads which are behind the translucent quads but are rendered afterwards will appear to be in front of the translucent quad).

 

For blocks in 1.15.2, vanilla does the sorting for you, but your TileEntityRenderer needs to do it manually.

 

You should also consider using render buffers instead the Tessellator.  Are you using 1.15.2?

 

https://gist.github.com/williewillus/30d7e3f775fe93c503bddf054ef3f93e

 

-TGG

  • Thanks 1
Posted

thanks for your response.
No i'm not using 1.15.2, I'm using 1.12.2.
And shouldn't forge call it in the right order, because it is calling the render method?

Guest
This topic is now closed to further replies.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.