LuxCoreRender

LuxCoreRender

Luxrender logo 128px.png
Basisdaten

EntwicklerTerrence Vergauwen, Jean-Francois Romang, David Bucciarelli, Jean-Philippe Grimaldi, Ricardo Lipas Augusto, Asbjorn Heid und andere[1]
Erscheinungsjahr24. Juni 2008
Aktuelle Version2.5[2]
(10. April 2021)
BetriebssystemWindows, Linux, Mac OS X
ProgrammierspracheC++
KategorieComputergrafik OpenCL
LizenzApache-Lizenz (Freie Software)
luxcorerender.org

LuxCoreRender, früher LuxRender, ist eine freie Renderengine, die physikalisch korrekte Bilder erstellen kann. Es existieren Exporter für Blender, Cinema 4D, Softimage bzw. XSI und Maya. Es wird als freie Software unter Version 2 der Apache-Lizenz verbreitet.

Überblick

LuxCoreRender ist ein alleinstehender 3D-Renderer und bringt daher nicht die Möglichkeit mit, Szenen im Programm selbst zu erstellen. Zu rendernde Inhalte werden mit anderen 3D-Grafikprogrammen erstellt und dann mit einem der verfügbaren Exporter in das LuxRender-Format umgewandelt.

Entstehung

LuxCoreRender gründet sich auf PBRT, einem physikbasierten Raytracing-Programm. Trotz seiner großen Fähigkeiten und guten Struktur ist PBRT auf akademischen Einsatz ausgerichtet und daher nicht leicht für die Erstellung digitaler Kunst zugänglich. Da PBRT unter der GPL lizenziert ist, war es möglich, ein eigenes Projekt mit dem Code von PBRT als Ausgangsbasis zu starten. Mit dem Segen der ursprünglichen Autoren unternahm eine kleine Gruppe von Programmierern im September 2007 diesen Schritt. Das neue Programm wurde LuxRender genannt und sollte für den künstlerischen Gebrauch geschrieben sein. Seit seiner Anfangsphase hat es das Interesse verschiedener Programmierer weltweit auf sich gezogen.

Im Sommer wurden die Ziele für eine Version 2.0 beschlossen: Die bisherige in C geschriebene API sollte durch eine neue C++ und Python API ersetzt werden, die den Namen LuxCore erhielt. Im Winter 2017 wurde die neue Softwareversion LuxCoreRender v2.0 definiert als LuxCore API basierte render Software. Durch die Neuprogrammierung wurde auch ein Lizenzwechsel von GPL zur Apache-Lizenz möglich.[3]

Mit der neuen LuxCoreRender API 2.0 für C++ und Python wurden einige Verbesserungen vorgenommen, die unter anderem zu einer bis zu zehnfach schnelleren Bildberechnung führen sollen. So ermöglicht LuxCore die Nutzung von OpenCL zur gleichzeitigen Nutzung auch mehrerer Grafikprozessoren und Prozessorkerne.[4]

In Version 2.4 wird neu CUDA ab Level 10 für aktuelle Nvidia Grafikkarten voll unterstützt.[5]

In Version 2.5 wird als Höhepunkt Nvidia Optix für RTX-Karten unterstützt.[6]

Funktionalität

Einsatz von Lichtgruppen zur Komposition des gewünschten Ergebnisses

Einige der Merkmale von LuxRender sind:[7]

  • Biased und unbiased rendering: Benutzer können zwischen physikalischer Genauigkeit (unbiased) und Rendergeschwindigkeit (biased) wählen.
  • Unterstützung des vollen Lichtspektrums: Anstatt des RGB-Farbraums wird intern mit Wellenlängen gerechnet.
  • Hierarchisches prozedurales und bildbasiertes Texturensystem, in dem beide Texturtypen auf vielfältige Weise kombiniert werden können, um komplexe Materialien zu erstellen.
  • Subdivision Surfaces und Displacement Mapping: Ausgehend von prozeduralen oder Bildtexturen können Oberflächen verändert bzw. verfeinert werden.
  • Volumenstreuung (subsurface scattering): ermöglicht die Darstellung transluzenter Materialien, wie viele Kunststoffe, organische Materialien und insbesondere menschliche Haut.
  • Shadowcatcher: eine Option, mit der ein Material einen Schatten empfangen kann, ansonsten aber transparent und unsichtbar bleibt. Diese Methode wird genutzt, um eine glaubwürdige Integration gerenderter Objekte in Fotografien zu ermöglichen
  • Netzwerk-Rendering: Die Renderzeit kann durch Parallelnutzung verschiedener Computer verringert werden.
  • Bewegungs- und Tiefenunschärfe
  • Elementare Compositing-Funktionen. Die sogenannten image pipeline ist plugin-basiert und somit prinzipiell erweiterbar durch extern programmierte Effekte.
  • Drei verschiedene Kameratypen: Perspektivisch, Orthographisch, und eine als environment camera bezeichnete Projektion, mit der 360° Kugelpanoramen erzeugt werden können.
  • HDR-Ausgabe: Renderergebnisse können in verschiedenen Dateiformaten gespeichert werden, darunter .png, .tga und .exr.
  • Lichtgruppen (Light Groups) können genutzt werden um die Beleuchtung durch einzelne oder zusammengefasste Lichtquellen zu ändern. Damit ist es möglich bereits gerenderte Bilder nachträglich so zu modifizieren, als wenn sie unter anderen Lichtbedingungen entstanden wären. Lichtquellen können dabei sowohl im Farbton als auch in der Intensität, mit der sie zum Gesamtergebnis beitragen, geändert werden.

