This is the first stable release of version 2022.1. We are also happy to announce a new, unified subscription tier being turned on today for all Octane Studio/Enterprise users: Studio+. It has all Octane features included, and comes with unlimited network rendering (10 nodes- previously a RNDR+ feature) with no GPU limits and offline rendering support for annual subs - priced at 19.99/month starting in January (15.99/month with today's Black Friday offer). Enterprise and Enterprise+ subscribers will also receive ongoing Render credits on top of their regular Studio+ licenses starting mid next year.
updated 2022/11/28: updated the Linux Studio+ link, fixed a missing library.
![Image](https://render.otoy.com/downloads/ff/f5/d2/cf/splash.jpg)
What's new in Octane 2022.1
The main new features of 2022.1 are:
- The Photon tracing kernel which provides fast rendering of caustics.
- The Standard surface material and Standard volume medium, which provide in-core compatibility with Arnold standard surface and standard volume.
- Speed and interactivity improvements.
- A whole suit of new textures and Vectron operators and primitives.
- A new Cryptomatte mask output AOV.
- Many, many small improvements across the board.
Photon tracing
This kernel allows rendering of caustics that were not possible to render before or would have taken a very long time. It combines path tracing, which traces paths through the scene starting in the camera, with photon mapping, which traces light/photons through the scene starting at the light sources.
Below are a few scenes showing the effectiveness of the photon tracing kernel in various situations:
![Image](https://render.otoy.com/downloads/fc/20/f5/88/ppm.jpg)
Photon Tracer Demo ORBX
![Image](https://render.otoy.com/downloads/0f/45/ad/59/pool.jpg)
Swimming pool example scene ORBX
![Image](https://render.otoy.com/downloads/e4/51/17/67/shotglass.jpg)
Shot glass example scene ORBX
![Image](https://render.otoy.com/downloads/b7/05/7a/52/prism.jpg)
Prism example scene ORBX
Applying photon mapping to all surfaces would be too inefficient which is why you have to enable the option "Allow caustics" in those materials that should "cast" caustics, which usually makes sense for highly reflective or transmissive materials that have a low roughness. The option is available in the Glossy, Metallic, Specular, Standard and Universal materials.
![Image](https://render.otoy.com/downloads/ca/5c/47/d1/enablecaustics.png)
In the photon tracing kernel you will find beside the usual path tracing options a group of photon related settings:
![Image](https://render.otoy.com/downloads/83/59/46/b6/photontracingkernel.png)
The "Photon gathering radius" should be adjusted so you can see the photons as blobs a few pixels across in the first samples (later samples use a smaller radius).
If caustics resolve faster than the rest of the illumination you can decrease the "Photon count multiplier". If caustics don’t resolve fast enough, you can increase the multiplier or decrease the "Photon gather samples" input. Decreasing the "Photon count multiplier" also decreases GPU memory usage.
Please note, that if you enable "Fake shadows" in specular materials, caustics will be disabled.
![Image](https://render.otoy.com/downloads/a7/77/e6/97/beakers-small.jpg)
Beaker and flask example scene ORBX
![Image](https://render.otoy.com/downloads/44/61/6d/8a/glasses-small.jpg)
Wine glasses example scene ORBX
Standard surface material
For Octane 2022.1, we have implemented a new Standard Surface Material node according to the Autodesk Standard Surface specification. Much like Octane’s Universal Material, the Standard Surface material is an uber surface shader with multiple layers of BSDF(s). The main difference between the two is the Layered mixture model specified by the Autodesk Standard Surface specification, where the layers of BSDF(s) are arranged differently to the Universal Material. For more details, please refer to standard surface specification. Due to different implementations of individual material layer closures, the Standard Surface material node in Octane can render slightly different to that in Arnold, but the behavior of inputs are matched as closely as possible.
![Image](https://render.otoy.com/downloads/0e/30/07/d1/attic.png)
Below you will find the full list of settings.
![Image](https://render.otoy.com/downloads/9d/e8/32/bc/standard-material-inputs.webp)
Changes in the material layers
In addition to the Layered mixture model, we have updated the implementation of individual layers to support the Standard Surface specification:
- Oren Nayar BRDF
- Textured anisotropy
- Specular boundary SSS layer
- Diffuse boundary SSS layer
- Reparameterization of material inputs
Oren Nayar diffuse BRDF: We have implemented a new diffuse BRDF as suggested by the Standard Surface specification for the base diffuse layer, which allows for varying diffuse roughness like the default Octane diffuse model, see below image for the effect of changing roughness to the Oren Nayar diffuse model.
![Image](https://render.otoy.com/downloads/5c/0c/09/d5/roughness.png)
Textured anisotropy for specular and coating layer: The anisotropic reflection channel can now be textured, allowing you to specify the spatially varying anisotropy in either tangent/bi-tangent direction in texture space, while the rotation still remains, allowing you to rotate the anisotropic reflection simultaneously.
![Image](https://render.otoy.com/downloads/b3/42/15/82/AnisotropyTextured2.png)
Reparameterization of dispersion Abbe, thin film thickness, and subsurface scattering layer: Several parameters are now re-scaled to fit the Standard surface specification. Dispersion is now specified using the dispersion Abbe number and is unbounded, while thin film thickness is now in nanometers. Subsurface scattering is also defined as separate layers as in standard surface, with the transmission layer allowing you to specify medium absorption and scattering behavior for the material with specular fresnel boundaries. On the other hand, the subsurface layer allows you to specify medium absorption and scattering behavior for the material with a diffuse boundary.
Below are some examples of the simplified approach rendering with a single subsurface scattering layer using a single colored texture:
![Image](https://render.otoy.com/downloads/f5/ef/5d/58/SSS3.png)
![Image](https://render.otoy.com/downloads/bb/c6/0c/31/SSS2.png)
Standard volume
The Standard Volume medium offers a familiar interface to anyone used to the Arnold renderer. Most of its inputs accept textures, providing even more fine grained control over the volume rendering process than with the existing Volume medium. It also supports specifying the density channel separately from the scatter color channel and transparency channel.
Color channels
Standard Volume mediums support color or other float3 data in all channels except the temperature channel. The grids can be loaded as required and then assigned, by name, to the channel inputs on the medium node. The VDB grid mappings in the import settings are ignored for Standard Volume mediums.
![Image](https://render.otoy.com/downloads/80/61/ce/6b/volume-channel-import-settings.png)
Scattering
The scatter color can be used to adjust the color of the volume under illumination. A scatter color channel can be specified as an additional multiplier to the scatter color.
![Image](https://render.otoy.com/downloads/4e/4b/b8/63/standard-volume-scatter.png)
Source: The VDB used in this scene is licensed under the CC BY-SA 3.0 by Disney Enterprises, Inc.
Transparency
The transparent weight of the Standard Volume medium provides additional control over the color of objects seen through the volume as demonstrated in the following image. It also supports a channel input for fine grained control over the transparent color.
![Image](https://render.otoy.com/downloads/4c/d4/39/74/standard-volume-medium-transparency.png)
Emission
Standard Volume implements three emission modes: black body, density and channel. An emission channel can be specified to further modulate the emission or it can be used to directly drive the emission via the "channel" emission mode.
![Image](https://render.otoy.com/downloads/bd/88/19/18/standard-volume-blackbody-emission.png)
The "Temperature" group of the Standard Volume medium node provides an option to automatically scale the values in the temperature channel so that the maximum value in the channel is mapped to the black body temperature specified on the node. This makes it much easier to get reasonable results that can be further fine tuned with the other inputs, without having to manually adjust the emission scale in the import settings to a different value for each VDB.
Mesh volume node
Meshes can now be loaded as a volume. After loading the OBJ file, they get converted into a volume grid that can be rendered like any other volume:
![Image](https://render.otoy.com/downloads/ea/3e/4d/6f/mesh-fog.jpg)
You can choose how fine the voxel grid should be in the import settings:
![Image](https://render.otoy.com/downloads/71/88/2c/1e/mesh-volume-settings.png)
Texture improvements
New textures
We added those procedural textures as built-in texture nodes...:
- Circle spiral
- Digits
- Fan spiral
- FBM flow noise
- FBM noise
- Mandelbulb
- Matrix effect
- Pixel flow
- Rain bump
- Rot fractal
- Snow effect
- Star field
- Tripper
- Volume cloud
- Wave pattern
- Woodgrain
...more modes to the already existing procedural effects texture...:
- Blaschke product
- Candle flame
- Fire emitter
- Fractal 1 + 3
- Mist
- Noise smoke flow
- Portal
- Skinner
- Sun surface
- Tunnel
- Paint colors 2
- Spiral
... 4 new field texture nodes, which are gradients with special options...:
- Angular field, similar to the angular gradient but has additional options to map the angle to the gradient value
- Planar field, similar to the linear gradient but with a finite mapping
- Shape field, maps the distance from a Vectron/SDF
- Spherical field, which maps the distance of the origin in UVW space to a (clamped) gradient value
Below is an example scene that shows the 4 field textures in combination with a 4-color gradient map:
![Image](https://render.otoy.com/downloads/44/a2/19/ce/fields.webp)
fields.orbx
... 2 more textures for using geometry properties...:
- Instance highlight, to highlight all instances with a specific user instance ID
- Object layer color, to fetch the color of the corresponding object layer
... and 4 additional operator textures:
- Color key, which allows you to create a mask from an input texture by picking a key color. The mask can then be used for example in the compositing texture.
- Color space conversion, which converts between RGB and other 3-channel color spaces like HSV or xyY
- Image adjustment, which allows you to apply a large range of adjustments in one node
- Jittered color correction, which applies the same changes to an input texture like the color correction texture, but uses random values for every option, which depend on the instance ID - in a similar fashion like the instance color texture
Other texture changes
- Added color space conversion inputs to the Channel picker and Channel merger texture nodes
- Added interpolation type Posterize to the Range texture
- Added additional Length and Normalize vector operators to the Unary math operation[i] texture node
- Added [i]Instance position projection node.
- Image texture nodes now have a Border mode for U and V separately.
- Alpha image textures now default to linear sRGB, not sRGB when loaded.
- Added new blend mode Ratio to the Composite texture
- Volume to texture node can now read 3-channel VDB grids.
- Prevent the power input of a texture (when it is used as a normal map) being evaluated as a normal.
- Cinema4D noises are now available in all plugins.
- Make color correction clamp negative values when gamma is 1 on Mac, to align with CUDA
- Changed the default value for contrast to 0 in color correction texture, and noise texture.
- OSL: Creating an OSL texture or OSL projection node is now allowed via drag and drop of an .osl file.
- OSL: Implemented OSL
transformu()
function for units of length. - OSL: Octane reads
string label = "Shader name"
metadata on OSL shaders if present to use as a default node name. - OSL: You can control whether a
color
input on a shader is evaluated as a normal map, or as a color input by addingstring variant = "normalMap"
to the metadata. - OSL: Updated supported keywords for syntax highlighting in the OSL editor.
New Vectron nodes
We have added a range of new Vectron primitives:
![Image](https://render.otoy.com/downloads/05/63/95/6e/vectrons.png)
In addition to that and to the already existing Vectron operators Subtract and Union now we also support the following:
- Clip: slices the geometry keeping just what lies on one of the sides of a clipping plane.
- Ink: takes two inputs and transfers the material from one of them to another.
- Inset: Takes two input geometries and carves one into another.
- Intersect: Takes two input geometries and produces the joint volume.
- Offset: Applies a buffer along the geometry’s surface either shrinking or expanding it.
![Image](https://render.otoy.com/downloads/9d/37/f4/32/vectronops.png)
New Cryptomatte mask output AOV
We added a new Cryptomatte mask output AOV, which can be used to create masks based on a selection in a Cryptomatte render AOV. Below is an example where we render a Cryptomatte AOV based on the material pin names and then used Cryptomatte mask output AOV to pick a material pin, tint it and then compose it on top of the main AOV:
![Image](https://render.otoy.com/downloads/3e/f5/41/07/cryptomatte-mask-aov.webp)
The compressed scene package box-cryptomatte.zip
Instead of using the picking tool, you also can directly enter the names and use wildcards and exclusions from wildcard matches.
Better sampling for DOF, motion blur and initial samples
Some work went into the general sampling code that is used by all render kernels except PMC. The first change is that we modified the way how sample values are assigned to pixels to make the produced noise more even, or in technical terms, the error in the image has a blue noise distribution. This helps with the initial 1-4 samples/pixel. After that, the error distribution becomes white noise again. We think this can be improved further in the future, but even in the current state it's already helpful when you work on your scene and individual frames only get rendered with 1 or only a very few samples/pixel. Below you can see see the difference in the Japanese Garden scene:
![Image](https://render.otoy.com/downloads/fc/0e/0e/d7/improved-sampling-3-1spp.webp)
The second change was the introduction of low discrepancy sampling for depth of field and motion blur. This only helps in certain circumstances, i.e. when the part of the scene that is blurred is relatively smooth. If the blurred part itself is highly detailed or even noisy, then the modified sampling will not help much. Below you can see the difference in depth-of-field sampling of the Japanese Garden at 2000 samples/pixel - not a massive difference but noticable in some areas:
![Image](https://render.otoy.com/downloads/a7/56/c6/0d/improved-sampling-3-2000spp.webp)
Other improvements
Compatibility modes
We introduced the concept of compatibility modes. They will be provided in some cases, where the version conversion during loading of older scene files is not able to keep the "look" of an older scene and needs rendering to behave differently. One infamous example is volume rendering which changed multiple times, when we tried to improve rendering of overlapping volumes or transparent surfaces inside volumes.
Since compatibility modes usually mean additional render code to reproduce the old (potentially broken) behaviour, we try to keep them at a minimum. For the same reason we also can't guarantee that we won't have to remove some old compatibility modes in the future. Because of that they should also not be used in new scenes.
If an older scene is loaded with a compatiblity mode that is not the current version, you will see an icon in the node inspector where you can choose a different compatibility mode:
![Image](https://render.otoy.com/downloads/11/58/15/e5/compatibility-modes.png)
We are hiding the compatibility mode icon if the currently selected mode is the current version, but you can still select it via the context menu in the node inspector.
You can see in the change lists below, that we have started using compatibility modes for various nodes.
Geometry
- Added a Unit volume geometry node.
- Improved geometric primitive normals by not welding them and keeping the geometric normals for each poly.
- Updated the volume import preferences to support loading of grids that are not assigned to a specific use case (like scatter, absorption, etc.) yet. Standard volume mediums can select these grids by name on a per-medium-instance basis.
- Bounds input of the Vectron node no longer allows negative values.
- We no longer create Vectron/SDF nodes by default in Vectron operators.
- World space coordinates work more consistently on texture inputs on Vectron/SDF shaders.
Material system
- Added a "no shading" option to clipping material.
- Clamp dispersion Abbe number between [2 .. 100].
- Implemented single scatter events in volumes, and make controlling it easier with an explicit single scatter ratio input in the scatter medium nodes.
- Improve the handling of surfaces with multiple materials and nested dielectrics enabled.
- Modified the Standard surface SSS implementation to avoid the confusion in forward anisotropy changing the observed albedo.
- Remove incorrect double application of randomness for pheo/melanin hair.
- Standard volume medium channels support color data (except for the temperature channel).
- Use soft borders for Standard volume mediums.
- Various improvements to nested dielectrics: transitions between dielectrics with different IOR, and entering and exiting participating media inside dielectrics are tracked more reliably.
Lighting
- Added light linking to toon shading for toon lights.
- Change the default daylight environment ground color from blue to black.
- Change the description of normalize on blackbody emission node to clarify that it normalizes luminous power, not radiant power.
- Corrected descriptions of power and surface brightness pins on emission nodes.
Rendering
- Removed "legacy volume" option in kernels and replaced this with a compatibility mode option on kernel nodes. Older scenes will still render the same.
- Removed "use old color pipeline" option in kernels, and replaced this with a compatibility mode option on kernel nodes. Older scenes will still render the same.
- Made coherent ratio option in the kernel nodes less aggressive.
- Static noise is now applied to an interactive render region if it's enabled in the kernel and the region has been wiped due to a scene change.
Viewport, tone-mapping and AOVs
- Added real-time mode (lightning bolt button on render viewport). In this mode, if possible, the film buffer is never moved between the host and the device. This means that compositing has to be done on the GPU, and it also enables a "real-time" display, which will display rendered images faster. These features require more VRAM to be available. It does not have a large effect on MacOS because Apple GPUs have Unified Memory. The following features currently don't work if you use the real-time viewport:
- Multi-GPU rendering
- Network rendering
- Noise pass
- Denoised AOVs
- Cryptomatte AOVs
- Upsampler
- Adaptive sampling
- Export deep image
- Display color management
- Compositing for output AOVs will now happen on the GPU - this is much faster but uses more GPU memory and can be turned off in device preferences.
- Added an option to toggle bump/normal mapping for the ambient occlusion AOV.
- Added option to the volume Z depth AOVs that allows you define which depth is considered white/1.
- Added render AOV collections to the Standalone GUI.
- Tangent normal AOV now always shows the shading normal with bump/normal mapping applied.
- Improved spacing of tonemap intervals near start of rendering.
- Improved user experience when there are OCIO errors.
- Added native ACES tone mapping without the need for OCIO.
- Creating an image output AOV is now allowed via drag and drop.
- Added a Legacy blend mode alpha operation and a force pre-multiply opacity pin to the composite AOV layer node.
- Added blend color space to composite AOV layer node.
- Change the default value for contrast to zero in color correction output AOVs.
- Make blending composite output AOV layers in perceptual space match Photoshop when the layers aren't fully opaque.
- Make the color burn and color dodge compositor blend modes match Photoshop in the last remaining special case.
- Reduced artifacts with saturated highlights if using both highlight compression and saturate to white.
- Removed force premultiply alpha pin and blend mode legacy alpha operation and replaced them with compatibility modes.
Lua API
- Added compatibility mode system to Lua API
- Added two functions that were missing in the Lua nodegraph module (
octane.nodegraph.collapse()
andoctane.nodegraph.copyAttributeFromIx()
) - Correctly account for the content component border in LUA windows paused or finished
Other
- Added utility nodes for float, int and bool primitive values in the Values category: Float to int, Int to float, Look-at transform, Boolean logic operator, Float relational operator, Int relational operator, Binary math operation, Unary math operation, Range, Rotate, Float merger, Float component picker, Float if, Int merger, Int component picker, Int if
- Added integration with RNDR cloud rendering service.
- Increased the maximum framerate of various animation scripts to 1000 fps.
- Prevent incorrect value of free device memory being shown in the UI sometimes when enabling/disabling denoiser.
- Removed redundant max upsampling interval setting.
- Standalone: Added a compression rate setting to the batch render job.
- Standalone: Added ability to choose premultiplied alpha for EXR files saved by batch rendering script or batch render job.
- Standalone: Ensure thumbnails in the LiveDB component are downloaded after scrolling around a lot.
- Standalone: The native Linux title bar should now be displayed correctly and the application window should no longer cover the system taskbar and launcher upon appliation start, which were problems encountered on some Linux systems (especially using Gnome)
Downloads
OctaneRender Studio+ Standalone for Windows (installer)
OctaneRender Studio+ Standalone for Windows (ZIP archive)
OctaneRender Studio+ Standalone for Linux
OctaneRender Studio+ Node for Windows (installer)
OctaneRender Studio+ Node for Windows (ZIP archive)
OctaneRender Studio+ Node for Linux
Octane X Prime for macOS
OctaneRender Demo Standalone for Windows (installer)
OctaneRender Demo Standalone for Windows (ZIP archive)
OctaneRender Demo Standalone for Linux
Happy rendering
Your OTOY team