Partager via


Comment : créer un nuanceur Phong de base

Ce document montre comment utiliser le concepteur Shader et le langage DGSL (Directed Graph Shader Language) pour créer un nuanceur d'éclairage qui implémente le modèle d'éclairage Phong classique.

Ce document démontre les activités suivantes :

  • Ajouter des nœuds à un graphique shader

  • Déconnexion des nœuds

  • Connexion de nœuds

Le modèle d'éclairage Phong

Le modèle d'éclairage Phong étend le modèle d'éclairage Lambert pour inclure la mise en surbrillance spéculaire, qui simule les propriétés de réflexion d'une surface.Le composant spéculaire fournit l'illumination supplémentaire de les mêmes sources de lumière de direction qui sont utilisés dans le modèle d'éclairage de Lambert, mais sa contribution à la couleur finale est traitée différemment.Mettre en surbrillance spéculaire affecte chaque surface dans la scène différemment, selon la relation entre la direction de la vue, la direction de sources de lumière, et l'orientation de la surface.Il s'agit d'un produit de la couleur spéculaire, la puissance spéculaire, et l'orientation de la surface, et la couleur, la profondeur, et le sens des sources de lumière.Les surfaces qui reflètent la source de lumière directement à l'afficheur reçoivent la contribution et les surfaces spéculaires maximale qui reflètent la source de lumière loin de l'afficheur n'acceptent pas contribution.Sous le modèle d'éclairage de Phong, un ou plusieurs composants spéculaires sont combinés pour déterminer la couleur et la profondeur de la mise en surbrillance spéculaire pour chaque point sur l'objet, puis sont ajoutés au résultat du modèle d'éclairage de Lambert pour produire la couleur finale du pixel.

Pour plus d'informations sur le modèle d'éclairage Lambert, consultez Comment : créer un nuanceur Lambert de base.

Avant de commencer, assurez-vous que la fenêtre Propriétés et le Boîte à outils sont affichés.

Pour créer un shader Phong

  1. Créez un nuanceur de Lambert, comme décrit dans Comment : créer un nuanceur Lambert de base.

  2. Déconnectez le nœud Lambert du nœud Couleur finale .Choisissez le terminal RVB du nœud Lambert, puis choisissez Rompre les liaisons.Cela fait de la portée du nœud qui est ajouté à l'étape suivante.

  3. Ajoutez un nœud Ajouter au graphique.Dans Boîte à outils, sous Math, sélectionnez Ajouter et déplacez-le vers l'aire de conception.

  4. Ajoutez un nœud Spéculaire au graphique.Dans Boîte à outils, sous Utilitaire, sélectionnez Spéculaire et faites glisser cette option sur l'aire de conception.

  5. Ajoutez la contribution spéculaire.Déplacez le terminal Sortie du nœud Spéculaire à terminal X du nœud Ajouter, puis déplacez le terminal Sortie du nœud Lambert à terminal O du nœud Ajouter .Ces connexions combinent toutes les contributions diffuses et spéculaires de couleur du pixel.

  6. Connectez la valeur de couleur calculée à la couleur finale.Déplacez le terminal Sortie du nœud Ajouter à terminal RVB du nœud Couleur finale .

L'illustration suivante montre le graphique de nuanceur terminé et un aperçu du nuanceur appliqué à un modèle de théière.

[!REMARQUE]

Pour mieux illustrer l'effet du nuanceur dans cette illustration, une couleur orange a été spécifiée à l'aide de le paramètre MaterialDiffuse du nuanceur, et une fois métallique- la recherchant a été spécifiée à l'aide de les paramètres MaterialSpecular et de MaterialSpecularPower .Pour plus d'informations sur les paramètres matériels, consultez la section rendu un aperçu de shaders dans Concepteur Shader.

Graphique du nuanceur et un aperçu de ses effets.

Certaines formes peuvent fournir de meilleurs aperçus pour certains nuanceurs.Pour plus d'informations sur la façon d'afficher un aperçu des shaders dans le concepteur shader, consultez la section rendu un aperçu de shaders dans Concepteur Shader

L'illustration suivante montre le shader décrit dans ce document appliqué à un modèle 3D.La propriété MaterialSpecular est définie sur (1,00, 0,50, 0,20, 0,00), et sa propriété MaterialSpecularPower sur 16.

[!REMARQUE]

La propriété MaterialSpecular détermine la fin apparente du matériel externe.Une surface brillante telle que le verre ou le plastique a tendance à avoir une couleur spéculaire correspondant à un blanc vif.Une surface métallique a tendance à avoir une couleur spéculaire proche de sa couleur diffuse.Une surface satinée a tendance à avoir une couleur spéculaire correspondant à un gris foncé.

La propriété MaterialSpecularPower détermine l'intensité des reflets spéculaires.Les puissances spéculaires élevées simulent met en plus mats et plus localisés.Très bas les puissances spéculaires simulent les surbrillances intenses et balayants qui peuvent oversaturate et masquer la couleur de la surface entière.

Éclairage Phong appliqué à un modèle.

Pour plus d'informations sur l'application d'un nuanceur à un modèle 3D, consultez Comment : appliquer un nuanceur à un modèle 3D.

Voir aussi

Tâches

Comment : appliquer un nuanceur à un modèle 3D

Comment : exporter un nuanceur

Comment : créer un nuanceur Lambert de base

Concepts

Concepteur Shader

Autres ressources

Nœuds du concepteur Shader