Dernières actualités
Guide pour enregistrer une vue et capturer la bonne image dans Rhino 8Blender Grease Pencil Line Art : créer des lignes dans des scènes architecturalesComment écrire une extension Python pour Blender ? Créer son premier opérateurAnalyser des vidéos d’architecture avec l’API Gemini : guide pas à pasTripo P2.0 et Astra intègrent la création d’assets 3D au workflow BlenderDes rendus plus propres dans Blender Cycles : échantillonnage et débruitageMSI XpertStation WS300 testé : la puissance du GB300 sur un poste de travailConcours de conception et de supervision des travaux du Limassol Arts Centre annoncéGuide du ray tracing, de Fast GI et des matériaux dans Blender EEVEEPrix européen du logement collectif : deux projets parisiens récompensés
Conseils et guidesV-RayV-Ray App SDK

Guide V-Ray App SDK : charger une scène et effectuer un rendu avec Python

La documentation officielle de Chaos sur V-Ray App SDK explique comment piloter le rendu avec différents langages de programmation. Ce guide présente les étapes essentielles, de l’installation au chargement d’une scène en Python, au rendu et à l’enregistrement du résultat.

Studio d’architecture contemporain et visualisation d’intérieur illustrant un flux de travail de renduImage IA
Image d’illustration générée par IA.Image : 3dsınıfı / FCA AI

En bref

  1. V-Ray App SDK fournit une API permettant de lancer et de contrôler le rendu V-Ray avec C++, C#, Python et Node.js.
  2. Le SDK peut rechercher les bibliothèques via VRAY_SDK ; selon le cas, VRAY_APPSDK_BIN ou un chemin de recherche défini à l’exécution peuvent également être utilisés.
  3. La documentation indique que le mode de rendu par défaut est Interactive (CPU) ; le mode Production permet d’obtenir l’image finale d’une scène configurée.
  4. Il est possible de récupérer des images intermédiaires pendant le rendu ; l’image finale est disponible lorsque le renderer atteint l’état IDLE_DONE.

V-Ray App SDK fournit une API destinée aux développeurs qui souhaitent intégrer le moteur de rendu V-Ray dans une application. La documentation officielle indique que le rendu peut être exécuté dans le processus de l’application principale ou en dehors de celui-ci, en recourant au rendu distribué. Disponible avec des bindings C++, C#, Python et Node.js, le SDK couvre le chargement des scènes, le choix des modes de rendu et le suivi de l’état du processus. Le guide ci-dessous s’appuie sur l’exemple Python de la documentation ; la source ne précisant pas de version du SDK, les étapes ne sont liées à aucun numéro de version.

1. Configurez les chemins des fichiers du SDK et du module Python

Pour que V-Ray App SDK puisse trouver les bibliothèques nécessaires, la documentation recommande en premier lieu la variable d’environnement VRAY_SDK. Lorsque cette variable est définie, le binding du SDK recherche la bibliothèque V-Ray et ses dépendances dans VRAY_SDK/bin. Si le dossier /bin n’existe pas dans l’arborescence du produit, il est possible d’indiquer directement le répertoire des fichiers binaires avec VRAY_APPSDK_BIN. Lorsque les variables d’environnement ne sont pas disponibles, le chemin de recherche peut aussi être défini à l’exécution.

Pour que le binding Python fonctionne, le dossier python du SDK doit être ajouté aux chemins de recherche des modules Python. La documentation indique qu’il est possible de le faire via PYTHONPATH. Le script setenv de Chaos peut définir les variables d’environnement nécessaires : utilisez setenv.bat sous Windows et source setenv.sh sous Linux et MacOS. Si vous devez indiquer le répertoire des bibliothèques à l’exécution en Python, la méthode vray.setSDKLibraryPath(bin_folder) est disponible.

