Ciao, really no way to use the old build-in way to get opacity/transparency without being forced to use an all closure approach ?
Solved! Go to Solution.
Solved by maxtarpini. Go to Solution.
I mean beside coding one myself ...
funny thing it takes 60secs to render vs standardsurface that takes 70secs 🙂
but then I have to support also aovs and god only knows what else 😕
Opacity uses closures now, so short of writing your own shader, there's no other way.
yep but that's a minefield.. any optimization or trick or adhoc implementation arnold is doing can broke everything.. it's good because so I learn some internals.. ie fixed everything on beauty pass without performance drop but .. for example with aovs on a first try I can only trace binary/clipped opacity ..
ie the borders should be semi-opaque as in the beauty
another problem is that on specular aovs it breaks somehow sampling .. if you look close you can see the quad holding the leaves producing bad sampling especially on the upper right border .. where it should be fully transparent.
a'right, one has simply to track opacity on the continuation ray path and composite it 'over' manually otherwise the last set into an aov will override the others creating the binary clipping seen above (which I keep however as an option to speed up things, I think vray or prman has also an option for this).
btw.. are you aware of this in your impl ? the stochastic lookup has much more problems to visually converge on pure albedo aovs ... 16samples here (for casual viewers.. pink should be flat not noisy).