Weblinks

Einzelnachweise

  1. LuxRender Autoren. Abgerufen am 15. Oktober 2009.
  2. LuxCoreRender v2.1 released. Abgerufen am 7. März 2019.
  3. Luxcore API. In: luxcorerender.org. LuxCoreRender project, abgerufen am 10. Mai 2018 (englisch).
  4. heterogeneus computing. In: luxcorerender.org. LuxCoreRender project, abgerufen am 10. Mai 2018 (englisch).
  5. https://luxcorerender.org/new-features-in-v2-4/
  6. https://www.phoronix.com/scan.php?page=news_item&px=LuxCoreRender-2.5-Released
  7. LuxCoreRender User's Manual. In: luxcorerender.org. LuxCoreRender project, abgerufen am 10. Mai 2018.

Auf dieser Seite verwendete Medien

LuxRender-Schulraum.png
Autor/Urheber: Niabot, Lizenz: CC BY-SA 3.0
Renderbild des Innenraumes einer Schule mit LuxRender. Modelliert in Blender. Die Berechnung nutzte Global Illumination und leichten volumetrischen Nebel. Zur Berechnung waren 20.000 Sample pro Pixel notwendig um das Rauschen weitgehend zu minimieren. Berechnungsdauer auf einem Dual-Quadcore wäre wohl etwa eine Woche gewesen. Dank an alle die am verteilten Rechnen teilgenommen haben (Asmodai, Datahell, Don-kun, Rbrausse, StG1990, ...).
LuxRender-spectral.png
Autor/Urheber: Niabot, Lizenz: CC BY-SA 3.0
Eine Rederingszene bei der beim hereinzoomen die Effekte des spektralen Berechnungen in LuxRender sichtbar werden. Dabei wird versucht ein Teil (Beugung am Gitter) der Diffraktions-Effekte nachzubilden.
Aerosol spray luxrender lightgroups.jpg
Autor/Urheber: Niabot, Lizenz: CC BY-SA 3.0
Ein Rendering mit drei verschiedenen Lichtgruppen (zwei Flächenlichtquellen und einem die Szene umschließenden Licht [Skylamp]) in LuxRender. Das Verfahren ermöglicht es die Lichtbedingungen nachträglich anzupassen indem die Lichter unterschiedlich kombiniert werden. Dabei können die Lichter sowohl in ihrer Intesität als auch in der Farbe getrennt voneinander geändert werden, ohne die Szene erneut berechnen zu müssen.
Luxrender-Reihe-animiert.png
Autor/Urheber: Niabot, Lizenz: CC BY-SA 3.0
Eine Entwicklungsreihe eines Raytracing-Bildes in Luxrender (version 0.6). Modelliert und exportiert mit Blender (version 2.49). Luxrender basiert auf einem physikalischen Model, bei dem Lichtstrahlen unterschiedlicher Wellenlänge entsprechend einem Monte-Carlo-Algorithmus in der Szene verteilt und verfolgt werden. Dies erlaubt es sowohl Kaustiken (Schattenaufhellung hinter dem Glas) als auch Lichtbrechungen in Abhängigkeit von der Wellenlänge (Farbverläufe im Glas) korrekt zu berechnen. Dazu werden die Intensitäten mehrerer Strahlen eines Pixels letztlich summiert. Entsprechend dieser Vorgehensweise entstehen zunächst Bilder mit starkem Bildrauschen, was sich mit zunehmender Samplezahl reduziert. In diesem Fall kamen die Parameter für gewöhnliches Glas und Kupfer für den Stab zum Einsatz. Die Renderingzeit für das letzte Ergebnis betrug etwa 16 Stunden.
Luxrender logo 128px.png
Autor/Urheber: Andrzej Ambroż (jendrzych), Lizenz: GPLv3
Logo for LuxRender (free software rendering system for physically correct, unbiased image synthesis) in 128x128 resolution