OctaneRender® 2026.1 Alpha 1

A forum where development builds are posted for testing by the community.
Forum rules
NOTE: The software in this forum is not %100 reliable, they are development builds and are meant for testing by experienced octane users. If you are a new octane user, we recommend to use the current stable release from the 'Commercial Product News & Releases' forum.
Post Reply
User avatar
mojave
OctaneRender Team
Posts: 1336
Joined: Sun Feb 08, 2015 10:35 pm

Hi all,

We are excited to bring you the first alpha preview of next year's Octane 2026.1.

Image

2026.1 Feature Highlights
  • Full path traced GPU rendering of gaussian splats: Neural objects can be implemented on top of this system
  • New live texture shader based texture displacement: no need to bake textures for per-pixel texture displacement
  • Full support for trace sets: named objects or nodes can include/exclude other objects or scene data from within any shader or object node graph
  • New Neural Radiance Cache System: adaptive neural network at runtime significantly reduces noise on first pixel
  • Native support for MaterialX
  • Added support for textures with typed inputs and outputs
  • Meshlets: streaming massive scene geometry assets adaptively from disk, like Unreal Engine Nanite, but for Path Tracing
  • New bufferless virtual textures: adaptively streaming massive Gigapixel-scale textures directly from disk
  • Neural Rendering Modules and Nodes (experimental): Launch ML and Neural Filters locally or through the Render Network
As with all experimental builds, we advise to not use this release for production purposes. We are trying to, but we can't guarantee that scenes saved with this version will be compatible in future releases. Changes are still being made daily.

Meshlets

This feature allows Octane to render very detailed geometry while not using a lot of device memory. It works similar to "Nanite" in Unreal Engine by adaptively choosing a not too fine and not too coarse level of detail for different parts of a mesh - depending on what is visible in the render.

In its current form it needs to be enabled explicitly in the geometry preferences as it requires a fairly expensive preprocessing step. During the preprocessing, Octane clusters a mesh into "meshlets" and then reduces the amount of geometry iteratively into multiple levels of detail. The preprocessed data is stored in a cache file in the OctaneRender cache directory to avoid having to redo the preprocessing every time the mesh is used.

During rendering, Octane chooses a selection of "meshlets" that results in a watertight mesh while making sure that the triangles are not too small or too large in image space and compared to the pixel size. This automatically limits the amount of data that is actually loaded into VRAM without showing a visible difference to the original high resolution geometry. Since Octane needs to render the scene to determine the meshlet selection, we introduced the concept of a "settling phase" where Octane determines a fitting meshlet and virtual texture selection by iteratively rendering the current scene, and only starts progressive rendering after meshlets and virtual textures (see below) have settled.

This feature is very well suited for 3D scans and/or vertex displaced, subdivided geometry.

The video below initially shows a scene where meshlets are not being used and then get enabled. The memory savings in device memory used by geometry data after the switch are quite significant (1 GB > 0.3 GB). You can also see how the geometry LODs change seamlessly while moving the camera around which makes this very useful for lookdev applications. Finally the video displays the various watertight meshlet patches using different colors and updating as required.



Please note meshlets will be part of Octane 2026.1 but this feature is not included in this build.


Virtual Streaming "Bufferless" Textures

This feature allows Octane to render very large image textures (many billions of pixels). Octane will create an on-disk tile cache, containing the texture at various levels of detail, and Octane will interactively stream the parts needed for the current camera view point into VRAM. This takes indirect effects like glossy reflections into account.
  • We can render large textures while only using a few dozen megabytes of VRAM.
  • For far away view points, or rough glossy or diffuse reflections, lower levels of detail will be used, this works as automatic texture filtering and reduces sampling noise.
  • Although creating the tile cache takes a long time, once cached Octane can open the texture instantly regardless of size.
This video demonstrates the use of an extremely large 462k×387k texture being loaded and rendered at real-time while keeping on memory only the required LOD for each tile:



Please note virtual textures will be part of Octane 2026.1 but this feature is not included in this build.

Gaussian Splatting

Gaussian splats can capture complex lighting effects such as reflections and refraction that change depending on the viewing angle.

Octane supports loading .PLY files that contain Gaussian splatting data which can be produced from a set of images in software such as NeRF Studio or Polycam or the new LumaLabs AI services being added to Render Network.

The video below shows Gaussian splats being rendered at real-time using camera DoF as well as how they affect global illumination when other objects are also included in the scene.



Gaussian splatting typically assumes black background so to make it look correctly you will need to:
  • Disable the environment lighting
  • Enable alpha channel in kernel settings. Add an output AOV layer with black color to serve as a background.
