LuxCore Versions Save

LuxCore source repository

luxcorerender_v2.8alpha1

4 months ago

First WIP support for Blender 4.x

latest

8 months ago

This is the result of automatic compilation and testing of the latest commit on Azure pipeline.

You can find a commit history here: https://github.com/LuxCoreRender/LuxCore/commits/master

luxcorerender_v2.7beta1

10 months ago

Compatibility release for Blender 3.6 NOTE: This version is only compatible with Blender v3.6LTS.

luxcorerender_v2.6

2 years ago

Release v2.6

New Features

  • BIDIRCPU can now use PhotonGI caustic cache to render SDS paths
  • Optimized the parsing of mesh light sources and it is now about 3x faster
  • Introduced (partial) multi-thread support in pre-processing of Light sources
  • Integrated OpenColorIO v2.0
  • Added the support for new TONEMAP_OPENCOLORIO tone mapper
  • Added the support for color spaces (Nop, LuxCore and OpenColorIO) to image maps
  • Added the support for color spaces (Nop, LuxCore and OpenColorIO) to constant textures
  • Added the support for color spaces (Nop, LuxCore and OpenColorIO) to implicit definitions of constant textures
  • Added the support for color spaces (Nop, LuxCore and OpenColorIO) to materials
  • Added the support for color spaces (Nop, LuxCore and OpenColorIO) to light sources
  • FILESAVER avoids to save the internal random image map (used by randomized tiling)
  • Updated to Intel Embree v3.12.2
  • Updated to Intel OIDN v1.3.0
  • Updated to OpenImageIO v2.2.13.1
  • Regularize coordinate system to solve some anisotropic related issue with glossy material (pull request #521)
  • UVRandomMapping2D now supports optional random rotation step parameter (issue #528)
  • LocalRandomMapping3D now supports optional random rotation step parameter (issue #528)
  • Introduced the concept of Scene texture image maps resize policy and the support for NONE and FIXED policies
  • Reworked the way alpha channel is computed for transmitted paths
  • Introduced the MINMEM Scene texture image maps resize policy
  • Updated to Intel OIDN v1.4.0
  • Added the support for Intel OIDN auxiliary buffers pre-filtering
  • Added the support for new pyluxcoretools MakeTX
  • Introduced the MIPMAPMEM Scene texture image maps resize policy
  • GPU out-of-core rendering now automatically disable Film GPU image pipeline to save more memory
  • Added the support for Film-only out-of-core rendering (CUDA-only) with property opencl.outofcore.film.enable
  • Added a safety check for infinite light source when HDR with invalid values (NaN, Inf, etc.) is used
  • Added the support to Intel OIDN plugin for enabling/diasbling prefiltering with .prefilter.enable property
  • Disney glossiness evaluation (for PGI, Albedo AOV, etc.) now checks metal and specular parameters
  • Disney glossiness evaluation uses now the square root of the value to align with the roughness of Glossy2, Metal, etc.
  • Added the support for image map filtering nearest, linear was the only mode available before (issue #545)
  • Albedo AOV reflections and transmissions can now be configured (mostly for denoising)
  • Avg. Shading Normal AOV is now coherent with Albedo AOV reflections and transmissions settings
  • Intel OIDN plugin now pre-filters Avg. Shading Normal AOV too
  • Added the support for Albedo and Normal AOV warmup for improved denoising with BIDIRCPU
  • Added the support for camera projection UV shape
  • Added the support for OpenColorIO Looks to TONEMAP_OPENCOLORIO color space mode
  • Added the support for OpenColorIO Looks to TONEMAP_OPENCOLORIO display mode
  • It is now possible to set the light source volume like with camera (for BiDir)

Fixed Bugs

  • Fixed the reading of IES files on system with not-US locale
  • Fixed a problem with Python and Property objects initialized as double even if they were int
  • Python Property object now consider int data type always as a 64 bit value
  • Fixed a bug rendering black baked maps when using bump mapping and COMBINED type with BAKECPU rendering engine
  • Fixed a bug when rendering caustics over volumes with Caustic cache (issue #533)
  • Fixed a problem causing the initialization of multiple dataset accelerators in some case
  • Fixed a problem with incorrect alpha AOV values (issue #536)
  • Fixed a problem when using Add/Subtract textures with bump mapping (issue #689)
  • GlossyCoating is now a delta material if the base material is
  • Fixed a crash when editing light source emission
  • Added a work around to pyluxcoretools with PySide2 causing a std::bad_cast
  • Fixed a possible crash when editing a scene
  • Fixed glTF export to work with Python base64.b64decode()
  • Fixed a bug in Disney material causing bright edges
  • Fixed a problem with not-NULL transparent surfaces when the interior and the exterior volumes are the same
  • Fixed a cut&paste error in ImageMapStorage::GetDuv() (issue #560)
  • Fixed a problem with indirect light going trough objects with white shadow transparency in BIDIRCPU
  • Fixed a possible crash when editing a scene

Check https://wiki.luxcorerender.org/LuxCoreRender_Release_Notes for the full list of release notes.

Known Problems and limitations

  • accelerator.bvh.builder.type = EMBREE_MORTON doesn't work with the latest Embree
  • Python crashes when calling sys.exit()
  • TILEPATHOCL (and RTPATHOCL) count the layers of transparent surfaces as an iteration of the rendering finite state machine so they require to increase the max. path depth to avoid black regions.
  • Light emitted by motion blurred triangle lights is approximated using the triangle area of time 0.0 (computing triangle area at runtime would be expansive) so it may be not totally accurate if the motion blur transformation include a scale.

Note for Windows users: you have to install the Microsoft Visual C++ Redistributable for Visual Studio 2017 and Intel C++ redistributable.

luxcorerender_v2.5

3 years ago

Release v2.5

New Features

  • Added the support for Optix/RTX acceleration
  • Added the support for Optix denoiser imagepipeline plugin
  • GPU imagepipeline now allocated buffers for only the used AOVs by each plugin
  • batch.haltspp now supports 2 parameters too in order to have separate halt conditions for eye and light tracing
  • Added the support for camera not uniform and anamorphic bokeh (issue #409)
  • Added the support for camera bokeh with custom distribution
  • Variance clamping is now applied separately to each radiance group (issue #414)
  • Added the support for lateral and longitudinal chromatic aberration (issue #409)
  • Added the support for SINC pixel filter (issue #415)
  • Added the support for CATMULLROM pixel filter (issue #415)
  • It is now possible to disable Optix (with property context.cuda.optix.enable) even if it is detected and available
  • Any mesh UV map can now be used for displacement (issue #416)
  • Subdiv shape now supports multiple vertex UVs, colors, alphas and AOVs (issue #416)
  • Added the support for holdout (issue #423)
  • Added the support for wireframe texture
  • Variance clamping is applied applied to DIRECT_DIFFUSE, DIRECT_GLOSSY, EMISSION, INDIRECT_DIFFUSE, INDIRECT_GLOSSY and INDIRECT_SPECULAR AOVs too
  • GetPlatformDesc() now returns compile.LUXRAYS_ENABLE_OPTIX property to check if Optix is available
  • Removed the limit of max. 32 AOV types
  • Added the support for new AOVs (issue #429): DIRECT_DIFFUSE_REFLECT, DIRECT_DIFFUSE_TRANSMIT, DIRECT_GLOSSY_REFLECT, DIRECT_GLOSSY_TRANSMIT, INDIRECT_DIFFUSE_REFLECT, INDIRECT_DIFFUSE_TRANSMIT, INDIRECT_GLOSSY_REFLECT, INDIRECT_GLOSSY_TRANSMIT, INDIRECT_SPECULAR_REFLECT and INDIRECT_SPECULAR_TRANSMIT
  • Added a fast evaluation path in GPU code for constant and image map textures
  • Added the support for Distort texture
  • Now individual bricks, in brick texture, have a pseudo-random mix between two colors by default
  • Added the support for Randomized Texture Tiling (#228)
  • Added the support for UVRandomMapping2D
  • Added the support for LocalRandomMapping3D
  • Added the support for Caustic AOV when using hybrid rendering
  • Added the support for TwoSided material
  • Reworked WhiteBalance plugin and light groups white balance support to be coherent with usual photographic white balance process (note: this change breaks the compatibility with past scene settings)
  • Added a cap (25% and 75%) to Glass transmission/reflection sampling to not under sample some case
  • Added the support to all light sources of ".temperature" and ".temperature.normalize" properties to set light temperature
  • Added the support for texture bombing
  • Added the support for Caustic AOV to OutputSwitcherPlugin
  • LuxCore API has new log system
  • Added the support for 180 (or any other amount of degrees) view to Environment camera
  • Added the support for 180 (horizontal stacked) and 360 degree (vertical stacked) stereo camera (issue #451)

Beta1 released

  • Removed the cap to opencl.task.count parameter

RC1 released

Fixed Bugs

  • Added the support for pixel filtering to light tracing (issue #413)
  • Now LuxCore works even if OpenCL is available but not a valid OpenCL ICD platform has been found (issue #422)
  • Fixed a problem with cloth material when using CUDA and Windows (issue #417)
  • Fixed a problem in glossy coating albedo evaluation on GPUs
  • Fixed a difference between CPU and GPU rendering when using a roughglass with a shadow transparency color
  • Fixed the support in .ply files for triangle AOVs
  • Fixed a memory leak when rendering with OpenCL (noticeable when rendering animations)
  • Fixed text export of brick texture HERRINGBONE and BASKET
  • Fixed scale problem in GPU code for brick texture HERRINGBONE and BASKET (issue #438)
  • Fixed a possible crash when using trilinear texture with GPUs
  • Reworked some condition in hybrid rendering light tracing to solve the problem of flashing caustics (issue #441)
  • Fixed a problem with Blender Translation language preference option and scene export on file
  • Fixed a self-shadow problem in BIRCPU render engine
  • Fixed a Mix material problem when using solid and transparent materials (issue #461)

Beta1 released

  • Fixed a crash when using Subdivision shape with vertex colors (issue #469)
  • Fixed a possible crash when using multiple GPUs with PhotonGI
  • Fixed a deadlock when using multiple renders at the same time in Blender (issue #575)
  • Fixed a bug in the support for material .bumpsamplingdistance property
  • Fixed a discrepancy in reflected area lights on glossy surfaces between CPU and GPU rendering when light tracing is enabled (issue #470)
  • Avoid to return CUDA_ERROR_NO_DEVICE error if CUDA is installed but there are no NVIDIA GPUs installed
  • Fixed compilation when CUDA is disabled but OpenCL is still enabled
  • Now disabling CUDA for any error during the cuInit() like when an external GPU is unplugged (issue #493)
  • Compiling the code with LUXCORE_DISABLE_OIDN defined will disable Intel OIDN (for platforms where it is not available like Apple M1)
  • Fixed halt condition rendering stop code when using both eye and light tracing parameters (issue #497)
  • Change sphere light implementation to provide an alternative to the point light fallback (issue #443)
  • Fixed a compiler error when running with CUDA on Ampere GPUs (issue BlendLuxCore#626)
  • Fixed a crash when using an image pipeline with only NOP plugin
  • CPU code now rejects NaN/Inf sample values for AOVs like GPU code
  • Avoid to generate NaN volume transmittance if the segment is infinite

RC1 released

  • Fixed a problem when using the DIRECT_DIFFUSE_REFLECT AOV (issue #517)
  • Fixed a crash when using CPU-only image pipeline plugins but image pipeline GPU support is still enabled
  • Fixed a problem with BIDIRCPU and RADIANCE_GROUP AOV
  • Fixed a problem when using chain of shapes with mesh vertex/triangle AOVs (issue #659)

Check https://wiki.luxcorerender.org/LuxCoreRender_Release_Notes for the full list of release notes.

Known Problems and limitations

  • accelerator.bvh.builder.type = EMBREE_MORTON doesn't work with the latest Embree
  • Python crashes when calling sys.exit()
  • TILEPATHOCL (and RTPATHOCL) count the layers of transparent surfaces as an iteration of the rendering finite state machine so they require to increase the max. path depth to avoid black regions.
  • Light emitted by motion blurred triangle lights is approximated using the triangle area of time 0.0 (computing triangle area at runtime would be expansive) so it may be not totally accurate if the motion blur transformation include a scale.

Note for Windows users: you have to install the Microsoft Visual C++ Redistributable for Visual Studio 2017 and Intel C++ redistributable.

luxcorerender_v2.5rc1

3 years ago

Release v2.5

New Features

  • Added the support for Optix/RTX acceleration
  • Added the support for Optix denoiser imagepipeline plugin
  • GPU imagepipeline now allocated buffers for only the used AOVs by each plugin
  • batch.haltspp now supports 2 parameters too in order to have separate halt conditions for eye and light tracing
  • Added the support for camera not uniform and anamorphic bokeh (issue #409)
  • Added the support for camera bokeh with custom distribution
  • Variance clamping is now applied separately to each radiance group (issue #414)
  • Added the support for lateral and longitudinal chromatic aberration (issue #409)
  • Added the support for SINC pixel filter (issue #415)
  • Added the support for CATMULLROM pixel filter (issue #415)
  • It is now possible to disable Optix (with property context.cuda.optix.enable) even if it is detected and available
  • Any mesh UV map can now be used for displacement (issue #416)
  • Subdiv shape now supports multiple vertex UVs, colors, alphas and AOVs (issue #416)
  • Added the support for holdout (issue #423)
  • Added the support for wireframe texture
  • Variance clamping is applied applied to DIRECT_DIFFUSE, DIRECT_GLOSSY, EMISSION, INDIRECT_DIFFUSE, INDIRECT_GLOSSY and INDIRECT_SPECULAR AOVs too
  • GetPlatformDesc() now returns compile.LUXRAYS_ENABLE_OPTIX property to check if Optix is available
  • Removed the limit of max. 32 AOV types
  • Added the support for new AOVs (issue #429): DIRECT_DIFFUSE_REFLECT, DIRECT_DIFFUSE_TRANSMIT, DIRECT_GLOSSY_REFLECT, DIRECT_GLOSSY_TRANSMIT, INDIRECT_DIFFUSE_REFLECT, INDIRECT_DIFFUSE_TRANSMIT, INDIRECT_GLOSSY_REFLECT, INDIRECT_GLOSSY_TRANSMIT, INDIRECT_SPECULAR_REFLECT and INDIRECT_SPECULAR_TRANSMIT
  • Added a fast evaluation path in GPU code for constant and image map textures
  • Added the support for Distort texture
  • Now individual bricks, in brick texture, have a pseudo-random mix between two colors by default
  • Added the support for Randomized Texture Tiling (#228)
  • Added the support for UVRandomMapping2D
  • Added the support for LocalRandomMapping3D
  • Added the support for Caustic AOV when using hybrid rendering
  • Added the support for TwoSided material
  • Reworked WhiteBalance plugin and light groups white balance support to be coherent with usual photographic white balance process (note: this change breaks the compatibility with past scene settings)
  • Added a cap (25% and 75%) to Glass transmission/reflection sampling to not under sample some case
  • Added the support to all light sources of ".temperature" and ".temperature.normalize" properties to set light temperature
  • Added the support for texture bombing
  • Added the support for Caustic AOV to OutputSwitcherPlugin
  • LuxCore API has new log system
  • Added the support for 180 (or any other amount of degrees) view to Environment camera
  • Added the support for 180 (horizontal stacked) and 360 degree (vertical stacked) stereo camera (issue #451)

Beta1 released

  • Removed the cap to opencl.task.count parameter

RC1 released

Fixed Bugs

  • Added the support for pixel filtering to light tracing (issue #413)
  • Now LuxCore works even if OpenCL is available but not a valid OpenCL ICD platform has been found (issue #422)
  • Fixed a problem with cloth material when using CUDA and Windows (issue #417)
  • Fixed a problem in glossy coating albedo evaluation on GPUs
  • Fixed a difference between CPU and GPU rendering when using a roughglass with a shadow transparency color
  • Fixed the support in .ply files for triangle AOVs
  • Fixed a memory leak when rendering with OpenCL (noticeable when rendering animations)
  • Fixed text export of brick texture HERRINGBONE and BASKET
  • Fixed scale problem in GPU code for brick texture HERRINGBONE and BASKET (issue #438)
  • Fixed a possible crash when using trilinear texture with GPUs
  • Reworked some condition in hybrid rendering light tracing to solve the problem of flashing caustics (issue #441)
  • Fixed a problem with Blender Translation language preference option and scene export on file
  • Fixed a self-shadow problem in BIRCPU render engine
  • Fixed a Mix material problem when using solid and transparent materials (issue #461)

Beta1 released

  • Fixed a crash when using Subdivision shape with vertex colors (issue #469)
  • Fixed a possible crash when using multiple GPUs with PhotonGI
  • Fixed a deadlock when using multiple renders at the same time in Blender (issue #575)
  • Fixed a bug in the support for material .bumpsamplingdistance property
  • Fixed a discrepancy in reflected area lights on glossy surfaces between CPU and GPU rendering when light tracing is enabled (issue #470)
  • Avoid to return CUDA_ERROR_NO_DEVICE error if CUDA is installed but there are no NVIDIA GPUs installed
  • Fixed compilation when CUDA is disabled but OpenCL is still enabled
  • Now disabling CUDA for any error during the cuInit() like when an external GPU is unplugged (issue #493)
  • Compiling the code with LUXCORE_DISABLE_OIDN defined will disable Intel OIDN (for platforms where it is not available like Apple M1)
  • Fixed halt condition rendering stop code when using both eye and light tracing parameters (issue #497)
  • Change sphere light implementation to provide an alternative to the point light fallback (issue #443)
  • Fixed a compiler error when running with CUDA on Ampere GPUs (issue BlendLuxCore#626)
  • Fixed a crash when using an image pipeline with only NOP plugin
  • CPU code now rejects NaN/Inf sample values for AOVs like GPU code
  • Avoid to generate NaN volume transmittance if the segment is infinite

RC1 released

Check https://wiki.luxcorerender.org/LuxCoreRender_Release_Notes for the full list of release notes.

Known Problems and limitations

  • accelerator.bvh.builder.type = EMBREE_MORTON doesn't work with the latest Embree
  • Python crashes when calling sys.exit()
  • TILEPATHOCL (and RTPATHOCL) count the layers of transparent surfaces as an iteration of the rendering finite state machine so they require to increase the max. path depth to avoid black regions.
  • Light emitted by motion blurred triangle lights is approximated using the triangle area of time 0.0 (computing triangle area at runtime would be expansive) so it may be not totally accurate if the motion blur transformation include a scale.

Note for Windows users: you have to install the Microsoft Visual C++ Redistributable for Visual Studio 2017 and Intel C++ redistributable.

luxcorerender_v2.5beta1

3 years ago

Release v2.5

New Features

  • Added the support for Optix/RTX acceleration
  • Added the support for Optix denoiser imagepipeline plugin
  • GPU imagepipeline now allocated buffers for only the used AOVs by each plugin
  • batch.haltspp now supports 2 parameters too in order to have separate halt conditions for eye and light tracing
  • Added the support for camera not uniform and anamorphic bokeh (issue #409)
  • Added the support for camera bokeh with custom distribution
  • Variance clamping is now applied separately to each radiance group (issue #414)
  • Added the support for lateral and longitudinal chromatic aberration (issue #409)
  • Added the support for SINC pixel filter (issue #415)
  • Added the support for CATMULLROM pixel filter (issue #415)
  • It is now possible to disable Optix (with property context.cuda.optix.enable) even if it is detected and available
  • Any mesh UV map can now be used for displacement (issue #416)
  • Subdiv shape now supports multiple vertex UVs, colors, alphas and AOVs (issue #416)
  • Added the support for holdout (issue #423)
  • Added the support for wireframe texture
  • Variance clamping is applied applied to DIRECT_DIFFUSE, DIRECT_GLOSSY, EMISSION, INDIRECT_DIFFUSE, INDIRECT_GLOSSY and INDIRECT_SPECULAR AOVs too
  • GetPlatformDesc() now returns compile.LUXRAYS_ENABLE_OPTIX property to check if Optix is available
  • Removed the limit of max. 32 AOV types
  • Added the support for new AOVs (issue #429): DIRECT_DIFFUSE_REFLECT, DIRECT_DIFFUSE_TRANSMIT, DIRECT_GLOSSY_REFLECT, DIRECT_GLOSSY_TRANSMIT, INDIRECT_DIFFUSE_REFLECT, INDIRECT_DIFFUSE_TRANSMIT, INDIRECT_GLOSSY_REFLECT, INDIRECT_GLOSSY_TRANSMIT, INDIRECT_SPECULAR_REFLECT and INDIRECT_SPECULAR_TRANSMIT
  • Added a fast evaluation path in GPU code for constant and image map textures
  • Added the support for Distort texture
  • Now individual bricks, in brick texture, have a pseudo-random mix between two colors by default
  • Added the support for Randomized Texture Tiling (#228)
  • Added the support for UVRandomMapping2D
  • Added the support for LocalRandomMapping3D
  • Added the support for Caustic AOV when using hybrid rendering
  • Added the support for TwoSided material
  • Reworked WhiteBalance plugin and light groups white balance support to be coherent with usual photographic white balance process (note: this change breaks the compatibility with past scene settings)
  • Added a cap (25% and 75%) to Glass transmission/reflection sampling to not under sample some case
  • Added the support to all light sources of ".temperature" and ".temperature.normalize" properties to set light temperature
  • Added the support for texture bombing
  • Added the support for Caustic AOV to OutputSwitcherPlugin
  • LuxCore API has new log system
  • Added the support for 180 (or any other amount of degrees) view to Environment camera
  • Added the support for 180 (horizontal stacked) and 360 degree (vertical stacked) stereo camera (issue #451)

Fixed Bugs

  • Added the support for pixel filtering to light tracing (issue #413)
  • Now LuxCore works even if OpenCL is available but not a valid OpenCL ICD platform has been found (issue #422)
  • Fixed a problem with cloth material when using CUDA and Windows (issue #417)
  • Fixed a problem in glossy coating albedo evaluation on GPUs
  • Fixed a difference between CPU and GPU rendering when using a roughglass with a shadow transparency color
  • Fixed the support in .ply files for triangle AOVs
  • Fixed a memory leak when rendering with OpenCL (noticeable when rendering animations)
  • Fixed text export of brick texture HERRINGBONE and BASKET
  • Fixed scale problem in GPU code for brick texture HERRINGBONE and BASKET (issue #438)
  • Fixed a possible crash when using trilinear texture with GPUs
  • Reworked some condition in hybrid rendering light tracing to solve the problem of flashing caustics (issue #441)
  • Fixed a problem with Blender Translation language preference option and scene export on file
  • Fixed a self-shadow problem in BIRCPU render engine
  • Fixed a Mix material problem when using solid and transparent materials (issue #461)

Check https://wiki.luxcorerender.org/LuxCoreRender_Release_Notes for the full list of release notes.

Known Problems and limitations

  • accelerator.bvh.builder.type = EMBREE_MORTON doesn't work with the latest Embree
  • Python crashes when calling sys.exit()
  • TILEPATHOCL (and RTPATHOCL) count the layers of transparent surfaces as an iteration of the rendering finite state machine so they require to increase the max. path depth to avoid black regions.
  • Light emitted by motion blurred triangle lights is approximated using the triangle area of time 0.0 (computing triangle area at runtime would be expansive) so it may be not totally accurate if the motion blur transformation include a scale.

Note for Windows users: you have to install the Microsoft Visual C++ Redistributable for Visual Studio 2017 and Intel C++ redistributable.

luxcorerender_v2.4

3 years ago

Release v2.4

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)
  • Geometry vertex and triangle AOVs (arbitrary data associated to mesh vertices and triangle usable by textures)
  • Removed the support for Triplanar texture .uvindex (side effect of the above new feature)
  • New hitpointvertexaov and hitpointtriangleaov textures
  • Pointiness shape can now assign curvature values to vertex AOV with .aovindex property (a 4294967296 value will force the use of alpha channel instead, default value for compatibility with the past)
  • LuxCore API has now SetMeshVertexAOV() and SetMeshTriangleAOV() methods to set geometry vertex and triangle AOV
  • Added the support for new Random texture
  • Added the support for the new IslandAOV shape
  • Added the support for RandomTriangleAOV shape
  • Accelerated duplicate vertex detection in pointiness shape (from 6.7 seconds to 0.016 seconds on a 100k vertex mesh)
  • LuxRays API reworked to support generic hardware devices (now OpenCL, potentially CUDA, Vulkan, Metal, etc.)
  • Added the support for light groups to PhotonGI
  • New LuxCore API RenderConfig::HasCachedKernels() method to check if a (long) kernel compilation time is required
  • Glossycoating material on GPUs now supports bump mapping exactly like CPU version (issue #307)
  • Mix material on GPUs now supports bump mapping exactly like CPU version (issue #307)
  • Added processor group support to enable LuxCoreRender to use more than 64 logical processors on Windows
  • Added the support for CUDA rendering
  • Added the support for out of core CUDA rendering (i.e. to render scenes larger than GPU ram available)
  • GPU rendering now uses 64bit image map pixel indices (i.e. removed the limit of 8 * 4GB of scene image maps)
  • New cache and out-of-core friendly mode for Random/Sobol samplers
  • Added the support for denoising baked light maps with Intel ODIN
  • pyluxcoretools merge now supports saving film AOVs via new --aov-output option
  • New improved Metropolis sampler warmup period
  • Added thin film interference option for many materials
  • Added the support for a new color re-mapping image pipeline plug-in using .cube files (issue #81)
  • LuxCore API now support unicode UTF-8 strings and files
  • luxcore::KernelCacheFill() now supports opencl.devices.select, scene.epsilon.min and scene.epsilon.max properties (issue #374)
  • LuxCoreRender can now be compiled without OpenCL/CUDA SDK and it will load OpenCL/CUDA at run time (one executable can now be used for all types of installations)
  • RTPathOCLRenderEngine::WaitNewFrame() takes is not more synchronous with rendering refresh
  • The use of more than 64 logical processors on Windows is now extended to all render engines
  • It is now possible to render scenes without light sources (!)
  • The use of more than 64 logical processors on Windows is now extended to all pre-processing tasks like caches, etc.

''Beta1 released''

''RC1 released''

''v2.4 Released''

Fixed Bugs

  • Fixed a rendering difference when using/not using geometry negative scale transformations (issue #309)
  • Fixed an out of bound access in BAKECPU
  • Fixed a problem when using path.forceblackbackground.enable and env. lights
  • Fixed a problem with scenes with very hard light paths and Metropolis sampler (issue #312)
  • Sampler shared data are now reseted at the end of a scene edit (issue #312)
  • Fixed a problem in automatic cache radius estimation of PhotonGI when using Orthographic camera (issue #324)
  • Fixed an OpenCL compilation error when using large number of objects on some old GPUs
  • Fixed a problem with BlendLuxCore when parsing more than 9 image pipelines (#336)
  • Fixed a bug causing fireflies when using light tracing for caustics in some case (#329)
  • Fixed a crash when using RemoveUnusedTextures() with Volumes (issue #377)
  • Fixed a banding problem when using sphere light sources with very small radius (issue LuxCoreRender/BlendLuxCore#477)
  • Fixed LXS parsing of UV inlined coordinates (issue #392)

''Beta1 released''

  • Fixed a bug when using RTPATHOCL with multiple CUDA devices
  • Fixed a bug when using shadow transparency (for Path tracing)
  • Fixed a LuxCoreUI crash when GPU rendering is not available (pull request #406)
  • MacOS OpenCL/CUDA kernel cache directory is now created in user home directory to avoid to be erased when in /tmp
  • Fixed the serialization of Intel OIDN plugin sharpness parameter
  • Film NOISE channel (used for adaptive sampling) is now correctly reseted after a scene edit

''RC1 released''

''v2.4 Released''

Note: due to Glossycoating updated support for bump mapping on GPUs, some old scene using this kind of material/bump map combination may require some fix.

Check https://wiki.luxcorerender.org/LuxCoreRender_Release_Notes for the full list of release notes.

Known Problems and limitations

  • accelerator.bvh.builder.type = EMBREE_MORTON doesn't work with the latest Embree
  • Python crashes when calling sys.exit()
  • TILEPATHOCL (and RTPATHOCL) count the layers of transparent surfaces as an iteration of the rendering finite state machine so they require to increase the max. path depth to avoid black regions.
  • Light emitted by motion blurred triangle lights is approximated using the triangle area of time 0.0 (computing triangle area at runtime would be expansive) so it may be not totally accurate if the motion blur transformation include a scale.
  • Variance clamping is not applied to AOVs

Note for Windows users: you have to install the Microsoft Visual C++ Redistributable for Visual Studio 2017 and Intel C++ redistributable.

luxcorerender_v2.4rc1

3 years ago

Release v2.4

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)
  • Geometry vertex and triangle AOVs (arbitrary data associated to mesh vertices and triangle usable by textures)
  • Removed the support for Triplanar texture .uvindex (side effect of the above new feature)
  • New hitpointvertexaov and hitpointtriangleaov textures
  • Pointiness shape can now assign curvature values to vertex AOV with .aovindex property (a 4294967296 value will force the use of alpha channel instead, default value for compatibility with the past)
  • LuxCore API has now SetMeshVertexAOV() and SetMeshTriangleAOV() methods to set geometry vertex and triangle AOV
  • Added the support for new Random texture
  • Added the support for the new IslandAOV shape
  • Added the support for RandomTriangleAOV shape
  • Accelerated duplicate vertex detection in pointiness shape (from 6.7 seconds to 0.016 seconds on a 100k vertex mesh)
  • LuxRays API reworked to support generic hardware devices (now OpenCL, potentially CUDA, Vulkan, Metal, etc.)
  • Added the support for light groups to PhotonGI
  • New LuxCore API RenderConfig::HasCachedKernels() method to check if a (long) kernel compilation time is required
  • Glossycoating material on GPUs now supports bump mapping exactly like CPU version (issue #307)
  • Mix material on GPUs now supports bump mapping exactly like CPU version (issue #307)
  • Added processor group support to enable LuxCoreRender to use more than 64 logical processors on Windows
  • Added the support for CUDA rendering
  • Added the support for out of core CUDA rendering (i.e. to render scenes larger than GPU ram available)
  • GPU rendering now uses 64bit image map pixel indices (i.e. removed the limit of 8 * 4GB of scene image maps)
  • New cache and out-of-core friendly mode for Random/Sobol samplers
  • Added the support for denoising baked light maps with Intel ODIN
  • pyluxcoretools merge now supports saving film AOVs via new --aov-output option
  • New improved Metropolis sampler warmup period
  • Added thin film interference option for many materials
  • Added the support for a new color re-mapping image pipeline plug-in using .cube files (issue #81)
  • LuxCore API now support unicode UTF-8 strings and files
  • luxcore::KernelCacheFill() now supports opencl.devices.select, scene.epsilon.min and scene.epsilon.max properties (issue #374)
  • LuxCoreRender can now be compiled without OpenCL/CUDA SDK and it will load OpenCL/CUDA at run time (one executable can now be used for all types of installations)
  • RTPathOCLRenderEngine::WaitNewFrame() takes is not more synchronous with rendering refresh
  • The use of more than 64 logical processors on Windows is now extended to all render engines
  • It is now possible to render scenes without light sources (!)
  • The use of more than 64 logical processors on Windows is now extended to all pre-processing tasks like caches, etc.

''Beta1 released''

''RC1 released''

Fixed Bugs

  • Fixed a rendering difference when using/not using geometry negative scale transformations (issue #309)
  • Fixed an out of bound access in BAKECPU
  • Fixed a problem when using path.forceblackbackground.enable and env. lights
  • Fixed a problem with scenes with very hard light paths and Metropolis sampler (issue #312)
  • Sampler shared data are now reseted at the end of a scene edit (issue #312)
  • Fixed a problem in automatic cache radius estimation of PhotonGI when using Orthographic camera (issue #324)
  • Fixed an OpenCL compilation error when using large number of objects on some old GPUs
  • Fixed a problem with BlendLuxCore when parsing more than 9 image pipelines (#336)
  • Fixed a bug causing fireflies when using light tracing for caustics in some case (#329)
  • Fixed a crash when using RemoveUnusedTextures() with Volumes (issue #377)
  • Fixed a banding problem when using sphere light sources with very small radius (issue LuxCoreRender/BlendLuxCore#477)
  • Fixed LXS parsing of UV inlined coordinates (issue #392)

''Beta1 released''

  • Fixed a bug when using RTPATHOCL with multiple CUDA devices
  • Fixed a bug when using shadow transparency (for Path tracing)
  • Fixed a LuxCoreUI crash when GPU rendering is not available (pull request #406)
  • MacOS OpenCL/CUDA kernel cache directory is now created in user home directory to avoid to be erased when in /tmp
  • Fixed the serialization of Intel OIDN plugin sharpness parameter
  • Film NOISE channel (used for adaptive sampling) is now correctly reseted after a scene edit

''RC1 released''

Note: due to Glossycoating updated support for bump mapping on GPUs, some old scene using this kind of material/bump map combination may require some fix.

Check https://wiki.luxcorerender.org/LuxCoreRender_Release_Notes for the full list of release notes.

Known Problems and limitations

  • accelerator.bvh.builder.type = EMBREE_MORTON doesn't work with the latest Embree
  • Python crashes when calling sys.exit()
  • TILEPATHOCL (and RTPATHOCL) count the layers of transparent surfaces as an iteration of the rendering finite state machine so they require to increase the max. path depth to avoid black regions.
  • Light emitted by motion blurred triangle lights is approximated using the triangle area of time 0.0 (computing triangle area at runtime would be expansive) so it may be not totally accurate if the motion blur transformation include a scale.
  • Variance clamping is not applied to AOVs

Note for Windows users: you have to install the Microsoft Visual C++ Redistributable for Visual Studio 2017 and Intel C++ redistributable.

luxcorerender_v2.4beta1

3 years ago

Release v2.4beta1

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)
  • Geometry vertex and triangle AOVs (arbitrary data associated to mesh vertices and triangle usable by textures)
  • Removed the support for Triplanar texture .uvindex (side effect of the above new feature)
  • New hitpointvertexaov nad hitpointtriangleaov textures
  • Pointiness shape can now assign curvature values to vertex AOV with .aovindex property (a 4294967296 value will force the use of alpha channel instead, default value for compatibility with the past)
  • LuxCore API has now SetMeshVertexAOV() and SetMeshTriangleAOV() methods to set geometry vertex and triangle AOV
  • Added the support for new Random texture
  • Added the support for the new IslandAOV shape
  • Added the support for RandomTriangleAOV shape
  • Accelerated duplicate vertex detection in pointiness shape (from 6.7 seconds to 0.016 seconds on a 100k vertex mesh)
  • LuxRays API reworked to support generic hardware devices (now OpenCL, potentially CUDA, Vulkan, Metal, etc.)
  • Added the support for light groups to PhotonGI
  • New LuxCore API RenderConfig::HasCachedKernels() method to check if a (long) kernel compilation time is required
  • Glossycoating material on GPUs now supports bump mapping exactly like CPU version (issue #307)
  • Mix material on GPUs now supports bump mapping exactly like CPU version (issue #307)
  • Added processor group support to enable LuxCoreRender to use more than 64 logical processors on Windows
  • Added the support for CUDA rendering
  • Added the support for out of core CUDA rendering (i.e. to render scenes larger than GPU ram available)
  • GPU rendering now uses 64bit image map pixel indices (i.e. removed the limit of 8 * 4GB of scene image maps)
  • New cache and out-of-core friendly mode for Random/Sobol samplers
  • Added the support for denoising baked light maps with Intel ODIN
  • pyluxcoretools merge now supports saving film AOVs via new --aov-output option
  • New improved Metropolis sampler warmup period
  • Added thin film interference option for many materials
  • Added the support for a new color re-mapping image pipeline plug-in using .cube files (issue #81)
  • LuxCore API now support unicode UTF-8 strings and files
  • luxcore::KernelCacheFill() now supports opencl.devices.select, scene.epsilon.min and scene.epsilon.max properties (issue #374)
  • LuxCoreRender can now be compiled without OpenCL/CUDA SDK and it will load OpenCL/CUDA at run time (one executable can now be used for all types of installations)
  • RTPathOCLRenderEngine::WaitNewFrame() takes is not more synchronous with rendering refresh
  • The use of more than 64 logical processors on Windows is now extended to all render engines
  • It is now possible to render scenes without light sources (!)
  • The use of more than 64 logical processors on Windows is now extended to all pre-processing tasks like caches, etc.

Fixed Bugs

  • Fixed a rendering difference when using/not using geometry negative scale transformations (issue #309)
  • Fixed an out of bound access in BAKECPU
  • Fixed a problem when using path.forceblackbackground.enable and env. lights
  • Fixed a problem with scenes with very hard light paths and Metropolis sampler (issue #312)
  • Sampler shared data are now reseted at the end of a scene edit (issue #312)
  • Fixed a problem in automatic cache radius estimation of PhotonGI when using Orthographic camera (issue #324)
  • Fixed an OpenCL compilation error when using large number of objects on some old GPUs
  • Fixed a problem with BlendLuxCore when parsing more than 9 image pipelines (#336)
  • Fixed a bug causing fireflies when using light tracing for caustics in some case (#329)
  • Fixed a crash when using RemoveUnusedTextures() with Volumes (issue #377)
  • Fixed a banding problem when using sphere light sources with very small radius (issue LuxCoreRender/BlendLuxCore#477)
  • Fixed LXS parsing of UV inlined coordinates (#392)

Note: due to Glossycoating updated support for bump mapping on GPUs, some old scene using this kind of material/bump map combination may require some fix.

Check https://wiki.luxcorerender.org/LuxCoreRender_Release_Notes for the full list of release notes.

Known Problems and limitations

  • LuxCore API requires latin locale
  • accelerator.bvh.builder.type = EMBREE_MORTON doesn't work with the latest Embree
  • Python crashes when calling sys.exit()
  • TILEPATHOCL (and RTPATHOCL) count the layers of transparent surfaces as an iteration of the rendering finite state machine so they require to increase the max. path depth to avoid black regions.
  • Light emitted by motion blurred triangle lights is approximated using the triangle area of time 0.0 (computing triangle area at runtime would be expansive) so it may be not totally accurate if the motion blur transformation include a scale.
  • Variance clamping is not applied to AOVs

Note for Windows users: you have to install the Microsoft Visual C++ Redistributable for Visual Studio 2017 and Intel C++ redistributable.