Le langage Open Shading Language (OSL) vous permet d'utiliser de nouvelles textures OSL, d'appliquer différentes catégories de textures OSL et de créer vos propres textures OSL à l'aide d'outils de développement compatibles avec tous les moteurs de rendu.
Le langage Open Shading Language (OSL) est un langage d'ombrage Open Source plutôt simple. Il peut être utilisé de plusieurs façons. Vous pouvez utiliser la texture OSL, qui est un environnement d'exécution pour les ombrages OSL dans 3ds Max et qui fonctionne comme n'importe quelle texture 3ds Max intégrée standard. Il existe également une catégorie de textures OSL préchargées faciles à utiliser. En outre, vous pouvez utiliser n'importe quelle texture OSL que vous avez téléchargée à partir d'Internet. Enfin, vous pouvez créer un ombrage ou une texture dans OSL à l'aide de nos outils de développement. Par rapport à la fonctionnalité équivalente de développement de texture 3ds Max en langage C++, cette méthode permet de créer des textures personnalisées de manière beaucoup plus simple.
OSL fonctionne avec n'importe quel moteur de rendu prenant en charge l'API d'ombrage 3ds Max standard (ligne de balayage, vRay, Corona, etc.). Il fonctionne également à l'extérieur des moteurs de rendu, dans tout emplacement 3ds Max dans lequel une texture standard est requise, par exemple dans le modificateur Déplacement. Il fonctionne également avec les moteurs de rendu prenant en charge OSL de manière native, par exemple Arnold. Dans ces cas, l'environnement d'exécution dans la texture OSL n'est pas utilisé. Au lieu de cela, le code source OSL, les valeurs des paramètres et les liaisons d'ombrage sont envoyés au moteur de rendu, qui exécute le code OSL. De nouveaux moteurs de rendu prenant en charge le langage OSL de manière native font leur apparition chaque jour.
OSL utilise la compilation "juste-à-temps" et l'optimisation simultanée de l'arborescence des ombrages, tant que tous les ombrages dans l'arborescence des ombrages sont de type OSL. Vous pouvez mélanger des ombrages OSL et des ombrages standard, mais les optimisations seront affectées.
La texture OSL présente quelques limitations dans 3ds Max.
Limitations | Description |
---|---|
Prend uniquement en charge les textures, et non les matériaux |
Un ombrage écrit en langage OSL peut avoir plusieurs sorties renvoyant différents types de données, tels que des couleurs, des valeurs à virgule flottante, des nombres entiers, des chaînes, etc. Tous ces éléments sont pris en charge. OSL prend également en charge un type spécial appelé une fermeture. Les fermetures sont en quelque sorte des matériaux, mais aucune prise en charge n'est disponible. Dans la pratique, cela signifie que la texture OSL peut uniquement être utilisée pour créer des textures procédurales et non pour créer des matériaux. Par conséquent, il est recommandé de créer les textures procédurales OSL tout en connectant les sorties à un matériau indépendant du rendu, normalisé et bien défini tel qu'un matériau physique. Si un ombrage OSL disponible en ligne ne semble avoir aucun effet ou aucune sortie, il s'agit peut-être d'un matériau OSL. |
Prend uniquement en charge les types de données simples |
Dans 3ds Max, la texture OSL prend uniquement en charge les types de données simples : couleurs, vecteurs, nombres à virgule flottante, nombres entiers et chaînes. Elle ne prend pas en charge les réseaux ou les structures en tant qu'entrées. Dans la pratique, cela ne devrait pas poser de problème, car très peu d'ombrages OSL utilisent des réseaux ou des structures en tant qu'entrées. La limitation s'applique uniquement aux paramètres. Les réseaux et les structures fonctionnent correctement à l'intérieur du code OSL. |
Aucune instruction #include |
Dans 3ds Max, le code OSL ne peut pas contenir l'instruction #include. Si votre code OSL contient l'instruction #include <stdosl.h>, elle n'est pas nécessaire et peut être supprimée. Le fichier stdosl.h est implicitement inclus par le compilateur. |
Plusieurs textures OSL utilisent leur ombrage réel pour l'affichage dans les fenêtres, ce qui permet d'améliorer les performances et d'optimiser considérablement leur représentation visuelle. Pour ce faire, exécutez la fenêtre en mode réaliste avec textures. Les textures OSL qui utilisent l'ombrage afficheront le message Fenêtre : ombrage utilisé au-dessus de leurs paramètres dans l'Editeur de matériaux. Toutefois, les textures OSL qui utilisent toujours l'ancrage affichent le message Fenêtre : texture ancrée utilisée.
Les ombrages OSL suivants utilisent toujours les textures ancrées :
UVW
Racine
Scène
Valeurs