Vérifiez séparément ces deux exigences de chemin : permettre à Python de trouver le module vray n’est pas la même chose que localiser les fichiers binaires V-Ray. Si vous utilisez VRAY_SDK, vérifiez l’emplacement /bin indiqué dans la documentation ; si l’arborescence diffère, envisagez VRAY_APPSDK_BIN ou la définition du chemin de recherche à l’exécution.

2. Chargez la scène et lancez le rendu

Le flux de travail de base commence par la création d’un objet VRayRenderer configurable. La scène peut être chargée depuis un fichier .vrscene, le format de scène natif de V-Ray, ou préparée en mémoire en convertissant la définition de scène de l’application en plugins V-Ray. Le rendu est ensuite lancé avec start() ; l’image est récupérée et enregistrée dans un fichier, puis les ressources sont libérées.

L’exemple Python ci-dessous illustre le flux de travail de base présenté dans la documentation :

python
import vray

with vray.VRayRenderer() as renderer:
    renderer.load('./intro.vrscene')
    renderer.start()
    renderer.waitForRenderEnd(6000)
    image = renderer.getImage()
    image.save('intro.png')

start() est un appel non bloquant ; le moteur V-Ray effectue le rendu dans un thread distinct. Dans l’exemple, waitForRenderEnd(6000) est l’appel qui attend la fin du rendu. La valeur 6000 provient de l’exemple de la documentation ; elle ne correspond pas à une durée de rendu recommandée ou garantie pour chaque scène. getImage() récupère les données de l’image à cet instant, et save() enregistre ici cette image dans un fichier PNG. Le flux de travail général décrit dans la documentation prévoit également la fermeture des ressources du renderer une fois le processus terminé.

3. Choisissez un mode pour l’aperçu et le rendu final

V-Ray App SDK propose deux modes de rendu : Interactive et Production. Interactive permet d’obtenir rapidement un aperçu et d’améliorer progressivement la qualité lors des tests de réglages de scène. Production convient pour obtenir l’image finale d’une scène dont la configuration est terminée. La documentation précise que le mode par défaut de la classe VRayRenderer est Interactive (CPU).

RéglageValeur recommandéeEffet
Mode de renduInteractive pour les tests et les aperçusFournit un retour visuel rapide et une amélioration progressive de la qualité.
Mode de renduProduction pour l’image finalePermet d’obtenir le résultat final de la scène configurée.
Type de renduCPU ou mode GPU pris en chargePermet d’effectuer le rendu avec la puissance de calcul du CPU ou de la carte graphique.

Les deux modes peuvent fonctionner sur CPU ou GPU. Pour le GPU, la documentation répertorie CUDA et OptiX sur les systèmes NVIDIA, ainsi que Metal et MetalRT sur les systèmes Apple. Le choix dépend du matériel et de l’environnement d’exécution disponibles ; la source ne recommande pas une option unique pour toutes les scènes.

Le mode de rendu peut être modifié via la propriété renderMode de l’objet VRayRenderer. La documentation précise qu’il n’est pas nécessaire de recharger la scène ni de recréer le renderer pour passer d’un rendu à l’autre. Il est ainsi possible de vérifier d’abord la même scène en mode Interactive, puis de passer en mode Production.

4. Suivez la progression du rendu et identifiez les problèmes

L’application peut suivre le démarrage, la fin du rendu ou son interruption en raison d’une erreur en écoutant l’événement de changement d’état du renderer. L’image finale est disponible à l’état IDLE_DONE ; il est également possible de récupérer l’image produite jusque-là pendant le rendu.

Avec l’appel asynchrone start(), l’état PREPARING est important. La documentation indique qu’il ne faut pas modifier la scène ou le renderer avant la fin de cette étape ; ces tentatives seront rejetées. Les messages générés par V-Ray lors du chargement de la scène et du rendu peuvent également être interceptés via l’événement de log. Celui-ci transmet le texte du message ainsi que son niveau : information, avertissement, erreur ou débogage.