Performance of ray-traced Gaussian splatting is slower than rasterization based approaches, however it comes with all the benefits of ray-tracing e.g. Gaussian splats are visible in reflections and refraction and can illuminate scene objects and cast shadows on them.
To improve rendering time consider making use of adaptive sampling and enabling sub-sampling in the viewport navigation tools.

Current limitations:
  • Gaussian splats are always rendered on top of volumes
  • Can't receive shadows from the regular scene geometry (but regular scene geometry can receive shadows from gaussian splats)
  • Render layers are not fully supported
  • Network rendering is not supported


New Real Time Per-Pixel Texture Displacement


Octane's texture displacement system is being given a complete overhaul. The quality of the displaced surface, especially with high frequency input data has been much improved. It is also now possible to use OSL textures directly with texture displacement.

The implementation in Octane still has several issues left to solve, including feature interoperability, the Metal implementation, UV mapping, and most importantly, there has been no performance optimizations yet. VRAM consumption in this alpha is far heavier than it will be with the next set of changes. Please also note that you must use a Mesh UV projection in the input texture, at the moment. We are planning for this requirement to be lifted when we get to stable.

Note that at least in this version, old scenes using texture displacement will continue using the old method for compatibility issues, if you wish to switch to the new mode you must change the node's compatibility mode to use the latest approach.




Image


Trace Sets

Trace sets allow geometry to be made invisible to other geometry. For example, an object’s reflection can be hidden in another reflective object, or an object can be prevented from casting shadows on another object.

Trace sets are set up via object layer nodes and apply to the geometry that belongs to the object layer. Object layers can belong to zero or more trace sets (currently limited to 31) and different object layers can belong to the same trace set. Each object layer can use any number of trace set exclusion rules, which can apply to reflection, refraction, diffuse and shadow ray bounce types and can optionally apply to multiple bounces rather than just the next one. The combination of these two makes this feature quite powerful and versatile.

In the example below you can see how the red cube is excluded from reflections in the mirror while the rest of objects are still displayed.

Image

Here is a sample setup of how to achieve this result using two separate object layer nodes:

Image
Image

Current limitations:
  • Trace sets are ignored for dirt, round edges, post volume and Gaussian splats
  • Visibility rules on volumes are not applied (but volumes themselves can still be excluded).


MaterialX Support

MaterialX is an open exchange format for representing materials which allows using them across different applications and renderers.

This version introduces native MaterialX workflows in Octane using a set of new texture nodes, which enables support for importing MaterialX from .mtlx files or as part of USD (i.e: from Apple’s Reality Composer Pro). Initial support covers the most essential texture pattern nodes in MaterialX v1.38.

Image

MaterialX can optionally be imported as non-MaterialX nodes into Octane. This is currently an experimental feature that can be turned on in the application preferences MaterialX tab.

Future work will include more recent updates from later versions of MaterialX, including support for OpenPBR.

Non-pattern nodes like BxDFs, EDFs are currently not supported.



Neural Radiance Cache

Neural radiance cache (NRC) is a technique that allows for faster noise resolution by using a neural network that is trained at render time.

This is specially useful in scenes with indirect lighting where many rays might not reach the camera.

NRC can be enabled using a flag in both Direct lighting and Path tracing kernels.

Here's a comparison of a low sample count render where early noise reduction can be seen when using NRC in these videos showing side-by-side comparison of early noise reduction with and without NRC in a scene where light contribution comes from indirect sources:




Here is another example set with NRC and live GPU denoising working concurrently:




Current limitations:
  • Only supported on Windows and Linux on NVIDIA devices with compute capability 7.5 (Turing) or higher.
  • The first few samples are expected to be not accurate due to the network's initial learning phase. To resolve this, please set the "Max. samples" in the kernel node to 1 and move around the camera for the network to train, then restart the render.
    This manual process is planned to be turned into an automatic process in the future.
  • If the GPU memory consumption shoots up when the feature is enabled, please try to lower the max tile sample count.
  • Limited to a single GPU.


Typed Textures

This version introduces a much improved workflow for authoring shader graphs using nodes since now node inputs and outpus have specific value types.

The OSL Texture node can now have texture pins that are typed to supported OSL types including 2D/4D vectors/colors and matrices.

Additional texture value nodes have been added for providing 4D vector and color values and for matrix values.

Image texture nodes can now output RGBA colors with alpha channel (when applicable).

Binary math operation texture node can now operate on selected value types with adaptive UX.

Image



2026.1 Roadmap: New Features in Active Development
Neural Render Network Jobs and Modules in Node Graph (experimental)





All Changes Since Version 2025.1

