I’ve found some issues with this technique and I’ve been trying to improve upon it but I didn’t achieve much.
With the original nodegroup there is a visible darkening along -xyz to +xyz position. I don’t know how visible this is in large variety of models, but this is what I have found:
This can be mitigated to some degree with vector mapping node but it’s very finicky as the position vector is tied to the geometry and the values need to be set differently for each model. To my eye this still does not look good.
I gave this problem another try and it looks that increasing Map Range To Max value to something around 20 yield much better results. This also requires lowering the AO Distance to get similar amount of streaks.
I haven’t tested this with a lot more models, so YMMV.
I have some bad news and some good news.
Bad is that this diagonal bias I posted about earlier is needed for the effect to work in the first place. I didn’t know that before I reported this issues to the bug tracker: https://projects.blender.org/blender/blender/issues/136303
The devs fixed the issue, but his will break any setup that used this hack to do procedural streaks - including Tenochtitlan project.
I’m still not happy how limited and finicky the original procedural streaks technique is, so I started to develop similar thing in OSL.
I have working prototype and so far it works quite well but I still need to fix all the corner cases and controls.
After optimizations it should be faster than standard AO with the same number of samples.
I’m using the same mechanics for the streaks that I used for Hydraulic Occlusion OSL shader I posed here on the forums, so you can check for yourself. Its partially optimized and should be on par with the AO node.
Just beware that plugging a lot of stuff to the inputs can slow down the node, but this is the same with AO node.
Where both differ is how sampling hemisphere is used. In both of my OSL shaders you can control how wide and high you want the sampling arc to be (Ray_Spread and Ray_Angle - also those names could change). And with the streaks effect we sample faces that are withing quite narrow range so most of the samples contribute to the image.