LuxCoreRender Release Notes v2.4

From LuxCoreRender Wiki
Jump to navigation Jump to search

LuxCore

New Features

  • New OpenCL code to evaluate textures and materials. It doesn't require kernel re-compilation anymore.
  • LuxCoreUI "Fill kernel cache" menu option now pre-compile all possible GPU kernels.
  • LuxCore API KernelCacheFill() is now available for Python
  • New 2-levels Env. Light Visibility Cache (ELVC)
  • Added the support for a new ".sharpness" (default value 0.1, range [0.0, 1.0]) Intel OIDN parameter to blend original and denoised output
  • Removed LuxRays support for virtual devices and hybrid rendering (old LuxRender GPU doing ray intersections and CPU everything else)

Fixed Bugs

About Performance on GPUs

In the past versions, we have been moving from very specialized, scene dependent OpenCL kernels to general-purpose kernels. This development simultaneously has drawbacks and benefits in simple scenes, which are explained below. Complex scenes that use most features and shaders of LuxCore are less affected by the drawbacks, sometimes not at all, while still reaping the full benefits.

  • v2.2 is fastest (at samples/sec) because it uses conditional compilation: lots of renderengine features and materials/textures are turned off when not used. Requires kernel re-compilations each time you change rendersettings or material/texture settings. Viewport rendering with OpenCL engines is out of the question, unless all you do is move the camera or other objects around.
  • v2.3 is slower because it no longer uses conditional compilation for renderengine features: all of them are active, always. This means that re-compilations are no longer necessary when changing render settings (e.g. clamping value). Materials/textures still use conditional compilation in v2.3, requiring re-compilations on most shader changes, which makes OpenCL engines still unusable for viewport rendering.
  • v2.4 is slowest because it has no conditional compilation at all anymore. The kernel is compiled once for each engine type with all features enabled, and materials/textures are now evaluated at runtime using a stack-based method.

Note, the speed difference is more visible the simpler the scene is. This is because with conditional compilation, most features will be disabled in such a scene. The more features your scene uses (meaning, the more complex it is), the less this matters. With a very complex scene using all features, v2.2 will have very similar speed to v2.4.

Also, don't forget that you now save the time for kernel compilation, always (which could range from seconds to minutes). This can actually benefit simpler scenes, if the total rendertime is short (like for animations). If you render 500 frames at 60 sec/frame, saving 20 seconds of kernel compilation can matter a lot.

Blender Addon (BlendLuxCore)

New features

  • optimize viewport update checks in scenes with many particles/duplis
  • Replaced the Eevee lookdev (which required Cycles materials) with an albedo render mode that is intended as a fast texture preview for both Lux and Cycles node trees
  • Node editor quality of life (support for muting nodes and some node wrangler functions)
  • when using PhotonGI debug modes, disable light tracing and use an exposure compensated tonemapper
  • support for custom split normals, weighted normals etc.
  • 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
  • Use Cycles nodes on linked materials without Lux nodes (so materials on Cycles assets automatically try to use Cycles nodes, unless you create a Lux material on the assets)
  • limit max. subdiv in material previews to 1
  • add support for principled emission, alpha and transmission sockets to Cycles node reader
  • add support for indirect only collection visibility mode
  • Support for manta flow smoke export in blender 2.82
  • new triplanar normalmap node
  • add triplanar projection mode to imagemap node, general rework/polishing of the imagemap node
  • Add support for transparency in the denoised result (both viewport and final render)
  • Emulate Cycles material UI in Lux material node editor (material and slot dropdown instead of node tree dropdown)
  • Thin film coating support for glass and disney materials
  • Cycles node reader:
    • add support for nested Cycles node groups
    • 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
  • LuxCore Online Library is now integrated in Blender (3D view > N-Panel > LuxCoreOnlineLibrary tab)
  • new addon preferences:
    • GPU backend (OpenCL/CUDA)
    • option to enable/disable image node thumbnails on new nodes by default
    • LuxCore Online Library preferences
  • support for new sampling patterns and out-of-core rendering
  • amount of light tracing samples is now shown in statistics (image editor > N-Panel > LuxCore tab)
  • support for COLOR_LUT imagepipeline plugin, allowing to load .cube LUT files
  • New material presets:
    • Hybrid glass (regular refractive glass with white shadow color, as an alternative to architectural glass)
    • Colored smoke
  • New interactive render settings guide

Fixed Bugs

  • fix world volume ui panel drawing
  • fix material presets panel not showing without a material
  • fix remesh panel in mesh data properties not showing up
  • fix bugs in 3D mapping node UI (the controls were disappearing when the selected object was of type "CURVE", "SURFACE" or "FONT")
  • fix export of metaballs with shared data
  • fix shapes being added to cached meshes over and over in viewport render
  • fix check for UV maps on curve, surface and font objects being broken
  • fix shapes not working on hair
  • fix possible key collision in image exporter after undo (fixes #431)
  • fix color tint not working for sky and HDRIs
  • put Blender post processing panel in the right place (output props instead of render props)
  • fix wrong view layer visibility check
  • fix possible config export error if film opencl device was not set

Known problems