My New Toy
When starting with Octane I made the resolution to take proper notes this time around. After years of making the same mistakes and rediscovering the same solutions for the same challenges in Poser, I'll try a more systematic approach in getting to know this new toy. Then I thought some of you might be interested in my findings, so I'll put them in my journal. Feel free to comment or ask questions, maybe if we can make this into a discussion we can get ahead much faster together.
Though I don't think photorealism is the end-all of 3D, I do want to have a nice unbiased renderer in my arsenal. Different ideas demand various styles of depiction. Sometimes a toony representation seems most fitting, for other subject matters an illustrative or photorealistic end result seems the way to go. And of course every other existing or even imaginable style has a purpose of its own.
In short: I wanted an unbiased render engine. One that would be affordable and would not be to hard to combine with, preferably even integrate with my 3D software, mainly with Poser 2014 Pro. That easily narrowed the choice down to two candidates: Luxrender via Reality or Octane via its Poser Plugin. When this whole slowly developing hype (I think I just invented a new phenomenon
) started out, I thought I was clever to choose the first variety. After all Luxrender is free, Reality cheap and Luxrender started supporting GPU-rendering, where OpenCL would surely soon dominate because hardware manufacturers and software developers wouldn't have to pay licenses.
So I bought an expensive AMD Radeon card which would give good results with OpenCL-based GPU-rendering, according to the countless reviews, blogs and forums I read on the subject. I also bought Reality and downloaded the newest Luxrender build. Alas the texture conversion done by Reality wasn't as good as I'd hoped for, GPU-rendering didn't function at all, and the CPU-rendering was horribly slow. And low lighting levels were a complete impossibility, unless you're really hooked on render noise interspaced with fireflies.
In fact I still haven't seen very many technically good Lux renders around (please point them out to me if I'm wrong). And those that are good usually started life in DazStudio, not in Poser. Well I can't get along with DazStudio (all my fault of course) and Luxrender was quickly pensioned of.
So I saved up enough to go and try the alternative, bought an nVidia GTX 760 card, Octane 2.0, the Poser plugin and the Redspec SSS packages. Octane uses CUDA in stead of OpenCL, that's why the AMD card was no good. As I can use the embedded HD 4000 of my i7 processor, I can dedicate the GTX760 completely to GPU-rendering. Fantastic speed! The material conversion is not too bad, but Poser procedurals can't be converted. So you're limited to texture maps, which you can then tweak in the Poser plugin (which is more intuitive than straight Octane, but option lists can get lengthy), or resort to Octane textures form their LiveDB. Too bad that database is very limited at this point in time. And Octane has no built in option for subsurface scattering, that's where the Redspec packages come in.
I said the material conversion by the Poser plugin is not so bad, but I've come to the conclusion that it's best to rip out all the procedurals in Poser, so you're left with plain texture maps. For skin textures (the most difficult ones to get right) that means a diffuse map and preferably a bump map and and a specular map. I'm converting and testing my considerable library of skin textures right now. And I've come to a sad conclusion. I already knew that a lot of skin textures are not very good (though you only find that out after you bought them), but stripping them now has made it painfully obvious that it's even worse than I thought. I don't mean to bash the artists/vendors who made them, I've always enjoyed working with their products, but to put up with the limitations/quirks of a biased render engine like Firefly they've developed a whole arsenal of tricks to overcome these, and accidentally
(?) these tricks also managed to gloss over the shortcomings the plain textures had. Well to be fair, in the context of Firefly there were no shortcomings, they looked perfectly alright. But now, you take away the bag of tricks and the harsh reality of unbiased Octane reveals all
The main deficiencies I run into are these:
- legs aren't the same colour as the rest of the body. I appreciate that legs can be somewhat darker when being more exposed due to wearing dresses/skirts or shorts a lot of the time, but I feel the difference is often far too strong. Have a look at some texture maps in a 2D software, maybe it's just my taste, but I think you'll agree.
- there are often differences in colour also between the torso on the one side and neck and arms on the other. This really shouldn't be so.
- when aiming for photorealism, eyebrows that are simply painted lines won't do. Again maybe a matter of taste, but it's my taste.
- inexplicable to me: the diffuse map is way to red, this is compensated by adding blue or green in the diffuse node, why? Why not make the map right in the first place? Now I've to do that work myself
- often used is the the ambiance node, I suppose that is to make the texture look better when people aren't using proper lighting (which is often the case). This is not possible/wrong in an unbiased render engine.
So after a lot of cleaning up, I ran into some limitations of Octane. When in Poser it can be a challenge to keep light away where you don't want it (infinite light just penetrates walls as if they weren't there), in Octane there is the opposite challenge, (sun)light can't penetrate glass. So you have to figure out how to overcome that.
Certainly something to get used to is the different approach to reflections. In poser we have the specular node, which is actually completely fictitious and then we have the reflection node as well as edge_blend, fresnel_blend, fresnel, specular, anisotropic, phong, glossy, blinn and ks_microfacet materials. In Octane we have to choose between a specular or glossy material and depending on the material we can choose values for specularity and "rougness" which together make up the reflection of a material. However scientifically sound this might be, sometimes these options just don't produce the effect you are going for. So you have to start messing with material mixes of diffuse and glossy and/or specular materials, ending up with node structures that are far more elaborate than anything you have seen in Poser so far. Very enlightening here are the glass and fluid materials you can find in Octane's live database and by analyzing the Redspec shaders. I still haven't fully understood all of these yet, but I'm getting ahead.