Skip to content

shaoway/LuxCore

 
 

Repository files navigation

Shaoway's fork of LuxCoreRender

The HighLight of this fork

  1. The in source tree dependence libraries are deleted. Building this dep-libs by make deps.

    • Boost v1.80.0
    • Tbb 2020
    • Embree v3.13.4
    • OpenEXR v3.1.5
    • OpenColorIO v2.2.0
    • OpenImageIO v2.4.6.0
    • OpenImageDenoise v1.4.3
    • OpenVDB v10.0.0
  2. Revamp luxcoreui using new imgui and ImGuiFileDialog instead of NFD.

    • imgui v1.89.4
    • ImGuiFileDialog v0.6.5

    The new ImGuiFileDialog screenshot: Screenshot from 2023-03-22 15-44-32

  3. Using C++-17 and fix some issues.

How to build

Linux Only For Now

make dependencies and install into ../lib/. Set BUILD_STATIC=ON will build libraries as static.

make deps BUILD_STATIC=[ON/OFF]

build the LuxCoreRender. BUILD_STATIC=ON will make LuxCoreRender using static libs.

make BUILD_TYPE=[Debug/Release] BUILD_STATIC=[ON/OFF]

see GNUmakefile.

LuxCoreRender

LuxCoreRender alt text

LuxCoreRender is a physically correct, unbiased rendering engine. It is built on physically based equations that model the transportation of light. This allows it to accurately capture a wide range of phenomena which most other rendering programs are simply unable to reproduce.

You can find more information about at https://www.luxcorerender.org

LuxCore library

LuxCore is the new LuxCoreRender v2.x C++ and Python API. It is released under Apache Public License v2.0 and can be freely used in open source and commercial applications.

You can find more information about the API at https://wiki.luxcorerender.org/LuxCore_API

SLG library

SLG is an implementation of LuxCore API and it can be safely ignored if you are not interested in internal LuxCoreRender development.

LuxRays library

LuxRays is the part of LuxCoreRender dedicated to accelerate the ray intersection process by using CPUs and/or GPUs. LuxRays provides an device abstraction layer over various API like OpenCL, CUDA, CUDA+Optix, etc.

If you don't have any specific interest in the ray/triangle intersection topic or internal LuxCoreRender development, you can safely ignore this library.

LuxCoreUI

This is the most complete example of LuxCore API usage and it is available in the samples/luxcoreui directory.

To see how it works, just run luxcoreui from the root directory:

./bin/luxcoreui scenes/cornell/cornell.cfg

LuxCoreConsole

This is a simple example of a command line renderer written using LuxCore API and it is available in the samples/luxcoreconsole directory. Just run luxcoreconsole from the root directory with:

./bin/luxcoreconsole -D batch.halttime 10 scenes/cornell/cornell.cfg

LuxCore API SDK

If you have downloaded the LuxCore API SDK, you can compile the examples with:

cmake .
make

PyLuxCoreTools

PyLuxCoreTools are a set of command line tools available in the LuxCoreRender stand-alone version. They includes network rendering, film merging, command line rendering and more.

NOTE: pyluxcoretool is a stand-alone, self-containing executable on Windows. On Linux, you have to install Python and PySide before running the tool. PySide can be usually installed with:

sudo pip3 install PySide
# or
sudo pip install PySide

You can skip installing PySide if you use only the command-line tools available in pyluxcoretool. You can then run pyluxcoretool with:

python3 pyluxcoretools.zip
# or
python pyluxcoretools.zip

Authors

See AUTHORS.txt file.

Credits

A special thanks goes to:

License

This software is released under Apache License Version 2.0 (see COPYING.txt file).

About

LuxCore source repository

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 87.0%
  • C 9.0%
  • Python 1.8%
  • CMake 1.3%
  • Yacc 0.6%
  • Shell 0.3%