LuxCoreRender Release Notes v2.3

From LuxCoreRender Wiki
Jump to navigation Jump to search

LuxCore

New Features

  • LuxCoreUI now shows eye and light pass counters if light tracing is enabled
  • FILESAVER now expands inline exported constant texture values
  • PhotonGI caustic scene re-factored to work with Vertex Merging (i.e. SPPM in this case)
  • It is now possible to use light tracing for normal caustics and PhotonGI cache for SDS paths
  • Added the support for shadow rays transparency for path tracers (aka hybrid glass, issue #233)
  • Added the support for Basu and Owen's low discrepancy triangle light sampling (pull request #246)
  • Added an option to normalize BlackBody texture output
  • Pointiness shape is now able to handle duplicate/similar vertices like if they were the same
  • Added the support for Subdivison shape (base don OpenSubdiv)
  • Added the support for Displacement shape
  • Added the support for vector displacement to Displacement shape
  • New image pipeline plugin: White balance
  • Using/Not using bump/normal mapping doesn't require OpenCL compilation anymore (removed PARAM_HAS_BUMPMAPS conditional OpenCL compilation)
  • Large rework of internal light interface. Fixed several instance/motion blur and lights related problems. Triangle light motion blur now works as expected in OpenCL.
  • Large rework of internal mesh interface. Improved the performance of instanced and motion blur meshes.
  • Changed object and material ID for background to 0 (from 0xffffffff)
  • Added the support for screen space subdivision limit to SubdivShape
  • Using/Not using any type of transparency doesn't require OpenCL compilation anymore (removed PARAM_HAS_PASSTHROUGH conditional OpenCL compilation)
  • Added an Harlequin shape (mostly to debug meshes)
  • Added a Simplify shape (to decimate the number of triangles in a mesh with the smaller possible error)
  • Reduced the default number of OpenCL threads from 512k to 256k (to save about 150MB of GPU RAM at 1-2% performance cost)
  • Changing max. path and/or Russian Roulette parameters doesn't require OpenCL compilation anymore (removed PARAM_MAX_PATH_DEPTH, PARAM_MAX_PATH_DEPTH_DIFFUSE, PARAM_MAX_PATH_DEPTH_GLOSSY, PARAM_MAX_PATH_DEPTH_SPECULAR, PARAM_RR_DEPTH and PARAM_RR_CAPPARAM_HAS_BUMPMAPS conditional OpenCL compilation)
  • Added the support the definition of meshes with multiple UVs, Colors and Alphas (issue #134)
  • Added the BAKECPU engine (LuxCore API only)
  • Added the glTF v2.0 FILESAVER support (LuxCore API only)
  • Changing hybrid backward/forward path tracing settings doesn't require OpenCL compilation anymore (removed PARAM_HYBRID_BACKFORWARD and PARAM_HYBRID_BACKFORWARD_GLOSSINESSTHRESHOLD conditional OpenCL compilation)
  • Changing PhotonGI settings doesn't require OpenCL compilation anymore (removed PARAM_PGIC_ENABLED, PARAM_PGIC_INDIRECT_ENABLED, PARAM_PGIC_CAUSTIC_ENABLED, etc.)
  • Changing force black background flag doesn't require OpenCL compilation anymore (removed PARAM_FORCE_BLACK_BACKGROUND)
  • Changing variance clamping settings doesn't require OpenCL compilation anymore (removed PARAM_SQRT_VARIANCE_CLAMP_MAX_VALUE)
  • Changing LIGHT_WORLD_RADIUS_SCALE doesn't require OpenCL compilation anymore (removed PARAM_RADIUS)
  • Removed HitPoint struct variable size related to PARAM_ENABLE_TEX_HITPOINTCOLOR, PARAM_ENABLE_TEX_HITPOINTGREY, PARAM_ENABLE_TEX_HITPOINTALPHA and PARAM_TRIANGLE_LIGHT_HAS_VERTEX_COLOR to avoid OpenCL re-compilation
  • Enabling/disabling volumes doesn't require OpenCL compilation anymore (removed PARAM_HAS_VOLUMES and SCENE_DEFAULT_VOLUME_INDEX)
  • Added the support for triplanar mapping
  • Enabling/disabling camera clipping and/or OculusRift barrel doesn't require OpenCL compilation anymore (removed PARAM_CAMERA_ENABLE_CLIPPING_PLANE and PARAM_CAMERA_ENABLE_OCULUSRIFT_BARREL)
  • Changing any pixel filter related parameter doesn't require OpenCL compilation anymore (removed all PARAM_IMAGE_FILTER_*)
  • Disney material now accepts values > 1.0 for sheen parameter
  • Changing camera type doesn't require OpenCL compilation anymore (removed PARAM_CAMERA_TYPE)
  • Changing any image map related settings doesn't require OpenCL compilation anymore (removed all PARAM_HAS_IMAGEMAPS_*)
  • Added the support for UV-less bump mapping with triplanar mapping
  • Changing the number of light groups used doesn't require OpenCL compilation anymore (removed PARAM_FILM_RADIANCE_GROUP_*)
  • Reduced (again) the default number of OpenCL threads from 256k to 128k
  • Added the support for .normalizebycolor emission property
  • Using a GPU memory block larger than CL_DEVICE_MAX_MEM_ALLOC_SIZE now triggers only a warning. Some driver/hardware (i.e. NVIDIA) is able to allocate larger blocks.
  • Enabling/disabling BCD denoiser doesn't require OpenCL compilation anymore (removed PARAM_FILM_DENOISER)
  • Changing RTPATHOCL rendering parameters doesn't require OpenCL compilation anymore (removed PARAM_RTPATHOCL_*)
  • Rework of OpenCL samplers code to not require OpenCL compilation anymore when changing sampler (removed PARAM_SAMPLER_*)
  • Changing AOVs used doesn't require OpenCL compilation anymore (removed PARAM_FILM_CHANNELS_*)
  • Adding/Removing a new light source type doesn't require OpenCL compilation anymore (removed PARAM_HAS_*LIGHT)

Beta1 released

  • Improved light map sampling in BAKECPU
  • Added the support for transparencies and shadowcatcher to BAKECPU
  • Fixed and optimized the execution on CPU with high thread count (24+)

Beta2 released

  • OUTPUT_SWITCHER image pipeline plugin now supports MATERIAL_ID_COLOR, ALBEDO, AVG_SHADING_NORMAL and USER_IMPORTANCE too

RC1 released

  • Added the support for baked light maps rendering

Fixed Bugs

  • Fixed triangle lights back face emission when using an IES or image map profile
  • Fixed OpenCL code for rotate triangle light when using IES or image map profile (BlendLuxCore iusse #310)
  • Fixed light tracing when using orthographic camera
  • Fixed a light intensity problem with OpenCL rendering when using a mix of materials with emission
  • Fixed the support for wrap mode in image maps loaded from files
  • Fixed a brightness problem when rendering large images with Metropolis sampler
  • Fixed a brightness problem when rendering caustics with PhotonGI caustic cache
  • Fixed a bug in Mix material OpenCL code when mixing transparent and not transparent materials
  • Fixed a crash when rendering an empty scene with OpenCL and EnvLightVisibilityCache
  • Fixed a problem with mesh light sources when deleting an object with LuxCore API (issue #290)
  • Fixed a bug when evaluating complex tree of bump mapping nodes (issue #198)

Beta1 released

  • BAKECPU now correctly includes the dot product of shading normal and light direction in light maps
  • Fixed the generation of material/object/volume default random ID (issue #296)
  • Fixed bump mapping when using a transformation with negative scale on Z (issue #300)

Beta2 released

  • Fixed a bug in pyluxcoretools ui code causing a runtime error with PySide2 5.14.x
  • Volume .photongi.enable property is now parsed/exported and supported
  • Fixed a problem in RTPATHOCL preview phase (issue #305)

RC1 released

  • Fixed a numerical precision problem on some very large scene (issue #308)
  • Fixed weights of direct and indirect light maps in BAKECPU

Blender Addon (BlendLuxCore)

New features

  • OpenVDB node
  • Support for new shadow color feature
  • Support for new white balance image pipeline plugin
  • Area lights now have UV coordinates
  • Image sequence support
  • Triplanar mapping node (+ triplanar bump node)
  • Rework of caustic cache settings
  • Only disable imgpipeline plugins in viewport because of denoiser when necessary (only for contour lines and color aberration)
  • Support for blackbody normalize option
  • New "exclude from render" flag for objects, to make it possible to have them visible in other render engines but invisible in LuxCore
  • Support for LuxCore shape pipeline and new shape modifiers: OpenSubDiv, Displacement, Vector Displacement, Simplify
  • Sun lights are now by default invisible to indirect specular rays when using the Path engine, because these paths would only generate fireflies anyway
  • New TimeInfo node
  • Allow values > 1 in disney sheen parameter
  • Accelerated export of instances and particles (in a scene with 100,000 particles: from 33 seconds in v2.2 to 1.3 seconds total export time in v2.3)
  • Improved status messages in the UI during export of complex scenes
  • Added camera invisible support for hair
  • Hair on instances is now duplicated correctly
  • Float node sockets now show 3 instead of 2 decimal places
  • Make it possible to enable/disable PhotonGI in materials even if PhotonGI is disabled globally
  • Support for environment light cache persistent file
  • Support for direct light cache persistent file

Beta1 released

  • BlendLuxCore can now read some basic Cycles world and light settings. For more info see https://github.com/LuxCoreRender/BlendLuxCore/issues/272
  • Added option to normalize distant light (enabled by default)
  • Objects that are completely invisible in Cycles (via ray visibility flags) are not exported by LuxCore anymore
  • Allow to set light tracing partition even with OpenCL engine (so it's possible to use the CPU not only for light tracing)
  • Added a button that allows to create a light object from an HDRI world (for free transformation)

Beta2 released

  • use Cycles DOF properties
  • sun and sky now use a separate gain property with default 0.00002 to prevent overexposion with default tonemapper settings
  • add operator that converts old scenes to v2.3
  • PhotonGI on volumes is now disabled by default. Warnings are shown if a volume with enabled PhotonGI is used as world volume
  • More physically based light units

RC1 released

Fixed Bugs

  • Fixed bugs in smoke export
  • Show camera background image panel
  • Fixed film refresh not happening at the promised time because it was waiting for the next statistic update
  • Fixed instancer being shown in final render even if disabled
  • Fixed smoke export to match cycles render by translate the grid by 1/4*cell_size
  • Fixed light emission when Power or Efficacy = 0
  • Support for multiple UV maps and multiple Vertex color channels
  • Fixed UV offset being off by 1 in some node setups due to a correction factor being applied twice

Beta1 released

  • Fixed view layer override material not working
  • Fixed instancer sometimes visible in final render despite disabled visibility
  • Fixed packed image temp files not being closed before removal

Beta2 released

  • support more than 8 render slots (fixes #377)
  • remove cloned Cycles camera panels without modifications
  • show Cycles node panel for lights, if Cycles settings are used
  • fix some UI issues in light/world properties
  • fix (harmless) console errors when toggling the use_cycles_nodes option without an open node editor
  • fix bug in hair export causing motion blur to fail if hair failed to export
  • prevent absorption depth from ever being zero to avoid division by zero
  • show the new fluid/smoke system panels (in Blender 2.82)

RC1 released

  • fix export of just one instance (fixes #391)
  • fix object made invisible only in viewport not being exported in final render (fixes #392)
  • fix not hair not being rendered when Show Emitter is unchecked (fixes #388)
  • fix LuxCore material viewport color panel not being visible (preventing users from turning off automatic coloring)
  • fix collection instances, particles and other duplis getting duplicated when moving them in a running viewport render (fixes #366)
  • fix several bugs regarding hair on instances/duplis
  • fix material viewport update not being triggered on node connection change reliably
  • fix wrong dupli export in some rare cases, caused by a key collision during final render export

Changes that break backwards-compatibility

Old scenes created with v2.2 will need to be updated manually in the areas listed below to make them look the same in v2.3:

  • The ImagePipeline tonemapper default settings were changed: auto brightness is now disabled by default (was enabled), gain is now 1.0 by default (was 0.5)
  • Lights now have two modes for choosing the brightness: "artistic" and "power". Default is now "artistic". This means that the light settings of old scenes have to be changed manually to make them look identical to v2.2.
  • It is now no longer possible to tint the sun and the sky color

Beta1 released

  • Sun lights in "distant" mode are now normalized by default. To make old scenes appear the same, disable the "Normalize" option in the light settings
  • Camera clipping is now enabled by default. When loading old scenes, you'll have to disable it to get the same behaviour (although the difference is probably not visible in most scenes)
  • The blackbody texture is now normalized by default. For scenes created in older versions, disable the normalize option to get the same result

Beta2 released

  • Sun and sky now have a separate gain property with default 0.00002 to prevent overexposion with default tonemapper settings. In old scenes, you will have to copy-paste the old gain value, e.g. by switching to another light type and back to sun or sky.

RC1 released

Known problems