SurfaceGuis render over Fire

I’ve made this nice little thing for a game I’m developing/working on, and I’ve found out that SurfaceGuis seem to be rendered over other things - like fire - regardless of which one is ‘closer’ to the camera.

Here’s what it looks like, if that was hard to understand:

Obviously this shouldn’t be happening.

Just to answer a few more questions:

WHERE? Production
WHEN? All of the time
WHAT? SurfaceGuis rendered over graphical elements such as Fire

Also happens when a surfaceGui is placed on a transparent object and another surfaceGui is behind. Also happens with just transparent objects. Dynamic lighting has no effect, so on and so fourth.

Maybe I should rename this thread ‘SurfaceGuis render over ALL THE THINGS!’


This has been happening since the dawn of time.

Decals, particles, textures, and GUIs are all rendered in the wrong order and semi-transparent parts always render under these images.

Interestingly, clothing is not affected by this bug. Perhaps someone can cook up a hack to use clothing instead of decals until the bug is fixed?

They also render over decals and other surface GUIs. (in some cases)

Oh yes, SurfaceGUIs are GUIs, they render after everything else. Totally makes sense.

We’ll address that sometime later.

It doesn’t impact my game THAT badly, it was just something odd I noticed and I’m sure users would notice it if they were to do exactly the same I did.

Also, rotation of GUIs doesn’t respect ClipDescendant
That would be great if you fixed that, really useful.

Even the wiki wrote it as a note at the bottom :stuck_out_tongue:

We’ll address that sometime later. [/quote]

“Oh magic conch, when will surfaceguis render properly?”
pulls string
“Maybe some day”

We’ll address that sometime later. [/quote]

“Oh magic conch, when will surfaceguis render properly?”
pulls string
“Maybe some day”[/quote]


Please do not fix the night time thing- I use Surface GUIs as headlights and it would completely remove the point if that feature was removed.

Pretty much all 3D engines draw regular object back-to-front (furthest away first), but front-to-back when dealing with transparent objects for whatever reason (and transparent objects are drawn first).
SurfaceGuis are transparent, as are all particles and BillboardGuis.
I don’t know how much of the rendering code was written by Roblox, but fixing this may be a gigantic pain in the butt.

EDIT: or not possible at all, since that’s hardcoded in the graphics device.

This bug impacts my game horribly. There’s a wall with a SurfaceGui, and the enemies have to get to the wall - but some of the enemies have semi-transparent body parts, thus they are hidden behind the gui

Any plans on addressing this?

I use surfaceguis for applying some images on surfaces (I need the ability to clip them…) but they render over particle effects :frowning:

Looks bad especially at nighttime (when you dont even see anything but the particles, normally, because everything is black - except the surfaceguis that render on top of the particles…).

Not short term - requires reworking UI rendering pipeline and some care for performance. We’ll definitely fix this at some point though.