January 11, 2026
SDK 48
Highlights
- Node-based GraphVarying editor.
- NodeObject instancing for massive object replication.
- MSAA compatibility with D3D12 SM6.7.
- Sparse textures for D3D12 (sparse resource tier 4 is required).
- Indirect top-level tracing builds on Vulkan (only AMD and Intel drivers support it).
- Enhanced dialogs on Linux platforms.
- Editor compatibility with SteamOS.
- graph_flow_normal scene demonstrates two-pass normal map texture generation.
- graph_flow_texture scene demonstrates procedural texture generation.
- graph_flow_perlin scene demonstrates dynamic procedural textures.
- gl_device, gles_device, and gles_runtime native examples have been added.
- native/vk_qt_widget example has no dependency on the Vulkan library.
- platform/divisor example demonstrates the vertex attribute rate parameter for per-batch input.
- platform/cooperative test is compatible with non-square matrices.
- render/limits has an additional instancing-based rendering mode (slower than BVH-based).
- materials/material_alpha scene demonstrates alpha-tested geometry.
- objects/object_skeleton scene demonstrates hierarchical skeletons.
- scripts/script_material_motion scene demonstrates the motion blur effect.
- scripts/script_material_grid scene generates a high-frequency output verification image.
- native/vk|d3d12|d3d11_device sample outputs all platform-specific device features.
- render/multisample demonstrates engine MSAA rendering.
- Boolean uniform type has been added to the GraphVarying type in Explorer.
- GraphFlow editor has been added to Explorer.
- Explorer and Executor support sparse buffers and textures controlled by the “-sparse 1” command line option.
- Executor now supports controller-based camera movement (can be disabled with the “camera/controller” option).
- Executor supports tracing_all and screen_all command line options for fast rendering mode selection.
- Light texture visualization has been added to Explorer.
- Pool texture visualization has been added to Explorer.
- The quality of the selection area has been improved.
- GraphFlow plugin for node-based GraphVarying editing has been added.
- Integer vector types have been added to the ControlFlowGLSL editor.
- Circle, triangle, box, pentagon, hexagon, octagon, and star SDF protos have been added to ControlFlowGLSL.
- Wave, ripple, and twist warp protos have been added to ControlFlowGLSL.
- Checker sampler proto has been added to ControlFlowGLSL.
- Color masks and stencil functions have been added to the MaterialFlow layout proto.
- Clutter and BatchTransform plugins have been moved to the plugin/graphs directory.
- A new interface/popup plugin for popup controls and menus has been added.
- DLSS, FSR3, and XeSS plugins have been updated to the latest versions.
- New FSR1 and FSR4 plugins have been added.
- A new FXAA plugin has been added.
- Noise generation has been moved to the interface/flow plugin from the material/flow plugin.
- Tracing shader source generation has been added to the material flow and MaterialX plugins.
- A direction proto to construct a direction vector from two angles has been added to ControlFlow.
- Enhanced tooltip visualization with delayed disappearance.
- Instance and Payload protos have been added to MaterialFlow.
- Transform input has been added to the Vertex input proto of MaterialFlow.
- Group specification has been added to the Uniform proto of MaterialFlow.
- A Line primitive has been added to the Primitives plugin.
- Primitives correctly provide line geometry for ObjectMesh flags with lines.
- MaterialShading Tracing source has been renamed to Sample source.
- SceneRender interface provides access to temporal render textures.
- The Scene interface now provides the directory where the scene file is located.
- Methods for registering buffers with default offsets and callbacks have been added to SceneBuffer.
- NodeObject methods to control instancing with CPU and GPU counts have been added.
- Payload address and stride parameters have been added to NodeObject.
- Support for motion-buffer per-pixel jitter offsets has been added via the RenderManager|RenderRenderer::FlagJitterBuffer flag.
- LightPoint and LightSpot return the intensity texture index.
- RenderDraw supports multisample texture visualization.
- API-specific Context interfaces receive a device index in the constructor.
- VK|D3D12|D3D11Device classes now provide native device features.
- Access to API layers and extensions in VK|GL|GLESContext and VKDevice has been added.
- The matrix8x16x16f16 matrix type has been added to the Device::Features structure.
- Device::Features structure names have been changed to follow API-name style.
- Device::Features::textureArraySparse field has been added (array textures with a full mipmap chain).
- Device::Features::surfaceMultisample field has been added (compute shader writes to MSAA textures).
- A dedicated ControlRoot::setMousePosition() method has been added.
- ControlText can optionally handle Pressed and Focused callbacks.
- ControlTree accepts right and left buttons for tree expanding/folding.
- Canvas|Controls::raiseChild|lowerChild() methods now accept the target position index.
- Controls::AlignLocal aligns controls using local boundaries only.
- The ObjectMesh::FlagInstancing flag activates optional geometry instancing at the ObjectMesh level.
- SeparableFilter now supports custom filter kernels specified by setKernelSource().
- The number of Function template arguments has been increased to 10.
- System::exec() now returns the process exit code. The check for successful execution is (ret == 0).
- Correct mesh morphing for meshlet-based geometry.
- Corrected ControlDialog mouse movement compensation with fractional rendering scales.
- Corrected literal recognition of mixed formats.
- Linux dialogs have a fallback mode through kdialog and zenity applications.
- Qt6 support has been added to Linux dialogs.
- Support for RWTexture2DMS in HLSL.
- Support for input and output gl_SampleMask on all platforms.
- Constant-based mix operations are now resolved at the compilation stage in the shader compiler.
- Constant-based pow for powers 2, 3, 4, 5, and 8 is replaced by multiplications in the shader compiler.
- Correct handling of tracing masks for tracing shadows and reflections.
- Improved noise sequence generation for reflection and occlusion samples.
- Meshlet and compute rasterization support meshes with morphing.
- Correct tracing generation for meshes with morphing.
- Correct tracing generation for meshes with hierarchical skeleton animations.
- The script system uses try { } blocks for external code execution.
- vbar() and hbar() texture patterns have been added.
- Correct tangent basis generation for mesh line primitives.