New features
  • Added support for Gaussian splatting which allows rendering of PLY Gaussian splat data.
  • Added new texture displacement method which improves the quality of the displaced surface and allows use of OSL textures.
  • Added support for trace sets.
  • Added support for MaterialX exchange format. Supported nodes include:
    • Application (frame/time)
    • Geometry Properties (position/normal/tangent/uv)
    • Images (tiled/normalmap)
    • Math (scalar/vector/matrix/transforms)
    • Compositing (blend/mask/matte/merge)
    • Color Adjustment (hsv/rgb/saturation/luminance)
    • Procedural (noises/ramps/splits)
    • Channels (combine/separate/extract)
    • Conditionals (if/greater/switch)
    Material responses nodes, volumes and emission nodes are not currently supported.
    .mtlx files can be imported into Octane as a graph of either MaterialX nodes or Octane equivalents (with limited support). Currently only MaterialX graphs using Standard Surface or MaterialX's UsdPreviewSurfaceare supported for importing. Importing MaterialX materials from USD is also supported when using the USD importer for USD files that contain MaterialX materials in USD format.
  • Added neural radiance cache, an online learning network for faster gathering on indirect lighting. A new pin has been is introduced to direct lighting and path tracing kernels which toggles the feature on/off.
  • Added support for typed texture values:
    • Updated OSL Texture and Binary math operation texture nodes so their inputs and output are no longer always limited to just the color value type. Supported types now include: int, float, vector2, vector, vector4, normal, point, color and color4. Texture pins can still connect freely with any typed or untyped pins, with implicit type conversions happening as needed transparently. The node inspector adapts dynamically when types change.
    • Updated node OSL Texture so it can now use shader input types of any type. A metadata label [[string inputType = "texture"]] is required make them texture pins.
    • Updated Binary math operation texture node with a type selector affecting the inputs and output and a checkbox for forcing the second input to be a scalar.
    • Added new RGBA color texture node type can carry a value of any supported type, including a color with alpha transparency or a 4D vector.
    • Updated nodes RGB color and Grayscale color so they can also carry any type.
    • Added new Matrix value node which repersents a 4x4 matrix.
    • Added mew Transform to matrix conversion node that takes a transform and outputs a texture of type matrix or matrix33.
    • Updated node OSL Texture so it can now take an input and/or output of type matrix or matrix33.
Improvements
  • The OSL matrix type has been re-implemented to follow the de facto standard. Basis vectors of a matrix are arranged now in rows instead of columns. This behavior will only apply to new nodes since the old ones will continue working by using a compatibility mode. In practice the new behavior means that:
    • The 16-float version of the matrix constructor gets transposed. As an example, an affine transform matrix would be arranged like this:
      matrix(v1x, v1y, v1z, 0, v2x, v2y, v2z, 0, v3x, v3y, v3z, 0, trx, try, trz, 1)
    • When using the [] matrix operator the two indices are swapped.
    • Matrix multiplication order is also swapped, so to get a matrix that applies M1 and then M2 to a vector, use M1 * M2.
Other changes
  • The specular color input on metal material has an RGB node by default.
  • OSL UV, OSL projection, matcap and instance position no longer get mirrored when used in emission distribution inputs and texture environments.
  • OSL textures specifying [[string variant = "image"]] on an input receive the same UV coordinates as image textures. If desired, use transform(1.0 / M, uv - vector(0.5, 0.5, 0)) + vector(0.5, 0.5, 0) to get the same rotation and scaling behaviour as image texture nodes.
Fixes
  • Fixed discrepancy between transforms on surface textures, and environment or emission distribution textures. For all of those, a positive rotation angle results in counter clockwise rotation.
Lua API
  • Updated function octane.node.getPinInfo so it now returns a octane.apiinfo.PROPS_INT_PIN_INFO/octane.apiinfo.PROPS_FLOAT_PIN_INFO property table for non-color typed texture pins depending on their types.
  • Updated property octane.apiinfo.PROPS_TEXTURE_PIN_INFO:defaultValue so it defaults now to a 4D array instead of 3D.
  • Added property octane.apiinfo.PROPS_NODE_INFO:textureInputValueTypeIds: The ids of possible types of values that main texture inputs can be chosen to have in this node.
  • Added property octane.apiinfo.PROPS_NODE_INFO:textureInputValueTypeNames: The names of possible types of values that main texture inputs can be chosen to have in this node.
  • Added property octane.apiinfo.PROPS_NODE_INFO:textureInputValueTypeTogglePinId: The pin id of the input who's texture type may be toggled.
  • Added function octane.node.getPinTextureValueType: Retrieves the texture value type of a node's pin given a pin id or pin name.
  • Added function octane.node.getPinTextureValueTypeIx: Retrieves the texture value type of a node's pin given a pin index.
  • Added function octane.node.getPinTextureValueTypeName: Retrieves the name of the texture value type of a node's pin given a pin id or pin name.
  • Added function octane.node.getPinTextureValueTypeNameIx: Retrieves the name of the texture value type of a node's pin given a pin index.
  • Added function octane.node.getOutputTextureValueTypeId: Retrieves the id of the texture value of the node's texture output.
  • Added function octane.node.getOutputTextureValueTypeName: Retrieves the name of the texture value of the node's texture output.