Les callbacks d’événement s’exécutent dans un thread distinct de celui du rendu. Cette organisation vise à éviter que leur exécution alourdisse le processus de rendu ; toutefois, des callbacks lents peuvent retarder l’exécution des autres. Il est donc préférable de garder les gestionnaires d’événements courts et de ne pas y effectuer directement des tâches lourdes.

Conséquences pour les flux de travail en architecture et en visualisation

App SDK s’adresse aux développeurs et aux équipes techniques qui souhaitent intégrer le rendu V-Ray à un autre logiciel ou piloter le processus depuis une application dédiée. En architecture, en design d’intérieur et en archviz, le chargement d’un fichier .vrscene et le rendu peuvent être intégrés à un flux de travail plus large. La documentation ne précise toutefois pas que le SDK inclut une intégration prête à l’emploi avec un logiciel d’architecture ni une interface utilisateur ; son utilisation nécessite un travail de développement logiciel.

Avant le déploiement, vérifiez que le chemin du module Python, le répertoire des bibliothèques V-Ray et le mode CPU/GPU sélectionné sont compatibles avec l’environnement d’exécution. Les sources ne fournissent aucune information sur les prix, les conditions de licence ou la compatibilité entre les versions ; ces points doivent être vérifiés séparément. Il est également important de tester le mode de rendu choisi avec le matériel disponible avant de passer en production.

Erreurs fréquentes

  • Définir uniquement VRAY_SDK sans vérifier l’arborescence, et ne pas envisager VRAY_APPSDK_BIN ou les options de chemin de recherche à l’exécution lorsque cela est nécessaire.

  • Confondre le chemin du module Python avec le chemin de recherche des fichiers binaires V-Ray.

  • Essayer de modifier la scène ou les réglages du renderer après start(), alors que l’état PREPARING est en cours.

  • Considérer la valeur 6000 de l’exemple comme un délai d’attente garanti pour chaque rendu.

  • Oublier qu’il est possible de récupérer une image intermédiaire pendant le rendu, tandis que l’image complète n’est disponible qu’à l’état IDLE_DONE.

Sources

1 source
D
docs.chaos.comdocs.chaos.com/vray_app_sdk
Résumé

Les textes sources ne sont pas republiés ; les courtes citations sont signalées, le reste est notre propre résumé et commentaire.

L’avis de 3dsınıfı
3dL’analyse de la rédaction

Pour les agences d’architecture et les équipes de visualisation en Turquie, App SDK est particulièrement utile aux équipes techniques qui souhaitent intégrer le rendu V-Ray à leur propre logiciel ou à un flux d’automatisation. L’exemple Python présente le processus de base, mais il ne faut pas oublier que l’intégration demande des efforts de développement et de maintenance.

Pour choisir le matériel, il convient d’évaluer les options CPU et GPU de la documentation en fonction du système existant. La source ne détaille ni les prix, ni les conditions de licence, ni les questions de compatibilité ; ces points doivent être vérifiés avant tout usage commercial. Sur le plan technique, il est particulièrement important de distinguer le chemin du module de celui des bibliothèques et de ne pas intervenir sur la scène pendant l’état PREPARING.

Questions fréquentes

Quels langages de programmation V-Ray App SDK prend-il en charge ?

La documentation répertorie les bindings C++, C#, Python et Node.js.

Comment effectuer un rendu d’un fichier .vrscene en Python avec V-Ray App SDK ?

Créez un objet `VRayRenderer`, chargez le fichier `.vrscene` avec `load()`, puis lancez le rendu avec `start()`. L’image peut être récupérée avec `getImage()` et enregistrée à l’aide de la méthode `save()`.

À quoi servent les modes Interactive et Production de V-Ray App SDK ?

Interactive sert à obtenir rapidement un aperçu et à améliorer progressivement l’image ; Production permet d’obtenir l’image finale d’une scène configurée.

Les commentaires et le forum sont en turc.Rejoindre la discussion
+

À lire aussi