LuxCoreRender

Last updated
LuxCoreRender
Developer(s) Jean-Philippe Grimaldi, Jean-Francois Romang, David Bucciarelli, Ricardo Lipas Augusto, Asbjorn Heid and others. [1]
Initial releaseJune 24, 2008;16 years ago (2008-06-24)
Stable release
2.6 / December 25, 2021;2 years ago (2021-12-25) [2]
Repository
Written in C++, Python
Operating system Cross-platform
Type 3D computer graphics
License Apache 2.0
Website www.luxcorerender.org

LuxCoreRender is a free and open-source physically based rendering software. It began as LuxRender in 2008 before changing its name to LuxCoreRender in 2017 as part of a project reboot. [3] [4] The LuxCoreRender software runs on Linux, Mac OS X, and Windows.

Contents

Overview

LuxCoreRender features a 3D renderer; it relies on other programs (3D modeling programs) to create the scenes to render, including the models, materials, lights and cameras. This content can then be exported from the application for rendering. For Luxrender, fully functional exporters are available for Blender, Daz Studio; partially functional ones are available for Cinema 4D, Maya, SketchUp and XSI. [5] Luxrender is also fully supported as a production renderer in 3DS Max. [6] For LuxCoreRender, Blender is supported through the BlendLuxCore plugin. [7] After opening the exported file, LuxCoreRender renders the scene. Various tweaks to post processing settings can be set via graphical user interface and the scene control file. [8] A significant feature of LuxCoreRender is that the user is able to change the balance of different lights while the image is still being processed. [9] [10]

History

LuxRender

LuxCoreRender originally started as LuxRender in 2008. LuxRender was based on PBRT, a physically based ray-tracing program. [11] Although very capable and well-structured, PBRT focuses on academic use and was not easily usable by digital artists. As PBRT is licensed under the BSD License, it was possible to start a new program based on PBRT's source code. With the blessings of the original authors, a small group of programmers took this step in September 2007. The new program was named LuxRender and was to focus on artistic use. Since its initial stage, the program has attracted a small handful of various programmers around the world. [1]

On 24 June 2008, the first official release was announced, version 0.5. [12] This was the first release that is considered to be usable for the general public.

LuxCoreRender (LuxRender 2.x)

The plan for LuxRender 2.0 was defined during the 2013 summer and one of the major components is a new engine based on the C++ and Python APIs. The old C API suffered from many limitations when it came to modern features like dynamic scene editing and interactive rendering, so it was decided to write a completely new API instead of improving the old one. LuxCore is the name of the new C++/Python API. It offers all the features shown by SLG (SmallLuxGPU), [13] including a dynamic camera, texture, material, and object editing, and more.

Why Lux(Core)Render v2.0?
Because LuxRender project was dying under the weight of a lot of old abandoned code. All active developers had the strong feeling a fresh start was required. The "Core" between "Lux" and "Render" is there to highlight the new project focus. However the "v2.0" is there to re-mark the continuity with 10 years of development and experience.

During the 2017 winter, LuxCoreRender 2.0 was defined as a LuxCore API focused render package, dropping any old code related to LuxRender 1.x. A new website, forum, wiki, Blender exported, etc. were developed in order mark a new fresh project restart.

Although the original LuxRender is a full spectral renderer, the new LuxCoreRender drops full spectral rendering in favor of simulating spectral dispersion when required. [14] [15] However, this leads to some inaccuracies when rendering caustics in some circumstances. [16]

Features

LuxRender 1.0 render of a modern classroom modeled in Blender LuxRender-Schulraum.png
LuxRender 1.0 render of a modern classroom modeled in Blender

LuxCoreRender 2.5

Features included in the LuxCoreRender 2.5 update include: [17]

LuxCoreRender 2.4

Features included in the LuxCoreRender 2.4 update include: [18]

LuxCoreRender 2.0–2.3

Features included in the LuxCoreRender 2.0+ project reboot (current version) include: [19]

LuxRender 1.0

New features included in LuxRender 1.0 include: [28]

LuxRender 0.8

The main features of LuxRender as of version 0.8 include: [11] [30]

Related Research Articles

<span class="mw-page-title-main">Rendering (computer graphics)</span> Process of generating an image from a model

Rendering or image synthesis is the process of generating a photorealistic or non-photorealistic image from a 2D or 3D model by means of a computer program. The resulting image is referred to as a rendering. Multiple models can be defined in a scene file containing objects in a strictly defined language or data structure. The scene file contains geometry, viewpoint, textures, lighting, and shading information describing the virtual scene. The data contained in the scene file is then passed to a rendering program to be processed and output to a digital image or raster graphics image file. The term "rendering" is analogous to the concept of an artist's impression of a scene. The term "rendering" is also used to describe the process of calculating effects in a video editing program to produce the final video output.

Gecko is a browser engine developed by Mozilla. It is used in the Firefox browser, the Thunderbird email client, and many other projects.

<span class="mw-page-title-main">Blender (software)</span> 3D computer graphics software