Important notes:
  • The minimum NVIDIA driver version required is 522.
  • The GPU version of Open Image Denoise is supported on CUDA compute model 7 (Volta) and later. The CPU version is used on machines with older models, and on macOS.
  • This is a Windows only release. macOS and Linux versions will come in a subsequent build.

Downloads

OctaneRender Studio+ 2026.1 Alpha 1 Standalone for Windows (installer)
OctaneRender Studio+ 2026.1 Alpha 1 Standalone for Windows (ZIP archive)

All other build types will be included in subsequent releases.

Happy rendering
Your OTOY team
lavrenovlad
Licensed Customer
Posts: 123
Joined: Fri Mar 29, 2019 7:11 pm

That's a very exciting feature list :o
Can't wait to see it being production ready in some time
vurt
Licensed Customer
Posts: 61
Joined: Thu Dec 02, 2021 10:27 am

Wow, impressive work with two releases! Glad to really see the features coming.
One question, Neural Rendering Fields with the GPU denoising, it is not the same as previously demoed Spectral Denoiser? Is it coming some time in a future?
User avatar
Despot
Licensed Customer
Posts: 130
Joined: Tue Jan 10, 2017 3:19 pm

Bloody hell, I'm about to have a heart attack here... two releases. I'm shaking my head in disbelief. Thanks Otoy
Hesekiel2517
Licensed Customer
Posts: 457
Joined: Mon Nov 23, 2015 10:57 pm

I'm also blown away by these huge improvements o the software. Thank you so much! Rendering Splats is awesome! I tried it right away and it works great. Relighting the Splats would be awesome. I hope this is planned for the future.
HHbomb
Licensed Customer
Posts: 1372
Joined: Wed Jun 30, 2010 8:45 pm
Contact:

Unfortunaly even in 2026.1, no Brigade...
YOKO Studio | win 10 64 | i7 5930K GTX 3090 | 3dsmax 2022.3 |
tombyrom
Licensed Customer
Posts: 65
Joined: Fri Dec 15, 2023 9:26 am

Nice! I just tested the new displacement feature on an RTX 4090, one 8k material from Quixel on a simple imported plane and it completely locks up on anything over a 1024x1024 displacement texture, is that expected currently? The viewport becomes unusable and renders 1 sample every 30+ seconds or more. Memory usage is fine, only using 13gb according to GPUZ
User avatar
james_conkle
Licensed Customer
Posts: 162
Joined: Sun Oct 27, 2019 10:28 pm
Location: Brooklyn, NY
Contact:

Woah what year is it?! I am ready for the future :ugeek: great work Otoy team!
Octane C4D Plugin 2021.1 / C4D R25.015
UNIT 0: 2080ti / 6700K / 64GB / 500w
UNIT 1: 2x 3090 / 3970x / 128GB ECC / 1600w
UNIT 2: 5500M / 9980HK / 32GB / 95w
RNDR Artist Calculator
User avatar
Kalua
Licensed Customer
Posts: 531
Joined: Fri Oct 11, 2013 2:13 am
Location: Caribbean Sea
Contact:

All this looks very very interesting!!
Looking forward!
C4D 2025.1.1 Octane 2025.2.1 v1.5.1, <<2 X 3090 + NVlink>>, Windows 10, X399, AMD TR 1950X, 128 GB RAM, NVIDIA SD 552.22
https://www.behance.net/PaperArchitect
J.C
Licensed Customer
Posts: 1851
Joined: Thu May 13, 2010 6:35 pm
Location: Wrocław

tombyrom wrote:Nice! I just tested the new displacement feature on an RTX 4090, one 8k material from Quixel on a simple imported plane and it completely locks up on anything over a 1024x1024 displacement texture, is that expected currently? The viewport becomes unusable and renders 1 sample every 30+ seconds or more. Memory usage is fine, only using 13gb according to GPUZ
Same issue on my system. The displacement is usable on 1k textures. Everything above starts to slow down viewport considerably.
Old displacement system is really smooth with 8k textures.

Moreover the displacement still breaks the geometry apart.
displacement 2025.png
CPU – i9 13900KF, 128GB RAM, GPU – RTX 4090
System – Windows 11
My Behance portfolio, Blender plugin FB support group
Post Reply

Return to “Development Build Releases”