We recently upgraded from Arnold 5.0.2.3 to Arnold 5.1.1.1, HtoA 2.2.2 to HtoA 3.0.3.
I noticed a problem with the SSS model changing drastically from previous shaders I'd built. This problem being in the Randomwalk SSS model on the Standard Surface shader.
As you can see in the image attached, I am comparing the Arnold 5.0(left hand side) setup to the 5.1(right hand side) setup and the new 5.1 setup is clearly acting strangely. I dont see much of an issue on larger objects but as soon as you start using Randomwalk SSS on smaller objects such as grass, or these thin tubes it starts acting very strangely, absorbing all the light and not really budging much even when playing with the sliders as done in the previous version.
These 2 scenes are set up identically but are rendering quite differently.
Has anyone else noticed these differences or is this perhaps a bug in the new 5.1.1.1?
Please let me know your thoughts,
Thanks!
Hey!
I have also been experiencing strange results at smaller scales with sss in Houdini. Interested to see what others have been experiencing.
Randomwalk SSS was fixed for precision issues with small radii in Arnold 5.1. The images for 5.1 look a lot more correct to me, with the smaller cylinders becoming desaturated. The curves in 5.0 really look bad, we've disabled SSS for curves in 5.1 to prevent this.
Hey @Frederic Servant, thanks for getting back to me!
I did read up about the bug fix for zero radius on Randomwalk, and I hear what you're saying, mathematically it makes sense for the cylinders getting desaturated as they get smaller. My main issue however was that once you get to the small or smallest cylinder, no matter how small you made your radius or scale, it just took in the light color (in this case white) and bounced it back 100%.
So would the recommendation then be to not use Randomwalk on such small object and instead use the old Diffusion SSS model?
Just an hint. On very small radii cylinders you may consider to use an hair shader for a better phys behaviour. Effectively initial research on hairs in pathtracing was focusing on eliminating the shading variations across the width of fibers. Also consider that with randomwalk sss you don't have inter-action between different objects (it stays enclosed in the object volume) where you do with diffusion and latest hair shaders.
Hi @Max Tarpini, thanks for the the reply. Will definitely play around with the hair shader to see if i can get the result i wanted, this test spawned off of me doing really fine grass which I was using the Randomwalk on, and is where i noticed it. Thanks for the tip on the inter-action between different objects!
Ehy Daniel, I'm really shading some grass as we speak. Here I use a plain 'translucent' BRDF and fully skip SSS for improved speed and consistency. It's a custom shader however still in wip. For grass and factory arnold shaders you may want to try also with single-sided polys where you check then 'Thin Walled' which in turn should also get you out of the width problem.
edit: effectively when in 'thin walled' mode it does look that also arnold shaders get back to plain translucency and don't use SSS so even if the Type options is still available in the UI it doesn't look is really used
edit2: below a comparison on foliage for example. with 'thin walled' you have only translucency no real SSS. Randomwalk doesn't really work good for this kind of geometry. Diffusion is just perfect ! First because the assumption it does (semi-infinite slab) here is correct, second because being 'diffusive' it can mimic the whole volumetric transport you grt in a bush or bunch of leaves or grass.
Hey Max, wasn't too worried about the speed I was currently getting, but i did play with making the grass non thick and using thin walled, did give me an alright result as well. Would you mind sharing your shader or what you mean by 'translucent' BRDF? Because shading in Houdini i'm not finding where you'd create or use transluceny without it being transmission or SSS.
Thanks!
@Daniel Plessis yes, I would switch to diffusion for such small radii indeed due to hard precision issues with randomwalk. If you're using this for grass, I would definitely follow @Max Tarpini's advice and try thin walled instead of SSS.
This is the grass I was using in my scenes, it was an underwater scene and as you can see after updating the Randomwalk grass shader completely changed. Getting a sort of match-able result now with the hair shader. So will probably just go with that or diffusion when dealing with tiny grass, or object similar.
Ehy it looks really good with the hair shader .. more light over the whole bush even when compared to 5.0rw.