Sorry, a tiny little bit OT here. I've been rendering lots of hair lately and I am wondering wether a tool like Krakatoa could be repurposed to render more hair and faster than our regular renders?
Would that make sense? Would it be possible to do? What do you guys use at Frantics for that? Cheers.
You would have to track a LOT more data. Hair only needs to store the control points on the splines for the “major” hairs. With Krak, you’d have to store every “bit” of hair.
Oh, and most hair renderers have special shading techniques to make sheen and translucency and such. Nothing like that in Krak.
Right... well, Mark and co. have been implementing specular highlights in Krak...perhaps it could be possible.
I agree about more data, more computing. I was thinking more about new algorithms that could possibly be similar to Krakatoa. Not the actual Krakatoa straight pipe. :)
I think Krakatoa could most definitely be adapted to render hair.
The shading algorithms would be a little different, and getting particles out of the common hair plugins would be a bit tricky. However, the volumetric shading and self-shadowing are pretty similar in general.
Here is a quick test of a hair-like particle system I did with an earlier Krakatoa beta.
Yeah, I’ve thought about this before, and it seemed to me that the self-shadowing produced by Krakatoa would be nice for hair as well. To do this, we would need to implement a hair shading model, using the direction of the hair as opposed to a surface normal like the specular stuff does. Ways to dynamically generate the particles based on the various hair styling and simulation tools would also be needed.
It’s something I’m interested in exploring for a future version at some point.
I still can’t see how this would be efficient. At some point we’d need to calculate many thousands of more particles than splines. A spline renderer (as opposed to point) should be better a this.
Of course, if you need your hair to catch fire, this approach would be awesome.
The special shading involved in back scattering through translucent hair and allowing light to travel through hair strands is something that requires you to have some sort of coherency as to which particle is part of which strand, and that’s not currently there.
However, if we did have a way to produce hair-like shading in krakatoa, those steps would lead to more accurate renders of non-hair particles, too. Light scattering, etc would be nice for clouds, smoke, and in my case, adipose. Connecting particles for the purpose of shading a series of particles as a surface (or strand) would also be useful for making shading effects based on interfaces. Fun for fluids and the like.