LuxCoreRender
LuxCoreRender
| |
---|---|
Basisdaten
| |
Entwickler | Terrence Vergauwen, Jean-Francois Romang, David Bucciarelli, Jean-Philippe Grimaldi, Ricardo Lipas Augusto, Asbjorn Heid und andere[1] |
Erscheinungsjahr | 24. Juni 2008 |
Aktuelle Version | 1.6[2] (14. Mai 2016) |
Betriebssystem | Windows, Linux, Mac OS X |
Programmiersprache | C++ |
Kategorie | Computergrafik OpenCL |
Lizenz | GPL (Freie Software), APL 2 ab Codebase 2.0 mit Version 1.5+ |
www.luxrender.net |
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 3 der GNU General Public License (GPL) verbreitet.
Überblick
LuxRender 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[3] in das LuxRender-Format umgewandelt.
Entstehung
LuxRender 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.
Neuere Entwicklungen tendieren dazu OpenCL zu integrieren um die Hardware neuer Rechensysteme besser ausreizen zu können. Aufbauend auf der Idee hinter smallptGPU, einem Raytracer der vollständig in OpenCL implementiert ist, nutzen erste experimentelle Versionen von LuxRender ebenfalls OpenCL um die Berechnung der Kollisionen der „Strahlen“ mit der Geometrie zu beschleunigen. Von einer vollständigen Implementierung in OpenCL wurde bisher abgesehen, da der Code des Renderers zu komplex sei, um ihn auf der beschränkten Architektur hinter OpenCL lauffähig machen zu können. Dies hat aber durchaus auch den Vorteil, dass sowohl GPU als auch CPU zum Ergebnis beitragen können.[4]
Mit der neuen Luxrender API 2.0 für C++ und Python wurden einige Verbesserungen vorgenommen, um Luxrender 1.5+ an andere Programme ankoppeln zu können [5].
Der aktuelle Status kann im Wiki von Luxrender eingesehen werden [6].
Funktionalität
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.
- Netzwerk-Rendering: Die Renderzeit kann durch Parallelnutzung verschiedener Computer verringert werden.
- drei verschiedene Kameratypen
- 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.
-
Animation des Renderingprozesses, bei dem das Bild zunehmend verfeinert wird.
(Zum Betrachten auf das Bild klicken) -
Darstellung der spektralen Effekte, die entstehen, da LuxRender mit Wellenlängen anstatt des RGB-Farbraums rechnet.
-
Darstellung einer Szene, die mit globaler Beleuchtung und volumetrischen Nebel berechnet wurde.
Weblinks
Quellen
- ↑ LuxRender Autoren. Abgerufen am 15. Oktober 2009.
- ↑ LuxRender v1.6 release. Abgerufen am 14. Mai 2016.
- ↑ LuxRender Exporter. Abgerufen am 15. Oktober 2009.
- ↑ Luxrender and OpenCL. luxrender.net, 31. Januar 2010, abgerufen am 1. Februar 2010 (englisch).
- ↑ http://www.luxrender.net/forum/viewtopic.php?f=8&t=10628
- ↑ http://www.luxrender.net/wiki/Main_Page
- ↑ LuxRender Features. Abgerufen am 15. Oktober 2009.