Kurz gesagt
- Mit dem V-Ray App SDK können Sie eine V-Ray-Szene erstellen oder über eine .vrscene-Datei laden und anschließend rendern.
- Der Interactive-Modus eignet sich für schnelle Vorschauen und zum Testen von Szeneneinstellungen, der Production-Modus für das finale Bild.
- Der Renderprozess lässt sich mit start() im Hintergrund starten; währenddessen können Zwischenbilder abgerufen werden.
- Die Dokumentation nennt weder eine bestimmte Softwareversion noch Lizenzpreise für das App SDK.
Das V-Ray App SDK bietet eine API, mit der sich die V-Ray-Engine innerhalb einer Anwendung oder in einem separaten Prozess zum Rendern verwenden und steuern lässt. Laut der offiziellen Dokumentation von Chaos kann die Szene dabei mithilfe von V-Ray-Plugins im Speicher erstellt oder aus einer .vrscene-Datei geladen werden. Dieser Leitfaden erläutert den grundlegenden Renderzyklus des App SDK und zeigt, welcher Render-Modus sich für die verschiedenen Phasen der Szenenarbeit eignet. Da in der Dokumentation keine gültige Softwareversion für das App SDK angegeben ist, orientiert sich die Beschreibung am dort dargestellten allgemeinen Workflow.
1. Umgebung vorbereiten
Speicherort der App-SDK-Dateien festlegen. Laut Dokumentation muss die Umgebungsvariable
VRAY_SDKdefiniert sein, damit das SDK verwendet werden kann. Bei Verwendung der Python-Bindings muss der Ordnerpythonzu den Python-Modulsuchpfaden hinzugefügt werden; die Dokumentation zeigt dies anhand vonPYTHONPATH. So kann die Anwendung die SDK-Komponenten finden.Das vorbereitete Umgebungs-Skript ausführen oder eine Alternative wählen. Für Windows zeigt die Dokumentation die Verwendung von
setenv.bat, für Linux und macOS den Befehlsource setenv.sh. Diese Skripte setzen die entsprechenden Umgebungsvariablen. Liegen die SDK-Binärdateien nicht in der/bin-Ordnerstruktur des Produkts, kann laut Dokumentation die VariableVRAY_APPSDK_BINverwendet werden. Wenn keine Umgebungsvariablen genutzt werden können, lässt sich der Suchpfad auch über die API festlegen.
In diesem Schritt sollte geprüft werden, ob die Ordnerstruktur auf dem Computer mit dem Speicherort übereinstimmt, an dem die Anwendung nach der SDK-Bibliothek sucht. Die Dokumentation listet weder eine bestimmte Betriebssystemkonfiguration noch Hardwareanforderungen auf. Für Einzelheiten zur Einrichtung ist daher die API-Dokumentation der jeweils verwendeten Bindings maßgeblich.
2. Szene erstellen oder laden
Den Render-Controller initialisieren. Die Klasse
VRayRendererim App SDK startet und steuert den Renderprozess. Die Szene kann im Speicher aufgebaut werden, indem V-Ray-Plugin-Objekte erstellt und deren Parameter eingestellt werden. Alternativ lässt sich eine.vrscene-Datei laden, das Szenenformat von V-Ray. Laut Dokumentation können beide Methoden auch kombiniert werden.
Welche Methode zur Szenenerstellung passt, hängt von der vorhandenen Produktionspipeline ab. Eine Anwendung kann beispielsweise eigene Szenendaten in V-Ray-Plugins umwandeln oder eine zuvor exportierte .vrscene-Datei öffnen. Das App SDK zwingt nicht zur Verwendung einer bestimmten Modellierungssoftware, sondern ermöglicht eine solche Integration mit der V-Ray-Render-Engine.
Nach dem Vorbereiten der Szene den Render-Modus wählen. Die Dokumentation beschreibt zwei grundlegende Optionen:
| Render-Modus | In der Dokumentation genannter Einsatz | Rolle im Workflow |
|---|---|---|
| Interactive | Schnelle Bildvorschau und schrittweise Verbesserung der Bildqualität | Feedback beim Testen von Szeneninhalten oder Einstellungen erhalten |
| Production | Ein finales Bild aus einer sorgfältig konfigurierten Szene erstellen; das Rendern kann einige Zeit dauern | Das endgültige Bild erzeugen |
Beide Modi unterstützen CPU- und GPU-Rendering. Laut Dokumentation sind CUDA und OptiX für NVIDIA sowie Metal und MetalRT ausschließlich für Apple verfügbar. Der Render-Typ wird über die Eigenschaft renderMode des VRayRenderer-Objekts ausgewählt. Als Standardmodus der Klasse nennt die Dokumentation Interactive (CPU). Der passende Modus sollte daher abhängig vom Einsatzzweck der Anwendung und der verfügbaren Systemunterstützung ausdrücklich festgelegt werden.
3. Render starten und Ergebnis abrufen
Den Renderprozess starten. Die Methode
start()führt den Renderprozess in einem separaten Thread aus und kehrt zurück, ohne auf dessen Abschluss zu warten. So kann die Anwendung während des Renderns andere Aufgaben erledigen oder bereitstehen, um ein Fortschrittsbild abzurufen. Das Python-Beispiel in der Dokumentation lädt eine Szene, startet den Render, wartet auf dessen Ende und speichert das resultierende Bild als PNG:
import vray
with vray.VRayRenderer() as renderer:
renderer.load('./intro.vrscene')
renderer.start()
renderer.waitForRenderEnd(6000)
image = renderer.getImage()
image.save('intro.png')Der Wert 6000 im Codebeispiel ist ein Beispielargument, das laut Dokumentation an waitForRenderEnd übergeben wird. Er wird nicht als empfohlene oder für jede Szene erforderliche Dauer angegeben. Das Warten sollte im Produktionscode entsprechend der Dokumentation der verwendeten API-Bindings umgesetzt werden.
Das Bild auch während des Renderns prüfen und Ressourcen schließen. Laut App-SDK-Dokumentation lassen sich Bilddaten bereits vor Abschluss des Renderns abrufen. Das kann besonders im Interactive-Modus hilfreich sein, um eine Vorschau in der Anwendungsoberfläche anzuzeigen oder den Prozess zu überwachen. Als abgeschlossen gilt das finale Bild laut Dokumentation, wenn der Renderer den Status
IDLE_DONEerreicht. Nach Abschluss der Arbeit sollte der Renderer geschlossen werden; im Python-Beispiel übernimmt derwith-Block diesen Lebenszyklus.
Die Dokumentation beschreibt außerdem, wie sich Ereignisse bei Statusänderungen des Renderprozesses, bei V-Ray-Meldungen sowie bei Aufgaben- und Fortschrittsmeldungen überwachen lassen. Solche Benachrichtigungen helfen einer Integration dabei, das Verhalten der Anwendung beim Laden, Rendern und Abschließen zu steuern. Die Callbacks werden jedoch in einem separaten Thread ausgeführt; langsamer Anwendungscode kann die Ausführung anderer Callbacks verzögern.
Was ändert sich für Architektur- und Archviz-Workflows?
Das App SDK ist für Teams interessant, die wiederkehrende Render-Schritte in eine Anwendung integrieren oder eine V-Ray-Szene aus einem anderen Prozess heraus steuern möchten. Architekturbüros und Archviz-Studios können den Interactive-Modus zum Testen von Szenen und Inhalten und den Production-Modus für die finale Bildausgabe nutzen. So lässt sich zwischen Vorschau und finalem Output über denselben Renderer wechseln.
Die Quellen enthalten allerdings weder eine Kompatibilitätsmatrix für bestimmte 3D-Programme noch Angaben zu Hardwareanforderungen, Lizenzbedingungen oder Preisen. Bei der Wahl zwischen CPU und GPU lassen sich daher nur die in der Dokumentation genannten Render-Optionen und die Plattformbeschränkungen der jeweiligen GPU-Technologien berücksichtigen; Rückschlüsse auf die Performance sind nicht möglich. Vor der Integration in eine Anwendung sollten die API-Dokumentation der verwendeten Sprach-Bindings und die Ordnerstruktur für die SDK-Bibliotheken geprüft werden.
Häufige Fehler
Wird
VRAY_SDKoder kein geeigneter alternativer Pfad gesetzt, bevor die SDK-Bindings initialisiert werden, können die Bibliotheken möglicherweise nicht gefunden werden.Der Aufruf von
start()bedeutet nicht, dass der Render abgeschlossen ist. Die Dokumentation beschreibt die Methode als asynchronen Aufruf, der zurückkehrt, ohne zu warten.Änderungen an der Szene oder am Renderer während des Renderns im Status
PREPARINGkönnen abgewiesen werden. Laut Dokumentation gilt dieser Hinweis, wenn stattstartSync()die Methodestart()verwendet wird.Langsame Callbacks für V-Ray-Ereignisse können die Ausführung anderer Callbacks verzögern. Daher sollte geprüft werden, welche Arbeit die Ereignis-Handler ausführen.
Das Warteargument aus dem Beispielcode als feste Einstellung für jedes Projekt zu verwenden, geht über die Angaben in der Dokumentation hinaus.
Die Dokumentation erklärt nicht, wie bestimmte Render-Einstellungen in der Benutzeroberfläche auszuwählen sind, sondern vermittelt die Grundlagen für das Laden von Szenen und die Render-Steuerung über das App SDK. Für Details zu den Einstellungen innerhalb der Anwendung sollte die API-Referenz der jeweiligen Bindings herangezogen werden.
Quellen
2 QuellenQuelltexte werden nicht neu veröffentlicht; kurze Zitate sind gekennzeichnet, der Rest ist eigene Zusammenfassung und Einordnung.
Für Architekturbüros und Visualisierungsstudios in der Türkei liegt der praktische Nutzen des App SDK darin, den V-Ray-Renderprozess in eine bestehende Anwendung oder einen Automatisierungs-Workflow einzubinden. Da sich Interactive- und Production-Modus über denselben Renderer wechseln lassen, können Vorschau und finale Bildausgabe gesteuert werden, ohne dafür getrennte Werkzeuge einzusetzen.
Die Dokumentation enthält jedoch keine Angaben zu Preisen, Lizenzbedingungen, Hardwareanforderungen oder der Kompatibilität mit bestimmten Programmen. Vor einer Investitionsentscheidung sollten deshalb die Einrichtung des SDK und der Funktionsumfang der verwendeten Bindings geklärt werden. Zu den häufigsten betrieblichen Risiken scheinen falsch konfigurierte Umgebungsvariablen und die Annahme zu gehören, dass ein asynchroner Render bereits abgeschlossen ist.
Häufige Fragen
Wofür wird das V-Ray App SDK verwendet?
Es dient dazu, Renderprozesse mit der V-Ray-Engine innerhalb einer Anwendung oder in einem separaten Prozess zu starten und zu steuern. Die Szene kann mit Plugins im Speicher erstellt oder aus einer `.vrscene`-Datei geladen werden.
Was ist der Unterschied zwischen den Modi Interactive und Production im V-Ray App SDK?
Laut Dokumentation eignet sich der Interactive-Modus für schnelle Vorschauen und zum Testen von Einstellungen, der Production-Modus dagegen für das finale Bild aus einer sorgfältig konfigurierten Szene.
Welche GPU-Optionen unterstützt das V-Ray App SDK beim Rendern?
Laut Dokumentation sind CUDA und OptiX für NVIDIA-GPUs sowie Metal und MetalRT für Apple-GPUs verfügbar. Als Render-Modus kann CPU oder GPU ausgewählt werden.



