hi all,
this post is dedicated to a fundamental part of any engine which is somehow too poor in Octane, which is it's Nodal set.
I feel that before adding new fancy stuff, Octane should get more attention to the basics and Nodal is really one of these areas where Octane has a long way to go. Basic first
So let's see which are most crucial aspects of Nodal where Octane should get some love.
MIXER NODE:
Now we have separate multiply, mix, add (etcetc) nodes, with no masking and no percent amount. This is a big limit i meet several times per day.
It's needed to have a single, fully featured mixer node with multiple inputs (multiple maps plugged) and for each one we need a menu with blending modes. I know there is something coming in OSL, but this node is a fundamental part of any nodeflow and i really would not rely on OSL, which also means reloading OSL code each time we need it - unless you manage to embed it in Octane nodes so we can just add it like any other node.
More details about masking, percent and multiple inputs:
- Masking - an input where i can plug a greyscale map to decide where mixing happens.
Now, if i need to multiply two maps with masking, ive to create a huge nodeflow to mask maps before they get mixed, and this is very time consuming.
- Percent - same as above - most of the times i do NOT want to mix map 1 and map 2 by 100%, but in a variable amount. Once we have Masking, we can plug a float value there and this would solve, but again it's a matter of workflow optimization. The less nodes we need to get a result, the better. So please, put also a % parameter in new mixer node.
- Multiple inputs - please do not allow just map 1 and map 2 - make a node which can get as many inputs as we need, and allow stacking in photoshop -style so we can set mask, percent, blending mode for each layer.
Simplifying: just check Max's mixer node and just copy it.
TEXTURE NODE PARAMETERS:
Some fundamental parameters are lacking in image map node.
- Bump intensity: now we have to set a multiply node and mix map with a float just to adjust bump %. This is really a no-way, any engine has this kind of stuff. Setting bump % should be doable within image node.
- Alpha - now we have to copy image node and set it to Alpha just to use it's embeded masking. Again, a no way - any engine has a Alpha output which can extract alpha channel automatically.,
- Translate U,V and Scale U,V accept only float values (no map) - which means i cannot plug a texture to move locally a map. In any software this is a crucial point to get believable PBR materials. Usually scanned materials are small samples (3x3m for example) and on large areas you get bad looking tiling. Usually, you get rid of this just plugging a hi-contrast noise into image map's U or V position in order to "break" mapping locally. Thus, all green nodes in Image map node should be able to accept a full texture intead of a fixed value.
RANDOM NODES
Another fundamental thing lacking in Octane nodeset is a good randomization tool.
Now we have a randomiser which works for instances anc clones only, but in many cases we need to randomize parts of single meshes - in particular, randomizer should be able to detect:
- single polygons in a single mesh
- Parts in a single mesh (connected pieces of geometry)
And assing a random value to each of them. This is crucial to assign a random variation to a single tree's leaves, for example, and in a wide range of other situations.
GRADIENTS / FALLOFF
Octane lacks a proper gradient node with custom input. In any software we can set a gradient/falloff map and set a custom input (distance from another object or camera, incidence angle, slope, Weightmap, etcetc) and create a behavior depending on that input (example - bump fading with distance to camera, surface becoming brighter at the top, etcetc). Since some softwares cannot pass their gradient tools to Octane, it would be quite cool if Octane got a single, full-feature Falloff/gradient node.
In short, Octane is really awesome, but in daily production sometime i feel like i spend all the time i gain in rendering (which is superfast) doing nodal stuff which would be two clicks in any other engine. So again, please.... basic things first
Thanks for the attention,
Paolo
http://www.engram.it