Jump to content

TileEntity Renderer OpenGL drawing with transparency is not rendered correctly


RythenGlyth

Recommended Posts

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

Link to comment
Share on other sites

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
Link to comment
Share on other sites

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.