Objects with Transmission hiding other objects with transmission

Hello,

I’m working with multiple transparent objects one in front of the other.
Is it possible to see objects with transmission through other objects with transmission?

image

The white, pink and blue cubes have transmission set to 1.
The black cube has transmission set to 0.
Here the pink cube is not visible through the white cube.
The blue cube is not visible through the pink cube.

Is this currently supported in with glTF?
I’m using the latest version of blender.

Thank you,

Is this screenshot taken in Blender, or some glTF viewer?

The glTF format defines the physical meaning of “transmission” and other PBR properties, but deciding exactly how to implement those — particularly with good rendering performance and framerate — is up to a given 3D renderer to decide. In most realtime renderers today, opaque objects are visible through transmissive materials but other transmissive materials (and perhaps alpha blended materials) are not. Doing more than this can be quite expensive for the renderer, requiring methods like depth peeling, but implementations do exist.

Blender’s implementation of transmission existed before the glTF format added the feature, but it seems to have very similar limits in the Eevee renderer. If I put transmission on two objects the back object remains visible, but once I enable refraction on the back object it disappears when viewed through the front object.

WITHOUT refraction on ground

WITH refraction on ground

To ensure that one transparent object is visible behind another in all 3D renderers, you’ll need to use alpha blending instead of physical transmission. Alpha blending is much cheaper to render, but does not allow glass-like refraction effects.

Here’s the documentation of this limitation in Blender’s Eevee renderer:

  • Only one refraction event is correctly modeled.
  • Only opaque and alpha hashed materials can be refracted.

Blender → Eevee → Limitations

Hi Don,

Thank you for replying!

My screenshot was taken in Gestalter, but online glTF viewers were showing similar results.

I’ll try limiting refraction to only one object.