LuxCore API

From LuxCoreRender Wiki
Jump to navigation Jump to search

Introduction

The plan for LuxRender v2.0 has been defined during the 2013 summer and one of the major components is a new LuxRender C++ and Python API. The old C API suffers of many limitations when it comes to modern features like dynamic scene editing and interactive rendering so it has been 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 (aka SmallLuxGPU) in the past (in terms of dynamic camera, textures, materials, objects, etc. editing) and more. The original forum discussion about this topic can be found here

Not only a new API

LuxCoreRender v2.0 is not just a new API but also a completely new code base re-written from scratch. Aside from all new features, LuxCore API has been measured to be up to 10x faster then the old LuxRender on the same hardware while rendering the same scene. LuxCore API supports also GPU rendering with OpenCL.

Apache Licence v2.0

All the code included in LuxCore repository has been released under a new license: Apache Licence v2.0. It is a very liberal license allowing the use of the code inside commercial products too. Original LuxRender v1.x code was released under GPL license.

PyLuxCore: the Python API

Python has become the de facto standard language for scripting in computer graphics. It has been recently adopted by AutoDesk 3Ds Max too and it was already in use by Blender, Maya, MODO, etc. For this reason the Python bindings of the API will be a first class passenger like C++ and they will be developed at the same time of the C++ API. However nothing stops anyone from writing Ruby, Java, etc. API bindings.

Examples and Demos

TODO

SDK

LuxCoreAPI SDK is available here.

Reference Manuals

The API reference manual is available here. The SDL (Scene Description Language) reference manual is available here.