Difference between revisions of "LuxCoreRender Release Notes v2.2"

From LuxCoreRender Wiki
Jump to navigation Jump to search
 
(39 intermediate revisions by 2 users not shown)
Line 8: Line 8:
* Added AVG_SHADING_NORMAL AOV
* Added AVG_SHADING_NORMAL AOV
* [https://forums.luxcorerender.org/viewtopic.php?f=5&t=872 Integrated Intel Open Image Denoiser (Oidn)]
* [https://forums.luxcorerender.org/viewtopic.php?f=5&t=872 Integrated Intel Open Image Denoiser (Oidn)]
''Alpha0 released''
* Added a new way to blend brute force path tracing and cache in PhotonGI. Cache is now used more often on glossy surfaces
* Introduced a new PhotonGI debug mode to show the mix between brute force and cached paths
* Added the support for automatic PhotonGI indirect cache best radius estimation
* Added the support for automatic PhotonGI indirect cache size by using convergence error estimation
* [https://forums.luxcorerender.org/viewtopic.php?f=5&t=984 Front and back material transparency (aka light invisible object)]
* Added PhotonGI support for volumes cache entries
* LXS parser now supports instance definitions
* Added the support for new "directx2opengl_normalmap" image map channel selection
* Added new textures: Power, Less Than, Greater Than, Dot Product, Position, Shading Normal
''Alpha1 released''
* Saving/resuming the rendering now includes all PhotonGI cache information and entries
* Added the support for new shape "group"
* Added the support for nested groups to LXS parser
* Added the support for persistent PhotonGI cache on file
* Added the support for using persistent PhotonGI cache across multiple frames for fly-through animations
* DLSC now automatically estimated the best radius if lightstrategy.entry.radius is set to 0.0
* New improved Random/Sobol sampler adaptive code
* LXS parser now supports halttime and haltspp film halt conditions
* LXS parser now supports volumes
* Shadow catcher is now easier to use with multiple light sources of any type
''Beta1 released''
* Added the support for tiled denoising to save a huge amount of ram
* Added the support for new visual map cache for infinitelight, constantinfinite and sky2 light sources
* Added the support for new Disney BRDF material from Siggraph 2012 paper
* Upgraded Intel Oidn to v0.9.0
* Metal material uses a more accurate Albedo value (for Intel OIDN)
* Added "rounding" texture
* Added "modulo" texture
* Improved tiling feature of OIDN imagepipeline plugin
* Fix a bug in ToProperties code of "blender blend" texture when "halo" progression type was used
''Beta2 released''
* Added the support for periodic PhotonGI caustic cache update (aka SPPM without radius reduction)
* PathTracer class now support eye and light path tracing. LIGHTCPU now uses PathTracer class too.
* Added Hybrid Back/Forward path tracing support
* Added the support for glossy caustics rendering to Hybrid Back/Forward
* Reworked the support for new visibility map cache for infinitelight, constantinfinite and sky2 light sources
* Transparent light sources are now rendered with the correct intensity
* New env. visibility map cache now supports persistent cache on file
''Beta3 released''
* Improved shading with interpolated normals
* Added the support for Shadow Terminator avoidance factor when using bump mapping
* Upgraded Intel Oidn to v1.0
* Reworked Direct Light Sampling Cache
* Direct Light Sampling Cache now supports persistent cache on file
''Beta4 released''
''RC1 released''
* Disney material glossiness is now computed as the square root of the previous value to match Glossy2/Metal roughness


===Fixed Bugs===
===Fixed Bugs===


* Fixed rendering resume feature
* Fixed rendering resume feature
''Alpha0 released''
* Fixed a problem with infinite lights and BiDir or PhotonGI
* Fixed a bug when using radiance groups with variance clamping and OpenCL
* Fixed camera invisible objects usage with volumes
* Fixed TASK_EMIT of LightStrategyPower
* Fixed a crash when using RTPATHOCL and editing area lights (issue #173)
* Fixed a bug when using radiance groups with variance clamping and OpenCL
''Alpha1 released''
* Fixed a crash when using negative material emission values (issue #177)
* Fixed LXS parsing in pyluxcoretools
* Fixed a problem when mixing transparent and solid materials with Mix (issue #183)
* Fix a bug when using glossy coating with any specular material
* Fixed LXS parsing of point light source position
* Fixed object ID not being saved by FILESAVER engine
* Fixed a major bug in carpaint material (issue #186)
* Fixed spelling mistake in cloth material "wool gabardine" preset
* Fixed Scene::RemoveUnusedMeshes()
* Fixed a bug in Mix material when working with specular materials (issue #187)
* Fixed an overflow problem when using an heterogenous volume on very large segments
* Sun relative size has now a lower bound of 1.0 to avoid numerical precision problems
* Fixed a problem with Scene::ToProperties() after editing a scene
* Fixed a self-shadow problem with area light sources
''Beta1 released''
* Fix ToProperties() of mapspherelight and spherelight
* Fixed a problem with caustic cache size when both PhotonGI caches were enabled and automatic stop condition for indirect cache was used
* PhotonGI Metropolis will now focus on caustic cache when indirect is done (and vice versa)
* Fixed the access to an uninitialized variable when using PhotonGI caustic cache alone
* Fixed the access to an uninitialized variable in ProjectionLight::Preprocess()
* Fixed a crash when trying to render a scene without light sources with PATHOCL (issue #202)
* Fixed DLSC to work with Front and back material transparency (aka light invisible object)
* Fixed a problem in BIDIRCPU with camera PDF
* Fixed a bug in Mix material transparency support (issue #210)
* Added a workaround to an AMD OpenCL compiler bug in DirectLight_BSDFSampling()
''Beta2 released''
* Fixed a problem in the random number generator of PhotonGI
* Fixed wrong theta being saved in ToProperties() of distant light
* Fixed a compilation error in RoughMatte OpenCL code (issue #218)
* Fixed a problem with Disney material specular tint
* Fixed a TILEPATH bug causing black renderings
* Fixed BIDIRCPU and LIGHTCPU camera motion blur
* Fixed a bug related to initial camera volume in PATHOCL
* Fixed light tracing camera motion blur and arbitrary clipping plane support
* Fixed a bug in the OpenCL code of the splitfloat3 texture
* Fixed normal mapping
* Fixed a problem when saving ALBEDO AOV
* Fixed RoughGlass event types returned by material evaluation
* Evaluated best radius in PhotonGI, ELVC and DLSC is not affected any more by border rendering
* Fixed a crash when resuming scene rendering without PhotonGI enabled
* Fixed a NaNs problem when using area lights with zero area
* Fixed the export of material emission.directlightsampling.type property
''Beta3 released''
* Solved a self-shadow problem on edges with interpolated normals
* UV scale doesn't affect anymore bump map strength
* Fixed an out of bound memory access in automatic lookup radius code
* Fixed a problem with Disney material, hybrid backward/forward path tracing and low roughness values
* Fixed bump mapping black halo for large scale values
''Beta4 released''
* Fixed the allocation of light tracing sampler shared data in hybrid backward/forward path tracing
* Fixed a problem when using flat instances and OpenCL rendering
* Fixed/Enabled PhotonGI cache on Mix and GlossyCoatting materials when possible
* Fixed a regression in BIDIRCPU causing dark edges on glancing surfaces
* Fixed a crash when PhotonGI caustic cache is enabled but empty (issue #236)
''RC1 released''
* Removed a workaround for Glossy roughness values < sqrt(.0001) for AMD OpenCL driver
* Fixed the shift of one pixel on light tracing pass of LIGHTCPU, BIDIRCPU and Hybrid Path (issue #237)
* Fixed a crash when re-defining light source (from constantinfinite to infinite) (issue #238)
* Fixed pyluxcoretool CLI not working without pyside (issue #131)
* Fixed a problem with the fix of the issue #237 (issue #239)


===Known Problems===
===Known Problems===
Line 19: Line 161:
* [https://github.com/LuxCoreRender/LuxCore/issues/29 Python crashes when calling sys.exit()]
* [https://github.com/LuxCoreRender/LuxCore/issues/29 Python crashes when calling sys.exit()]
* [https://github.com/LuxCoreRender/LuxCore/issues/124 TILEPATHOCL (and RTPATHOCL) count the layers of transparent surfaces as an iteration of the rendering finite state machine so they requires to increase the max. path depth to avoid black regions.]
* [https://github.com/LuxCoreRender/LuxCore/issues/124 TILEPATHOCL (and RTPATHOCL) count the layers of transparent surfaces as an iteration of the rendering finite state machine so they requires to increase the max. path depth to avoid black regions.]
* [https://github.com/LuxCoreRender/LuxCore/issues/158 There may be artifacts when rendering glossy surface with high roughness values and DLSC]


=Blender Addon (BlendLuxCore)=
=Blender Addon (BlendLuxCore)=
Line 25: Line 166:
===New features===
===New features===


* Support for new PhotonGI cache (WIP)
* Support for new PhotonGI cache
* Support for Intel OIDN denoiser (WIP)
* Support for Intel OIDN denoiser
* OIDN denoises the viewport once it pauses (enabled by default, pause after 10 seconds by default)
* OIDN denoises the viewport once it pauses (enabled by default, pause after 10 seconds by default)
''Alpha0 released''
* Show number of users in material UI
* Add support for normal map orientation setting (opengl or directx)
* Add a new front/back opacity node (material category) to control opacity on both sides of a face separately
* Hitpoint Info node that offers position and shading normal vectors
* Dot Product node
* New math operations:
** Power
** Greater Than
** Less Than
''Alpha1 released''
* Add a Vector Math node
* User can now set a custom object ID
* User can now choose a custom viewport color for materials (used in the OpenGL viewport, optional)
* make volume socket export of material output more generic. This means users can now directly plug volumes into the interior/exterior volume sockets, without the need for a pointer node.
* expose volume nodes in material node tree add menu
* add new "colored glass" node preset with inlined volume for simple glasses with volumetric absorption
* add a filter to the pointer node selection menu (so the user can list only materials, only volumes etc.)
* Expose uvmapping3d (available in the 3D mapping node, can be used to map procedural 3D textures with a UV mapping)
* add a debug option to print config and scene properties (in hidden debug menu, search for "Toggle LuxCore Debug Options" in Blender's operator search)
* expose storage property of background image to allow higher precision if necessary
* show button to select problematic object in error log
* implement a workaround to have "delete and reconnect" functionality in the node editor
* add support for improved adaptive sampling, as well as the new NOISE AOV
* add support for automatic radius estimation of DLSC
* add shadow catcher option to only consider shadows from infinite lights (sky, HDRI, flat background color)
''Beta1 released''
* new texture nodes: split RGB/combine RGB
* exposed new visibility map cache ("automatic portals")
* disable most imagepipeline plugins in viewport when viewport denoising is enabled, to avoid artifacts
* new material: Disney (aka principled shader)
* New math textures:
** Rounding
** Modulo (fmod)
* add support for tiled OIDN denoising to reduce RAM usage
''Beta2 released''
* switch to LuxCore material node tree when a node tree is first created (makes it easier for new users to find the LuxCore node tree)
* disable intel integrated graphics OpenCL devices by default because using them can lead to crashes


===Fixed Bugs===
===Fixed Bugs===
Line 38: Line 225:
* Fix volume priority not being exported
* Fix volume priority not being exported
* Fix bug: pointiness was not working if the last material slot did not contain a pointiness node
* Fix bug: pointiness was not working if the last material slot did not contain a pointiness node
* Improve viewport startup in complex scenes by ignoring materials touched by the export process when evaluating future updates
* Fix viewport denoiser not working without a camera
* Fix auto-updater not copying permission bits (this was a problem only for the OIDN standalone binary, which was not executable for this reason)
''Alpha0 released''
* Fix bug: area light was not removed during viewport render when its layer was made invisible
* BlendLuxCore AOV settings no longer affect Cycles/BI pass settings
''Alpha1 released''
* fix albedo and avg. shading normal AOVs being used in final render when OIDN was only enabled for viewport
* fix area light not being deleted when its type was switched to laser
''Beta1 released''
* fix some bugs in the node editor
''Beta2 released''


===Known problems===
===Known problems===
Line 43: Line 249:
* [https://github.com/LuxCoreRender/BlendLuxCore/issues/167 Inserted keyframes in material node graph don't show up in graph editor or anywhere else]
* [https://github.com/LuxCoreRender/BlendLuxCore/issues/167 Inserted keyframes in material node graph don't show up in graph editor or anywhere else]
* [https://github.com/LuxCoreRender/BlendLuxCore/issues/148 Blender crashes when Ctrl+C is pressed to copy an object with a material]
* [https://github.com/LuxCoreRender/BlendLuxCore/issues/148 Blender crashes when Ctrl+C is pressed to copy an object with a material]
* Rendering with caches (e.g. PhotonGI, DLSC, Env. light cache) can lead to problems '''if border rendering is enabled'''. A workaround is to disable automatic radius estimation and setting the radius manually instead when using border rendering.

Latest revision as of 09:39, 30 September 2019

LuxCore

New Features

Alpha0 released

  • Added a new way to blend brute force path tracing and cache in PhotonGI. Cache is now used more often on glossy surfaces
  • Introduced a new PhotonGI debug mode to show the mix between brute force and cached paths
  • Added the support for automatic PhotonGI indirect cache best radius estimation
  • Added the support for automatic PhotonGI indirect cache size by using convergence error estimation
  • Front and back material transparency (aka light invisible object)
  • Added PhotonGI support for volumes cache entries
  • LXS parser now supports instance definitions
  • Added the support for new "directx2opengl_normalmap" image map channel selection
  • Added new textures: Power, Less Than, Greater Than, Dot Product, Position, Shading Normal

Alpha1 released

  • Saving/resuming the rendering now includes all PhotonGI cache information and entries
  • Added the support for new shape "group"
  • Added the support for nested groups to LXS parser
  • Added the support for persistent PhotonGI cache on file
  • Added the support for using persistent PhotonGI cache across multiple frames for fly-through animations
  • DLSC now automatically estimated the best radius if lightstrategy.entry.radius is set to 0.0
  • New improved Random/Sobol sampler adaptive code
  • LXS parser now supports halttime and haltspp film halt conditions
  • LXS parser now supports volumes
  • Shadow catcher is now easier to use with multiple light sources of any type

Beta1 released

  • Added the support for tiled denoising to save a huge amount of ram
  • Added the support for new visual map cache for infinitelight, constantinfinite and sky2 light sources
  • Added the support for new Disney BRDF material from Siggraph 2012 paper
  • Upgraded Intel Oidn to v0.9.0
  • Metal material uses a more accurate Albedo value (for Intel OIDN)
  • Added "rounding" texture
  • Added "modulo" texture
  • Improved tiling feature of OIDN imagepipeline plugin
  • Fix a bug in ToProperties code of "blender blend" texture when "halo" progression type was used

Beta2 released

  • Added the support for periodic PhotonGI caustic cache update (aka SPPM without radius reduction)
  • PathTracer class now support eye and light path tracing. LIGHTCPU now uses PathTracer class too.
  • Added Hybrid Back/Forward path tracing support
  • Added the support for glossy caustics rendering to Hybrid Back/Forward
  • Reworked the support for new visibility map cache for infinitelight, constantinfinite and sky2 light sources
  • Transparent light sources are now rendered with the correct intensity
  • New env. visibility map cache now supports persistent cache on file

Beta3 released

  • Improved shading with interpolated normals
  • Added the support for Shadow Terminator avoidance factor when using bump mapping
  • Upgraded Intel Oidn to v1.0
  • Reworked Direct Light Sampling Cache
  • Direct Light Sampling Cache now supports persistent cache on file

Beta4 released

RC1 released

  • Disney material glossiness is now computed as the square root of the previous value to match Glossy2/Metal roughness

Fixed Bugs

  • Fixed rendering resume feature

Alpha0 released

  • Fixed a problem with infinite lights and BiDir or PhotonGI
  • Fixed a bug when using radiance groups with variance clamping and OpenCL
  • Fixed camera invisible objects usage with volumes
  • Fixed TASK_EMIT of LightStrategyPower
  • Fixed a crash when using RTPATHOCL and editing area lights (issue #173)
  • Fixed a bug when using radiance groups with variance clamping and OpenCL

Alpha1 released

  • Fixed a crash when using negative material emission values (issue #177)
  • Fixed LXS parsing in pyluxcoretools
  • Fixed a problem when mixing transparent and solid materials with Mix (issue #183)
  • Fix a bug when using glossy coating with any specular material
  • Fixed LXS parsing of point light source position
  • Fixed object ID not being saved by FILESAVER engine
  • Fixed a major bug in carpaint material (issue #186)
  • Fixed spelling mistake in cloth material "wool gabardine" preset
  • Fixed Scene::RemoveUnusedMeshes()
  • Fixed a bug in Mix material when working with specular materials (issue #187)
  • Fixed an overflow problem when using an heterogenous volume on very large segments
  • Sun relative size has now a lower bound of 1.0 to avoid numerical precision problems
  • Fixed a problem with Scene::ToProperties() after editing a scene
  • Fixed a self-shadow problem with area light sources

Beta1 released

  • Fix ToProperties() of mapspherelight and spherelight
  • Fixed a problem with caustic cache size when both PhotonGI caches were enabled and automatic stop condition for indirect cache was used
  • PhotonGI Metropolis will now focus on caustic cache when indirect is done (and vice versa)
  • Fixed the access to an uninitialized variable when using PhotonGI caustic cache alone
  • Fixed the access to an uninitialized variable in ProjectionLight::Preprocess()
  • Fixed a crash when trying to render a scene without light sources with PATHOCL (issue #202)
  • Fixed DLSC to work with Front and back material transparency (aka light invisible object)
  • Fixed a problem in BIDIRCPU with camera PDF
  • Fixed a bug in Mix material transparency support (issue #210)
  • Added a workaround to an AMD OpenCL compiler bug in DirectLight_BSDFSampling()

Beta2 released

  • Fixed a problem in the random number generator of PhotonGI
  • Fixed wrong theta being saved in ToProperties() of distant light
  • Fixed a compilation error in RoughMatte OpenCL code (issue #218)
  • Fixed a problem with Disney material specular tint
  • Fixed a TILEPATH bug causing black renderings
  • Fixed BIDIRCPU and LIGHTCPU camera motion blur
  • Fixed a bug related to initial camera volume in PATHOCL
  • Fixed light tracing camera motion blur and arbitrary clipping plane support
  • Fixed a bug in the OpenCL code of the splitfloat3 texture
  • Fixed normal mapping
  • Fixed a problem when saving ALBEDO AOV
  • Fixed RoughGlass event types returned by material evaluation
  • Evaluated best radius in PhotonGI, ELVC and DLSC is not affected any more by border rendering
  • Fixed a crash when resuming scene rendering without PhotonGI enabled
  • Fixed a NaNs problem when using area lights with zero area
  • Fixed the export of material emission.directlightsampling.type property

Beta3 released

  • Solved a self-shadow problem on edges with interpolated normals
  • UV scale doesn't affect anymore bump map strength
  • Fixed an out of bound memory access in automatic lookup radius code
  • Fixed a problem with Disney material, hybrid backward/forward path tracing and low roughness values
  • Fixed bump mapping black halo for large scale values

Beta4 released

  • Fixed the allocation of light tracing sampler shared data in hybrid backward/forward path tracing
  • Fixed a problem when using flat instances and OpenCL rendering
  • Fixed/Enabled PhotonGI cache on Mix and GlossyCoatting materials when possible
  • Fixed a regression in BIDIRCPU causing dark edges on glancing surfaces
  • Fixed a crash when PhotonGI caustic cache is enabled but empty (issue #236)

RC1 released

  • Removed a workaround for Glossy roughness values < sqrt(.0001) for AMD OpenCL driver
  • Fixed the shift of one pixel on light tracing pass of LIGHTCPU, BIDIRCPU and Hybrid Path (issue #237)
  • Fixed a crash when re-defining light source (from constantinfinite to infinite) (issue #238)
  • Fixed pyluxcoretool CLI not working without pyside (issue #131)
  • Fixed a problem with the fix of the issue #237 (issue #239)

Known Problems

Blender Addon (BlendLuxCore)

New features

  • Support for new PhotonGI cache
  • Support for Intel OIDN denoiser
  • OIDN denoises the viewport once it pauses (enabled by default, pause after 10 seconds by default)

Alpha0 released

  • Show number of users in material UI
  • Add support for normal map orientation setting (opengl or directx)
  • Add a new front/back opacity node (material category) to control opacity on both sides of a face separately
  • Hitpoint Info node that offers position and shading normal vectors
  • Dot Product node
  • New math operations:
    • Power
    • Greater Than
    • Less Than

Alpha1 released

  • Add a Vector Math node
  • User can now set a custom object ID
  • User can now choose a custom viewport color for materials (used in the OpenGL viewport, optional)
  • make volume socket export of material output more generic. This means users can now directly plug volumes into the interior/exterior volume sockets, without the need for a pointer node.
  • expose volume nodes in material node tree add menu
  • add new "colored glass" node preset with inlined volume for simple glasses with volumetric absorption
  • add a filter to the pointer node selection menu (so the user can list only materials, only volumes etc.)
  • Expose uvmapping3d (available in the 3D mapping node, can be used to map procedural 3D textures with a UV mapping)
  • add a debug option to print config and scene properties (in hidden debug menu, search for "Toggle LuxCore Debug Options" in Blender's operator search)
  • expose storage property of background image to allow higher precision if necessary
  • show button to select problematic object in error log
  • implement a workaround to have "delete and reconnect" functionality in the node editor
  • add support for improved adaptive sampling, as well as the new NOISE AOV
  • add support for automatic radius estimation of DLSC
  • add shadow catcher option to only consider shadows from infinite lights (sky, HDRI, flat background color)

Beta1 released

  • new texture nodes: split RGB/combine RGB
  • exposed new visibility map cache ("automatic portals")
  • disable most imagepipeline plugins in viewport when viewport denoising is enabled, to avoid artifacts
  • new material: Disney (aka principled shader)
  • New math textures:
    • Rounding
    • Modulo (fmod)
  • add support for tiled OIDN denoising to reduce RAM usage

Beta2 released

  • switch to LuxCore material node tree when a node tree is first created (makes it easier for new users to find the LuxCore node tree)
  • disable intel integrated graphics OpenCL devices by default because using them can lead to crashes

Fixed Bugs

  • Fix Tool panel in blender reporting eye paths and light paths wrong
  • Fix Point light size draw function using location without constraints
  • Show noise halt threshold settings for Bidir engine
  • Fix some bugs in group instance visiblity
  • Fix missing srgb/linear conversion in HSV input of constant color node
  • Fix volume priority not being exported
  • Fix bug: pointiness was not working if the last material slot did not contain a pointiness node
  • Improve viewport startup in complex scenes by ignoring materials touched by the export process when evaluating future updates
  • Fix viewport denoiser not working without a camera
  • Fix auto-updater not copying permission bits (this was a problem only for the OIDN standalone binary, which was not executable for this reason)

Alpha0 released

  • Fix bug: area light was not removed during viewport render when its layer was made invisible
  • BlendLuxCore AOV settings no longer affect Cycles/BI pass settings

Alpha1 released

  • fix albedo and avg. shading normal AOVs being used in final render when OIDN was only enabled for viewport
  • fix area light not being deleted when its type was switched to laser

Beta1 released

  • fix some bugs in the node editor

Beta2 released

Known problems