DX11 render order

Hello, it might be simple but I can’t get it right. I have some quads, all with Z=0 and some Text on it, so they are rendered in the order they are connected to the group. makes sense. So it’s rendered Quad, Quad,… Text, Text,…
But instead i want to render Quad, Text, Quad, Text,… How can I change the order within DX11?

Thanks, andi.

there is no easy way of doing so. U have to try getslice (node) on output pins of quad and text, then group them back in desired order (not sure it will work).

Thanks, Antokhio.
Checking that lead me to the point that a Layer is just a single layer, not multiple quads forming multiple layers.
so a getslice on the layer output makes no sense and the problem is earlier within the rendering pipeline. So I would have to tell the Text node in a kind of depthbuffer-way what to render and what not to render…

well… using real depthbuffer with z-coordinates for that seems easier. Just the small problem that everything is not pixel perfect anymore… :(

Why not render the text into (a) texure(s) and put that on the quads?

sorry it was validator actually
the order in with validators work is opposite to things in your group

validators.v4p (9.7 kB)

seems to be working for constant but not for text or text advanced ;) but thanks!

So it’s the way the DX11 Text-Node is set up, right?

@bjoern: Yes when you’d batch-process all Texts you’ll get a bunch of Textures. but when I want to seperate the Text from the Quad in an animation I’d have to use something to blend or mix 300 separate textures, right? Isn’t that a huge resource hog?

Actually there are few options, one called giga texture (rendered once devided by texture transforms), the second one called texture array, will work only if resolution stays same on each quad. Both cases are really fast, since you render it on gpu only on first frame, then u disable rendering. You have to know also that batch texture approach would be significantly faster in any case. The GPU works that way that it’s almost free to call resource that already inside GPU RAM (texture in your case). On other hand the way text node works, is it creates quad for every character so it’s much slower by design.