Blender is a free and open-source 3D computer graphics software tool set that runs on Windows, MacOS, BSD, Haiku, and Linux. It is used for creating animated films, visual effects, art, 3D-printed models, motion graphics, interactive 3D applications, virtual reality, and, formerly, video games. Blender's features include 3D modelling, UV mapping, texturing, digital drawing, raster graphics editing, rigging and skinning, fluid and smoke simulation, particle simulation, soft body simulation, sculpting, animation, match moving, rendering, motion graphics, video editing, scripting, and compositing.

Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware acceleration if it is available on the graphics card, allowing for hardware acceleration of the entire 3D rendering pipeline or even only partial acceleration. Direct3D exposes the advanced graphics capabilities of 3D graphics hardware, including Z-buffering, W-buffering, stencil buffering, spatial anti-aliasing, alpha blending, color blending, mipmapping, texture blending, clipping, culling, atmospheric effects, perspective-correct texture mapping, programmable HLSL shaders and effects. Integration with other DirectX technologies enables Direct3D to deliver such features as video mapping, hardware 3D rendering in 2D overlay planes, and even sprites, providing the use of 2D and 3D graphics in interactive media ties.

<span class="mw-page-title-main">Graphics processing unit</span> Specialized electronic circuit; graphics accelerator

A graphics processing unit (GPU) is a specialized electronic circuit initially designed to accelerate computer graphics and image processing. After their initial design, GPUs were found to be useful for non-graphic calculations involving embarrassingly parallel problems due to their parallel structure. Other non-graphical uses include the training of neural networks and cryptocurrency mining.

<span class="mw-page-title-main">YafaRay</span> Free open-source text-based ray tracing program

YafaRay is a free and open-source ray tracing program that uses an XML scene description language. There is a YafaRay addon for Blender 2.78. The ray tracer is licensed under the GNU Lesser General Public License (LGPL).

<span class="mw-page-title-main">OpenGL ES</span> Subset of the OpenGL API for embedded systems

OpenGL for Embedded Systems is a subset of the OpenGL computer graphics rendering application programming interface (API) for rendering 2D and 3D computer graphics such as those used by video games, typically hardware-accelerated using a graphics processing unit (GPU). It is designed for embedded systems like smartphones, tablet computers, video game consoles and PDAs. OpenGL ES is the "most widely deployed 3D graphics API in history".

PowerVR is a division of Imagination Technologies that develops hardware and software for 2D and 3D rendering, and for video encoding, decoding, associated image processing and DirectX, OpenGL ES, OpenVG, and OpenCL acceleration. PowerVR also develops AI accelerators called Neural Network Accelerator (NNA).

DirectX Video Acceleration (DXVA) is a Microsoft API specification for the Microsoft Windows and Xbox 360 platforms that allows video decoding to be hardware-accelerated. The pipeline allows certain CPU-intensive operations such as iDCT, motion compensation and deinterlacing to be offloaded to the GPU. DXVA 2.0 allows more operations, including video capturing and processing operations, to be hardware-accelerated as well.

<span class="mw-page-title-main">E-on Vue</span> 3D landscape generation software from e-on software

Vue is a software tool for world generation by Bentley Systems with support for many visual effects, animations and various other features. The tool has been used in several feature-length movies.

Cheetah3D is a computer graphics program for 3D modelling, animation and rendering. It is written in Cocoa for macOS. The program is aimed at beginning and amateur 3D artists.

<span class="mw-page-title-main">CUDA</span> Parallel computing platform and programming model

In computing, CUDA is a proprietary parallel computing platform and application programming interface (API) that allows software to use certain types of graphics processing units (GPUs) for accelerated general-purpose processing, an approach called general-purpose computing on GPUs (GPGPU). CUDA API and its runtime: The CUDA API is an extension of the C programming language that adds the ability to specify thread-level parallelism in C and also to specify GPU device specific operations. CUDA is a software layer that gives direct access to the GPU's virtual instruction set and parallel computational elements for the execution of compute kernels. In addition to drivers and runtime kernels, the CUDA platform includes compilers, libraries and developer tools to help programmers accelerate their applications.

<span class="mw-page-title-main">Kerkythea</span> Standalone rendering system

Kerkythea is a standalone rendering system that supports raytracing and Metropolis light transport, uses physically accurate materials and lighting, and is distributed as freeware. Currently, the program can be integrated with any software that can export files in obj and 3ds formats, including 3ds Max, Blender, LightWave 3D, SketchUp, Silo and Wings3D.

3D computer graphics software refers to packages used to create 3D computer-generated imagery.

<span class="mw-page-title-main">OptiX</span> Nvidia ray tracing API using CUDA to compute on GPUs

Nvidia OptiX is a ray tracing API that was first developed around 2009. The computations are offloaded to the GPUs through either the low-level or the high-level API introduced with CUDA. CUDA is only available for Nvidia's graphics products. Nvidia OptiX is part of Nvidia GameWorks. OptiX is a high-level, or "to-the-algorithm" API, meaning that it is designed to encapsulate the entire algorithm of which ray tracing is a part, not just the ray tracing itself. This is meant to allow the OptiX engine to execute the larger algorithm with great flexibility without application-side changes.

