This the first stable release of the 2.1x development cycle. A lot of things have changed, so if you haven't followed the development please read the list of major changes since the last stable release. If you followed the development builds, please read the change log below the major changes.
Major Changes since Version 2.06:
Render Passes
Render passes are exposed via a new pin in the render target node which you can connect with a render passes node. In the render passes node you can then enable render passes you want to render. In the render view you can then select the pass you want to view, save them all out as separate images or as layered OpenEXR file. The animation render scripts also can be configured to save the frames as separate pass or layered OpenEXR images.
We distinguish between "beauty" and "info" passes. Beauty passes are rendered together with the main beauty pass (the normal rendering). I.e. each one of these requires its own film buffer that needs to be stored additionally to the main film buffer on the device. The info passes are rendered one by one using only one additional film buffer either at the end or when needed. We do this to save GPU memory and because they are fast to calculate.
Render Performance
We improved the sampling in the direct lighting and path tracing kernels. In most scenes this should reduce the number of samples to get to a similar noise level than in older version. And the sampling is now more optimized in a multi-GPU environment and in network rendering.
We also implemented a new path termination strategy controlled by the pin "Path term. power" and which is a bit tricky to explain: In the past the there was this ominous pin "RR probability" which in most cases only worked good when set to 0. With the new algorithm we try to provide a system where you can tweak samples/second vs. convergence (how fast noise vanishes). Increasing the value will cause the kernels to keep paths shorter and spend less time on dark areas (which means they stay noisy longer) but may increase samples/second a lot. Reducing the value will cause kernels to trace longer paths in average and spend more time on dark areas.
The direct lighting and path tracing kernels also have a new option "Coherent ratio". Increasing this value will increase the render speed but introduce low-frequency noise (aka "blotches") which may require minimum of a few hundred or even a couple thousand samples per pixel to go away. This is of course dependent on the scene and the selected coherent ratio.
Texture Changes
- Added pins "hue", "saturation" and "contrast" to the color correction node to control hue, saturation and contrast of the input texture. Since Octane textures are sampled spectrally, hue and saturation don't work perfectly, but as long as you use them not too aggressively they should do the trick.
- We had to remove the pins "brightness scale" and "black level" since we ran out of fields in our color correction shader node. The version conversion takes care of the "brightness scale" by multiplying it into the texture connected with "brightness", but "black level" is hard to convert automatically, so we don't do it. We had a look at the materials in the LiveDB and only 13 materials are affected by the loss of "black level" and in all cases its effect can be approximated by modifying "gamma".
- Added new noise texture node which currently has 4 noise types: "Perlin", "Turbulence", "Circular" and "Chips". "Perlin" is like the turbulence node with "use turbulence" disabled. "Turbulence" is like the turbulence node with "use turbulence" enabled. "Circular" is a Worley noise and "Chips" is a Voronoi noise.
- Added new texture node "polygon side" which renders white on the front face and black on the backface of a polygon. You can use this to do backface culling (by putting this texture into the opacity channel) or to allow double-sided materials (placing it into a mix material) and textures (placing it into a mix texture).
Other Rendering Changes
- Added highlight compression option to camera imager node. Using this option, you can reduce burned out highlights by compressing them (which decreases their contrast). This works similar to the Reinhard tone mapping.
- Added new option in the network settings dialog (enabled by default) which turns on automatic port configuration on the master. If enabled, multiple masters can be used on the same computer which wasn't possible before because only one master could use the specified socket.
- Added option "static noise" to the direct lighting and the path tracing kernels, which is disabled by default. When enabled, the noise is static, i.e. doesn't change between frames. Well, currently it still changes a bit, because some parts are still using random sampling, but we will improve it in the future. For now, we want to bring back the possibility to have dynamic noise, i.e. noise that changes every frame.
- Added full support of Maxwell 2 GPUs. This required us to switch to CUDA 6.5, which has some effect to render performance. Scenes can be slightly slower or faster than before, but it depends.
- Added option "static noise" to the direct lighting and the path tracing kernels, which is disabled by default. When enabled, the noise is static, i.e. doesn't change between frames. Well, currently it still changes a bit, because some parts are still using random sampling, but we will improve it in the future.
- Added new option "AO alpha shadows" to info channel kernel. If enabled, opacity is now taken into account in the AO calculation.
- Added diffuse roughness which allows you to simulate very rough surfaces like sandpaper or clay. It works similar to Oren-Nayer.
- Added option "Cast illumination" to emitter nodes. Disabling this option will disable emission, i.e. it won't be visible in diffuse reflections, but still be fully visible in specular reflections. It will also be excluded from the direct light calculation.
- The emission sampling rate can now be set to 0, which means that the emitter will be excluded from the direct light calculation.
- Added option "Surface brightness" to emitter nodes. Enabling this option will cause emitters to keep the surface brightness constant independent of the emitter surface area, i.e. the total emitted power will be dependent on the emitter surface area. The scaling is done in a way that a texture emitter will produce the same colour in the rendering (if the diffuse channel is black), when the camera response curve is set to "Linear/off", exposure to 1, gamma to 2.2 and vignette to 0. Disabling the option will keep the total emission power constant, i.e. the surface brightness will become dependent on the emitter surface area.
- Removed the pins "Fstop" and "ISO" from the camera imager node, since they only control exposure which is done already by the exposure pin. The only thing these two pins added was confusion, since some people expected the ability to control the depth of field with Fstop. You can find a Lua script graph that emulates the old behaviour here: viewtopic.php?f=73&t=43944
- Scaled exposure in the camera imager so that a texture environment produces the specified colour in the rendering, if the camera response curve is set to "Linear/off", exposure to 1, gamma to 2.2 and vignette to 0. The exposure of older scenes will be converted automatically.
- Reduced the brightness of the daylight environment by a factor of 0.6 for the new daylight model and 0.8 for the old model. This way there is a better match between the texture environment and the daylight environment. Or in other words: Exteriors rendered with the default exposure settings are less overexposed than before. Older scenes will be converted automatically and should render the same.
Standalone UI
- We added an undo system to OctaneRender Standalone. To undo the last change press CTRL-Z and to re-do the last "undone" change press CTRL-Y or CTRL-SHIFT-Z.
- Improved node inspector by providing a compact view of uncollapsed node pins. Also changed the default expansion logic to reduce the clutter.
- Switched to a current version of our UI toolkit and application framework. Versions up to 2.06 were using a toolkit version from 2009... The switch also allows use to use more modern UI features like support for high resolution displays.
- Added application preference to switch between the native file chooser or the version of our UI toolkit (useful for Linux users that don't use Gnome).
Lua Script Graph
In short: A Lua script graph is a new node graph type that stores a script that gets executed at various points and which defines some inputs and outputs. Every time one of the inputs changes, the scripts gets re-evaluated can then do interesting things, like calculate new values or set up a totally new node graph inside the graph.
You can find more information about it in the Lua API browser under the module
octane.scriptgraph
, but it's best to check out the introduction from Roeland and the available examples in the Lua forum, like texture animation, old school exposure, EV compensation, cam calculator and a special gem the metal material script.Statistics
To make informed decisions for future developments it's important to understand how Octane is used. So we added the ability to Octane to send some statistics to a server where we can analyze them. This functionality is enabled by default and can be disabled in the application preferences under File -> Preferences... -> Application -> Enable statistics.
The statistics we gather are anonymous and independent of the OctaneLive license server. For all people who are still skeptical, we added the ability to log what's going on via the log flag "stats". To enable the logging, please copy the attached a flags file
into the directory where your OctaneRender Standalone is installed. After starting Octane it will log into a file "octane_log.txt", which will contain the messages Octane has sent during that session.
Again, feel free to disable the statistics, but since we will make future decisions based on those statistics, keeping them enabled will allow you to influence future developments at least a little bit.
Changes since version 2.15:
- Reduced the brightness of the daylight environment by a factor of 0.6 for the new daylight model and 0.8 for the old model. This way there is a better match between the texture environment and the daylight environment. Or in other words: Exteriors rendered with the default exposure settings are less overexposed than before. Older scenes will be converted automatically and should render the same.
- Changed the default turbidity of the daylight environment to 2.4 to reduce the contrast between the sun and sky light.
- Improved object motion blur on objects with translation + rotation and only two key frames.
- Fixed broken UV transform when texture nodes share the same projection node (see viewtopic.php?p=215810#p215810).
- Fixed broken undo when different files were loaded via the mesh/image/scene/script graph node UI.
- Fixed bug that caused slaves "to lose samples" (see viewtopic.php?p=215713#p215713).
- Renamed distribution pin of the emission nodes back to "Distribution" since "Emission pattern" is causing too much confusion.
- Fixed matte material which ignored the "shadow visibility" of object layer nodes (see viewtopic.php?p=209329#p209329).
- Improved turntable and daylight animation to make them work with animated scenes.
- Fixed refresh of OpenGL viewport when moved or resized.
- Fixed deadlock when OpenGL viewport is maximized on Mac OSX.
- Fixed broken undo of connections to node graph inputs.
- Fixed 3 places, where the file chooser didn't remember the selected directory.
- Fixed missing render update when a bump or normal texture is connected to a material via some linker node.
- Fixed broken auto-focus if focal depth is set to 0.
- Fixed importance sampling if environment texture is connected via linker nodes.
Downloads:
Due to the switch to CUDA 6.5 you will need a current graphics driver of version 344.x or higher. On Mac OSX you will need a CUDA driver of version 6.5 or higher (see http://www.nvidia.com/object/mac-driver-archive.html). The minimum supported version of Mac OS is 10.7.
Windows
- 32-bit commercial version (installer)
- 64-bit commercial version (installer)
- 32-bit commercial version (ZIP archive)
- 64-bit commercial version (ZIP archive)
- 32-bit demo version (installer)
- 64-bit demo version (installer)
- 32-bit demo version (ZIP archive)
- 64-bit demo version (ZIP archive)
Mac OS X
- 64-bit commercial version (DMG image)
- 64-bit demo version (DMG image)
Linux
- 64-bit commercial version (ZIP archive)
- 64-bit demo version (ZIP archive)
Happy rendering,
Your OTOY NZ Team