Ich arbeite nun schon seit einigen Monaten mit Blender und bin an die Grenzen der Render-Engine von Blender gekommen. Gerade bei meinem aktuellen Architektur-Projekt fallen einige Unstimmigkeiten im Renderergebnis vom internen Renderer von Blender auf, gerade bei Chrom, Glas und indirekter Beleuchtung. Es wurde also Zeit, sich auf einen neuen Exporter einzulassen. Nach einigen Versuchen, den yafaray 0.1.2 Exporter unter Blender 2.56a zum Laufen zu bringen, musste ich diesen Versuch abbrechen. Nun bin ich auf den LuxRender aufmerksam geworden, da dieser schon recht stabil die GPU-Integration (mit OpenCL/CUDA) unterstützt.
Direkter Vergleich beider Render-Exporte
Das Ergebnis sieht hier recht akzeptabel aus. Selbstverständlich gilt hier zu berücksichtigen, dass ich das Material für den Boden nicht auf “Receive Transparency” gesetzt habe. Aber man sieht deutlich, dass das Chrom des Gestells sehr künstlich wirkt.
Das sieht doch schon recht chic aus. Der Unterschied wird vor allem durch das korrekte Brechen des Lichtes deutlich.
Wer auf LuxRender umsteigen will, sollte nicht überrascht sein, dass das Rendern im Vergleich zum Blender-internen Renderer extrem lange dauert.
Unbedingt auf OpenCL Support umsteigen
LuxRender gibt es mittlerweile mit OpenCL Support. Falls der Rechner also über einen CUDA-fähigen Chipsatz verfügt, sollte darauf unbedingt zurückgegriffen werden. Hier die Schritte, wie ich es zum Laufen gebracht habe:
- Am besten holt man sich das neueste Build von Blender 2.56 auf www.graphicall.org mit einem schon integrierten LuxBlend-AddOn (wie z. B. dieses hier: http://www.graphicall.org/builds/builds/showbuild.php?action=show&id=1592).
- Jetzt sollte man zunächst überprüfen, ob die Treiber der Grafikkarte auf dem neuesten Stand sind und OpenCL nutzen, was jedoch z. B. bei Nvidia bei einem Treiber, der nach Herbst 2009 herausgekommen ist, Standard ist. Überprüfen kann man die Funktionalität mit den Tool “GPU Caps Viewer”.
- Ist OpenCL aktiv, dann holt euch schnell das neueste Build vom Luxrender 0.8 im LuxRender-Froum (http://www.luxrender.net/forum/viewforum.php?f=30) und kopiert dieses über die Version 0.7 drüber.
- In Blender solltet Ihr die Renderer-Engine auf LuxRender umstellen
- Nun mit den Materialien spielen und eine kleine Szene fertig machen.
- Bei den Render-Einstellungen findet man viele neue Optionen. Besonders wichtig ist hier, dass man auf “Hybrid (CPU+GPU)” umstellen sollte. Den Renderer habe ich auf “Extern” gestellt, weil die LuxRender-GUI komfortabel ist. Man sollte darauf achten, dass auch “Run Renderer” gecheckt ist.
- Sollte beim Rendern diese Fehlermeldung kommen
'The SurfaceIntegrator doesn't support HybridSamplerRenderer'
dann auf folgende Einstellungen umstellen (siehe Bild)
So sollte es klappen. Die Ergebnisse mit OpenCL sind erstaunlich. Ohne GPU-Beschleunigung hatte ich eine Render-Rate von 120kS/s – 140kS/s, und nun habe ich eine Rate von 630kS/s – 700kS/s. Das ist schon ein deutlicher Leistungszuwachs.
Hier noch Angaben zu meinem System: Sony Vaio VCPF12S1E / Intel i7 @ 1,73 GHz mit 8 Cores / Nvidia Gforce GT 330 M mit 6 Cores; OpenCL 1.0 CUDA 3.2.1 @1265 MHz





Hi,
danke für die ausführliche beschreibung… klappt wunderbar
Gern geschehen
Was meinst du mit “holt euch schnell das neueste Build vom Luxrender 0.8 im LuxRender-Froum (http://www.luxrender.net/forum/viewforum.php?f=30) und kopiert dieses über die Version 0.7 drüber.”
Wo Soll man das drüber kopieren?
Hey,
am einfachsten das offizielle Release von Luxrender herunterladen und installieren (dürfte derzeit noch 0.7 sein). Dann legt dir der Installer nämlich alle Pfade uns so weiter an. In den Luxrenderforen bekommst du dann die aktuellen Builds, die noch nicht “offiziell” released sind. Die ZIPs enthalten alle notwendigen Dateien, die du dann einfach über die Version 0.7 drüberkopierst…
Hilft dir das?
Jetzt klappt es
aber nur wenn ich “Open CL Plattform Index” auf 0 stelle Sonst hängt sich Luxrender auf.
Bringt das bei 0 dann überhaupt was?
Muss ich vieleicht NVidea SLI deaktievieren?
oder irgend was anderes?
Mmh, diese Option kenne ich gar nicht. Welche Version von pyLux verwendest du? (Blender – Einstellungen – AddOns)
Aber das hat nichts mit den Cores (Leistung zu tun). Im Hybrid siehts du in der Luxrender-GUI die Anzahl der genuttzen Threads. Bei mir funktioniert es übrigens nur mit dem externen Renderer, der sich gelegentlich auch aufhängt… not stable.
Bei Nvidia musst du nichts verstellen. Luxrender arbeitet über die CUDA-Schnittstelle, die bei Treibern am 2008 automatisch installliert ist. Aber wenn du CUDA nicht hättest, würde Luxrender mit einer fehlermeldung abbrechen.
Ich habe noch ein paar Probleme behoben
Inzwischen funktioniert alles super
Danke