Intra-object transparency

I noticed 69 doesn’t appear to be rendering transparency within an object. Here’s an example, am I missing a new setting ?

Thanks,
Jeff
obj_trans.toe (1.34 KB)


Hey, I think the difference between 068 and 069 is the draw order of primitives (they used to be drawn backwards (primitive N-1 → primitive 0), now they are drawn forwards (primitive 0 → primitive N-1).
If you use the Sort SOP and sort the Primitives by Z, it’ll draw correctly.

Hi Malcolm, yeah that fixed it. Can you change back to the previous draw order ? Works more intuitively that way and would save an op.

Thanks,
Jeff

Hmm, I’m not sure I see how the old way was more intuitive. While it would work without a Sort SOP in this one case, it wouldn’t work for 50% of the cases.
Lets say you have 4 polygons (primitives 0, 1, 2 and 3, like in your example). In the past it would render primitive 3, then primitive 2 then primitive 1 then primitive 0. Now it renders 0, 1, 2, 3. I think that makes more sense. No?
Now in terms of transparency the fact it worked in 068 and not in 069 essentially luck. The Copy SOP does not order primitives in a specific Z-order. It just so happens when doing the operation the way you set it up, primitive 0 is the closest to the camera. Try changing the Translate on the Copy SOP to 0.7 instead of -0.7, now notice how the transparency works without the Sort. This is because primitive 0 is now the primitive that’s farthest from the camera.
So basically whether or not your primitives are sorted from farthest to closest has a 50% chance of happening. You may need to sort, you may not. But if I change the render order back to the way it used to be, I’m just flipping the two cases, and it doesn’t make it any easier to use.
Make sense?

BTW, the main reason this isn’t all figured out automatically is because what is needed for transparency (farthest to closest rendering), is the slowest way to render. Rendering closest to farthest is way faster in terms of GPU usage. So until I come up with a nice general solution, I don’t want to force one way to happen automatically.

OK, got it. I guess “more intuitive” meant for me it was working the way I expected to by accident. Now that I understand the theory no problem to get the effect I want.

Thanks,
Jeff