One-Time Kernel Compilation
Our materials and textures evaluation code has been rewritten. Now, only one kernel compilation is required after the installation. In complex scenes, the new code is just as fast as the old code, but in simple scenes performance is worse. You can read more about the performance implications here.
This change means faster iteration time for artists, huge time savings for animation rendering, and finally a usable GPU viewport engine.
New CUDA Backend
In addition to our existing OpenCL backend for GPU rendering, we now have a CUDA backend, which can be a bit faster on Nvidia GPUs. It requires at least CUDA version 10.
AMD GPUs support out-of-core rendering through a driver option (AMD HBCC).
On Nvidia GPUs, our CUDA backend now supports out-of-core storage of images, meshes, framebuffers, BVH data and more.
Reworked Environment Light Cache
We have improved our auto-portals solution, which is used to accelerate direct light sampling of the world background light. The new cache is computed faster, creates a more uniform and less noisy result, and is easier to use.
The images below were all rendered to 200 samples.
Random per Island
There’s now a random value for each disconnected mesh island available in shaders.
PhotonGI Now Supports Light Groups
Our cache for the acceleration of indirect light and caustics has been extended with support for light groups, which can be used to generate separate AOVs for sets of lights. This allows drastic changes to the light balance in the scene during post production and makes it possible to extract various different moods and lighting situations from a single render result – now with fast noise-free indirect light!
New Sampling Patterns
In the past, the Sobol sampler in LuxCore always rendered the image from bottom to top, one line of pixels at a time, with one sample per pixel per pass over the image. This behaviour now has been changed to walk over the image in 16×16 tiles instead of 16×1 stripes. This mode is best for previews, as it quickly covers the whole image.
To improve cache usage, a new “cache-friendly” mode was added, which computes 32 samples per pixel per pass instead of 1. This mode can be used for final renders, where a quick preview is not necessary.
In addition, a pattern optimized for out-of-core rendering is available, which computes even more samples per pixel per pass (default: 512) to minimize the amount of swapping between GPU and CPU RAM.
Support for thin-film interference has been added. It can be used for oil slicks, soap bubbles, oxid layers on heated metal, car paint, anti-reflective coatings, beetle carapace etc.
The resulting colors depend on the thickness of the film, the refractive index of the film, and the angle between surface and viewer.
.CUBE LUT File Support
Lookup tables in .CUBE format can now be used for postprocessing.
- New “Random” texture
- Accelerated duplicate vertex detection in pointiness shape (from 6.7 seconds to 0.016 seconds on a 100k vertex mesh)
- Added processor group support to enable LuxCoreRender to use more than 64 logical processors on Windows
- New improved Metropolis sampler warmup period
New Features in the Blender Addon
BlendLuxCore now supports custom split normals. Like other mesh data, they are translated to LuxCore via C++-accelerated code to be as fast as possible.
Albedo Render Mode
The Eevee lookdev mode was not very useful to us because it requires Eevee nodes to show textures. It was replaced by a render mode optimized for quick, shadeless texture previews, showing the albedo AOV. It can be used to preview all LuxCore material node trees as well as compatible Cycles node trees, if the “Use Cycles Nodes” checkbox of the material is used.
Node Editor Quality of Life
Our node editor has been extended with some helpful shortcuts, inspired by Node Wrangler:
- M can be used to mute selected nodes, which will disable them and pass their input unchanged to their outputs
- Ctrl+Shift+LMB click on a node shows it as a shadeless preview, useful to check the true colors of a texture.
- Ctrl+T creates an image and mapping node if the selected node has compatible inputs, or just a mapping node if an image node is selected
Support for the new smoke simulation system in Blender has been added.
LuxCore Online Library
A library with assets and materials created by Sharlybg has been integrated in the Blender addon. It is licensed under CC-BY-SA and can be used in personal and commercial projects to quickly populate a scene with furniture, decorations, lighting and more.
Interactive Render Settings Guide
To help new users quickly set up a good configuration, a guide has been added. It asks some questions about the scene and assigns render settings based on the answers.
- Optimized viewport update checks in scenes with many particles/duplis
- Reworked statistics, added some sub-stats about export time (mesh conversion time, hair conversion time) as well as information about which caches are enabled/disabled
- The addon now uses Cycles nodes on linked materials if the material has no Lux nodes (so materials on Cycles assets automatically try to use Cycles nodes, unless you create a Lux material on the assets)
- Added triplanar projection mode to imagemap node, general rework/polishing of the imagemap node
- Added support for transparency in the denoised result (both viewport and final render)
- Cycles node reader:
- Add support for nested Cycles node groups
- Add support for principled emission, alpha and transmission sockets
- Add support for geometry node outputs: position and normal
- Add support for object info node outputs: object index, material index, random
- Add support for refraction shader
- Add support for blackbody texture
More than 30 bugs have been fixed in LuxCore and in the Blender addon.