RenderScript is a deprecated component of the Android operating system for mobile devices that offers an API for acceleration that takes advantage of heterogeneous hardware. It allows developers to increase the performance of their applications at the cost of writing more complex (lower-level) code.

<span class="mw-page-title-main">Three.js</span> JavaScript library for 3D graphics

Three.js is a cross-browser JavaScript library and application programming interface (API) used to create and display animated 3D computer graphics in a web browser using WebGL. The source code is hosted in a repository on GitHub.

Stage3D is an Adobe Flash Player API for rendering interactive 3D graphics with GPU-acceleration, within Flash games and applications. Flash Player or AIR applications written in ActionScript 3 may use Stage3D to render 3D graphics, and such applications run natively on Windows, Mac OS X, Linux, Apple iOS and Google Android. Stage3D is similar in purpose and design to WebGL.

This is a glossary of terms relating to computer graphics.

References

  1. 1 2 "Authors". LuxRender. Archived from the original on 2011-03-01. Retrieved 2008-06-30.
  2. "LuxCoreRender v2.6". GitHub . 2021-12-25. Retrieved 2021-12-27.
  3. "LuxCoreRender team releases LuxCoreRender 2.2". BlenderNation. 2019-10-02. Retrieved 2020-03-11.
  4. "LuxCore API – LuxCoreRender" . Retrieved 2020-03-27.
  5. "Exporter Status - LuxRender Wiki". 2016-04-19. Archived from the original on 2016-04-19. Retrieved 2020-03-27.
  6. "LuxRender - 3DS Max". 2018-04-14. Archived from the original on 2018-04-14. Retrieved 2020-03-27.
  7. "Download – LuxCoreRender" . Retrieved 2020-03-27.
  8. "Luxrender Manual - LuxRender Wiki". Archived from the original on 2011-02-11. Retrieved 2012-06-20.
  9. "LuxRender Light groups - LuxRender Wiki". 2016-02-15. Archived from the original on 2016-02-15. Retrieved 2020-03-27.
  10. 1 2 "LuxCoreRender Light Groups - LuxCoreRender Wiki". wiki.luxcorerender.org. Retrieved 2020-03-27.
  11. 1 2 "Features". LuxRender. Archived from the original on 2011-03-09. Retrieved 2008-06-30.
  12. "LuxRender 0.5 released". BlenderNation. 2008-06-30. Retrieved 2008-06-30.
  13. "Luxrender and OpenCL - LuxRender Wiki". 2018-04-13. Archived from the original on 2018-04-13. Retrieved 2020-03-27.
  14. "Re: Spectral rendering and color management questions". forums.luxcorerender.org. 2018-06-03. Retrieved 2024-06-25.
  15. "Re: Spectral rendering and color management questions". forums.luxcorerender.org. 2018-06-04. Retrieved 2024-06-25.
  16. "Incorrect color spectrum". github.com/LuxCoreRender/LuxCore/issues/262. 2019-11-14. Retrieved 2024-06-25.
  17. "New Features in v2.5 – LuxCoreRender".
  18. "LuxCoreRender Release Notes v2.4 - LuxCoreRender Wiki". wiki.luxcorerender.org. Retrieved 2020-07-27.
  19. "LuxCoreRender Release Notes - LuxCoreRender Wiki". wiki.luxcorerender.org. Retrieved 2020-03-27.
  20. "LuxCoreRender Release Notes v2.0 - LuxCoreRender Wiki". wiki.luxcorerender.org. Retrieved 2020-03-27.
  21. "LuxCoreRender Release Notes v2.1 - LuxCoreRender Wiki". wiki.luxcorerender.org. Retrieved 2020-03-27.
  22. "Direct Light Sampling Cache (aka Light cache part I) - LuxCoreRender Forums". forums.luxcorerender.org. Retrieved 2020-03-27.
  23. 1 2 "LuxCoreRender Release Notes v2.2 - LuxCoreRender Wiki". wiki.luxcorerender.org. Retrieved 2020-03-27.
  24. "PhotonGI cache - LuxCoreRender Forums". forums.luxcorerender.org. Retrieved 2020-03-27.
  25. "OpenImageDenoise - LuxCoreRender Forums". forums.luxcorerender.org. Retrieved 2020-03-27.
  26. 1 2 3 "LuxCoreRender v2.3 released - LuxCoreRender Forums". forums.luxcorerender.org. Retrieved 2020-03-29.
  27. "LuxCoreRender Materials - LuxCoreRender Wiki". wiki.luxcorerender.org. Retrieved 2020-03-27.
  28. "New in 1.0 - LuxRender Wiki". 2016-04-19. Archived from the original on 2016-04-19. Retrieved 2020-03-27.
  29. "SPPM - LuxRender Wiki". 2016-05-02. Archived from the original on 2016-05-02. Retrieved 2020-03-27.
  30. "New in 0-8 - LuxRender Wiki". 2016-05-04. Archived from the original on 2016-05-04. Retrieved 2020-03-27.
  31. "GPU - LuxRender Wiki". 1 July 2014. Archived from the original on 25 October 2011. Retrieved 9 June 2011.