As your probably aware by now, Evermotion just released their Nox renderer under the open source Apache license. it is a physically based renderer, which means it approximates realisic lighting, similar to Blenders Cycles engine.
It also features:
- enhanced processing
- rendering to layers
- real and fake dof
- instancing and displacement
- subsurface scattering
it also has an interesting sky dome function that allows you to mimic lighting conditions based on time of day, geographical location and even time of year, which is pretty cool.
post processing is pretty slick and allows you to make adjustments during rendering, giving you options to adjust the exposure levels, vignetting and such like.
while we are messing around whith the camera, we can add Bloom and glare as post processes, change the Bokeh effect and import mask objects to adjust the way these effects appear.
All very nice. but what about materials?
The materials interface is quite simplistic, especially compared to Blenders internal renderer, and as Nox doesn’t integrate at all with blenders node editor there are no huge strings of complex nodes. Instead it uses a small selection of attributes to create it’s effects namely, reflectivity, transmission, subsurface scattering, emission and displacement and with these few attributes and there relevent settings it then uses material blending layers to smoosh them all together to create its images much the same as blender internals material stacking system, but without the complexity!
but then here is the downside,
First, it is only available for windows users, so until someone develops a mac and linx install then its no use whatsoever to a majority of blender users!
There are no options to generate textures. The whole system relies on image mapping to uv co-ordinates, which is ok, to a point but do you really want to get into photoshop and paint up a bump map just to apply a thin amount of grain that could have been generated in seconds in either of Blenders native render engines? happily it is a simple matter to bake textures from cycles and BI materials, but this is a bit redundant as if you are going to the trouble of setting up a cycles material, why would you not just render it in cycle instead of adding that time plus the hour or so bake time that you may incur with hi res textures?
Then theres a lack of render preview. we are kind of spoiled with Blender, the ability to view your scene as rendered is a bit of a luxury that not having that ability is frustrating and seems like a step backwards. There is a library of 60 or so premade materials available which helps a little to understand how things work, though finding the material you need could be a bit hit or miss as there is no way to preview the material until you load it. at least with blender you can open the entire library and poke around in the preview until you find the one most suited to your needs.
Documentation is also quite limited, sure you get a PDF that explains what all the settings are but it is currently written for version 0.3 and thus-out dated, as version 0.3 had a distinct lack of basic features such as bump mapping, sss and anistophy, so whilst they are now implemented in version 0.4, the instructions havn’t yet caught up.
And then render times. Nox has no GPU rendering option, so getting a decent render is painfully slow unless you’re blessed with modern dual multi core CPU’s
so is there really anything about Nox that justifies its use?
Well lets compare Renders,
for this first scene i have set up a procedural cloth material in cycles with a glass object and a metallic sphere, with mesh light in front of the camera for reflections and a sunlamp, as well as a point lamp as a fill light. cuastics were turned off and clamp was set to 1 to cut the fireflies.
the procedural texture was then baked out, to the cloths uvs and applied to a NOX material. a fresh glass material was made and a metallic material was imported from the NOX library for the sphere. the sun and point lamp were replaced with mesh lamps as Nox doesn’t support blenders lamps, just mesh emissions. light was slightly adjusted to brighten the scene with the exposure setting and fireflies were crushed with the in built fly swatter.
As you can see the Nox render looks a lot more vibrant, the glass material is clear and the colours show up impressively. bear in mind though no post processing has been done to the cycles render, and the lighting is at a slightly steeper angle putting the glass more in shadow compared to the NOX render.
the cloth however in the cycles render looks really nice. The silky wavlets look shiny and the whole thing looks luxurious, a slight tweak to the curves may bring out a much better image. The Nox cloth by contrast, which is an image texture, looks like a rag splattered with bleach 🙁
cycles at 1000 samples was around 2hr 45.
Nox renders progressively and took 4hr 37. to get this clean, plus almost 2hrs to bake the texture so, 6hr 37.
so cycles is ahead by 1 point 🙂 lets look at a different scene. a simple Suzanne on a wood floor, using materials from the NOX library. Suzanne I guess is supposed to be a metallic mesh. For some reason Nox has that mesh grid mapped to their metal materials, it can be removed easily enough but i figured to just go with the default material as is. i used a single mesh lamp above and in front of the scene to illuminate Suzanne from the front and used the exact set up for cycles.
I had to re create the materials in the node editor, interpreting Nox’s settings as best as i could, they ear fairly close though there will be some differences. i also used the floor texture that came with Nox, except i also used it as a bump map because you can do things like that in Blender!
well again there is a clear difference between the renders. Nox has clearly made a much better job of rendering Suzanne it looks like a metallic mesh, it is nice and reflective, and shiny. Cycles looks like a blurry piece of crap, there is barely any reflection at all and zero definition in the edges of the mesh. and you can clearly see where the UVs don’t line up, Nox seem a little more forgiving in that regard. A clear difference in how each render engine interperates alpha maps.
this is of course down to my own failing of interperating the NOX material and had i been using sensible materials for cycle it would have been closer to what we expect, but then, it would have been a totally different material and the test would be invalid 🙂
The wooden floor however is a different story, using the bump map i think has given it a slight edge over the flat looking floor of the Nox render. i could hahve used a bump map but from what i understand i would have hade to convert the image in GIMP or used a mapping tool such as crazy bump or the like.
again, render times,
Nox was left to run for just one hour,
Cycles ran at 1000 samples and took 1hr 48. though i probably didn’t need 1000 samples, i’ts useful to keep things consistent.
so, is it worth it?
well it does give some nice results, it is still restricted to cpu which means cycles will always win out for Nvida owners. cpu render times seem to be fairly long but you do have the option of setting the render time to stop after certain amounts of time, and you can resume from where you left off if you feel you need more time to clean up the image. render pausing can be a bit useful in some cases! I’m of the opinion that there is a lot of potential for this to be a quality renderer if development keep up, but it still has a long way to go before it is as practical and efficient as Cycles. But It is certainly worth poking around in if you have windows and are limited to AMD/ATI or intel graphics.