OSL and Octane 3.1
Posted: Tue May 02, 2017 12:29 pm
OSL (OpenShadingLanguage) support in Octane 3.1 is a promise of high hope among plugin developers and many users,
But the truth is, it really depends the way it's implemented in Octane core.
Depending on the limitations, OSL can be either, just a new toy, or a revolution.
The Octane for Maya case :
OSL support can improve drastically the Maya plugin, basically giving a solution to lot of the major flaws of the plugin.
and bring back for studios the hope that Octane can be used in Maya as a production renderer.
At the moment only 1 % of the Maya nodes are supported by the plugin,
and that's a shame because many of the Maya builtin feature need some of these nodes,
(some temporary hacks are added to the plugin instead of adding support to the Maya nodes = bad)
A clever and open implementation of the OSL feature is needed in the Maya plugin:
- At render time when the Maya scene is translated to Octane, Maya nodes are translated to their OSL counterpart if they are provided in the OSL shader path.
- Lots of Maya nodes already have OSL translation.
- With this mechanism, any Maya external plugins can be supported by studios developing their own OSL shaders and providing them in the OSL path.
- For example even the Arnold 5 aiStandartSurface node can be supported by providing in the OSL path an OSL implementation of this material (can be developed based on the alShader OSL implementation)
But for this to work, OSL support in Octane Core must not be only a texture toy :
what will be supported ? OSL closure ? LPE ? agressive Optimization by compiling at render time ?
What limitations or additionnal render time ? will this prevent or defeat my point of how I expect OSL to be used in the Maya plugin ?
If really Octane 3.1 is supposed to bring a complete and efficient implementation of OSL,
plugins development should take this in consideration, no need to waste time by implementing temporary hacky features,
unless 3.1 release is going to take one more year... ?
But the truth is, it really depends the way it's implemented in Octane core.
Depending on the limitations, OSL can be either, just a new toy, or a revolution.
The Octane for Maya case :
OSL support can improve drastically the Maya plugin, basically giving a solution to lot of the major flaws of the plugin.
and bring back for studios the hope that Octane can be used in Maya as a production renderer.
At the moment only 1 % of the Maya nodes are supported by the plugin,
and that's a shame because many of the Maya builtin feature need some of these nodes,
(some temporary hacks are added to the plugin instead of adding support to the Maya nodes = bad)
A clever and open implementation of the OSL feature is needed in the Maya plugin:
- At render time when the Maya scene is translated to Octane, Maya nodes are translated to their OSL counterpart if they are provided in the OSL shader path.
- Lots of Maya nodes already have OSL translation.
- With this mechanism, any Maya external plugins can be supported by studios developing their own OSL shaders and providing them in the OSL path.
- For example even the Arnold 5 aiStandartSurface node can be supported by providing in the OSL path an OSL implementation of this material (can be developed based on the alShader OSL implementation)
But for this to work, OSL support in Octane Core must not be only a texture toy :
what will be supported ? OSL closure ? LPE ? agressive Optimization by compiling at render time ?
What limitations or additionnal render time ? will this prevent or defeat my point of how I expect OSL to be used in the Maya plugin ?
If really Octane 3.1 is supposed to bring a complete and efficient implementation of OSL,
plugins development should take this in consideration, no need to waste time by implementing temporary hacky features,
unless 3.1 release is going to take one more year... ?