WTB? (What The Blend?)

I’m rendering several quads spaced in Z that have textures on them. No matter what I try, I cannot get the quads to be “transparent” in both directions, only one.

With the attached patch, you can see through the quads to the white box on the other quads looking in one direction, but from the other side the quads are opaque and you can only see the white box on the front one.

I’ve tried every combination of blend mode (at least I think I have!) and can’t get this to work. What am I missing?

Bonus question: Why don’t the axis and grid lines show through in either direction? Thanks!

WhatTheBlend.v4p (8.0 kB)

what you need there is to disable writing to depthbuffer
add ZWriteEnable (EX9.RenderState) and set ZWrite Enable to 0

Thanks unc, that helps a bit; but then the quads are “out of space” and blend with objects that are in front of them; the transparency is now just dependent on render order not Z anymore. In the attached patch the black sphere is “covered” by the quads even when it is in front of them, but with Z back on, the quads don’t blend right.

WhatTheBlend-2.v4p (11.2 kB)

thats why transparent objects need to be rendered AFTER everything else.
You can’t have Real Transparency… unless you use sort your objects so they render in correct order
this is much bigger pain in the arse when it comes to particle systems…

Wow, my mind is reeling with that! Everything else is so easy and intuitive (OK, except multiple lights in a scene) that I thought I was just missing something obvious. So how could this be done, where there are transparent objects behind a foreground object in a dynamic scene where the view and objects are moving? Thanks again!

sorry, forgot this - Compare Function must be set to “Less” (“Always” means depthbuffer is ignored)

so ZWrite Enable is enable/disable writing to depthbuffer
and Compare Function Less/Always = enable/disable reading from depthbuffer
(there are other options for compare function, but you wouldn’t normally need those)

Awwwreeet! Thanks unc!