Effet d’éclairage spéculaire par spot
Utilisez l’effet d’éclairage spéculaire pour créer une image qui semble être une surface réfléchissante dans laquelle la source de lumière est limitée à un cône dirigé de lumière. Cet effet utilise le canal alpha comme carte de hauteur et met en lumière l’image avec une source de lumière de point.
La couleur de la bitmap de sortie est un résultat de la couleur claire, de la position claire, de la direction du cône et de la géométrie de la surface en fonction de la partie spéculaire du modèle d’éclairage Phong. La sortie de canal alpha pour chaque pixel avec éclairage spéculaire est le nombre maximal de sorties de canal rouge, vert et bleu pour ce pixel.
Le CLSID de cet effet est CLSID _ D2D1SpotSpecular.
- Exemple d’image
- Source de lumière ponctuelle
- Propriétés d’effet
- Modes de mise à l’échelle
- Configuration requise
- Rubriques connexes
Exemple d’image
L’exemple ci-dessous montre les images d’entrée et de sortie de l’effet d’éclairage spéculaire.

La lumière spéculaire fait référence à la lumière qui est reflétée dans une direction particulière.

L’effet calcule les valeurs de pixel de sortie finales est calculé à l’aide des équations ici :

where

Source de lumière ponctuelle
Une source de lumière des points émet une lumière dans un cône dans une direction spécifique et n’émet pas de lumière en dehors du cône.
La source de lumière des points calcule le vecteur clair L et le vecteur H à mi-chemin de la même façon que l’effet de point-spéculaire .
L’effet calcule la couleur claire, Lr, lg, lb, en tant que fonction de position de la source de lumière, comme illustré par les équations ici :

Le vecteur
est défini par les équations suivantes :

Le vecteur
est défini par les équations suivantes :

Propriétés d’effet
| Nom complet et énumération d’index | Description |
|---|---|
| LightPosition POSITION de la _ lumière d2d1 SPOTSPECULAR _ prop _ _ |
Position claire de la source de lumière de point. La propriété est un _ vecteur d2d1 _ 3F défini en tant que (x, y, z). Les unités sont en pixels indépendants du périphérique (DIP) et ne sont pas liées. Le type est D2D1 _ Vector _ 3F. La valeur par défaut est {0.0 f, 0.0 f, 0.0 f}. |
| PointsAt D2D1 _ SPOTSPECULAR _ prop _ points _ à |
Où le feu est concentré. La propriété est exposée sous la forme d’un _ vecteur d2d1 _ 3F avec (x, y, z). Les unités sont dans des DIP et les valeurs ne sont pas liées. Le type est D2D1 _ Vector _ 3F. La valeur par défaut est {0.0 f, 0.0 f, 0.0 f}. |
| Priorité D2D1 _ SPOTSPECULAR _ prop _ focus |
Focus de la lumière. Cette propriété est sans unité et est définie entre 0 et 200. Le type est FLOAT. La valeur par défaut est 1,0 f. |
| LimitingConeAngle D2D1 _ angle de cône de la _ cale spéculaire _ _ limite _ _ |
Angle conique qui limite la zone dans laquelle la lumière est projetée. Aucune lumière n’est projetée à l’extérieur du cône. L’angle de cône limiteur est l’angle entre l’axe des tons directs (l’axe entre les propriétés LightPosition et PointsAt ) et le cône de lumière. Cette propriété est définie en degrés et doit être comprise entre 0 et 90 degrés. Le type est FLOAT. La valeur par défaut est 90.0 f. |
| SpecularExponent _ _ _ Exposant spéculaire d2d1 SPOTSPECULAR prop _ |
Exposant du terme spéculaire dans l’équation d’éclairage Phong. Une plus grande valeur correspond à une surface plus réfléchissante. Cette valeur est sans unité et doit être comprise entre 1,0 et 128. Le type est FLOAT. La valeur par défaut est 1,0 f. |
| SpecularConstant _ _ _ Constante spéculaire d2d1 SPOTSPECULAR prop _ |
Rapport entre la réflexion spéculaire et la lumière entrante. La valeur est sans unité et doit être comprise entre 0 et 10 000. Le type est FLOAT. La valeur par défaut est 1,0 f. |
| SurfaceScale _Échelle de surface d2d1 SPOTSPECULAR _ prop _ _ |
Facteur d’échelle dans la direction Z pour la génération d’une carte de hauteur. La valeur est sans unité et doit être comprise entre 0 et 10 000. Le type est FLOAT. La valeur par défaut est 1,0 f. |
| Couleur _Couleur d2d1 SPOTSPECULAR _ prop _ |
Couleur de la lumière entrante. Cette propriété est exposée comme vecteur 3 (R, G, B) et utilisée pour calculer LR, lG, lB. Le type est D2D1 _ Vector _ 3F. La valeur par défaut est {1.0 f, 1.0 f, 1.0 f}. |
| KernelUnitLength Longueur de l' _ unité de noyau d2d1 SPOTSPECULAR _ prop _ _ _ |
Taille d’un élément dans le noyau Sobel utilisé pour générer la surface normale dans les directions X et Y. Cette propriété est mappée aux valeurs DX et dy dans le dégradé Sobel. Cette propriété est un _ vecteur d2d1 _ 2F (longueur d’unité de noyau X, longueur d’unité de noyau Y) et est défini dans (DIP/unité noyau). L’effet utilise l’interpolation bilinéaire pour mettre à l’échelle l’image bitmap afin qu’elle corresponde à la taille des éléments de noyau. Le type est D2D1 _ Vector _ 2F. La valeur par défaut est {1.0 f, 1.0 f}. |
| Devient MODE de mise à l' _ échelle d2d1 SPOTSPECULAR _ prop _ _ |
Mode d’interpolation utilisé par l’effet pour mettre l’image à l’échelle de la longueur de l’unité de noyau correspondante. Il existe six modes de mise à l’échelle qui vont de la qualité et de la vitesse. Pour plus d’informations, consultez modes de mise à l' échelle . Le type est D2D1 _ SPOTSPECULAR _ Scale _ mode. La valeur par défaut est D2D1 _ SPOTSPECULAR _ Scale _ mode _ linéaire. |
Modes de mise à l’échelle
| Énumération | Description |
|---|---|
| MODE de mise à l' _ échelle d2d1 SPOTSPECULAR _ _ _ le plus proche _ voisin | Échantillonne le point unique le plus proche et l’utilise. Ce mode utilise moins de temps de traitement, mais génère l’image de qualité la plus faible. |
| D2D1 mode de mise à l' _ _ échelle SPOTSPECULAR _ _ linéaire | Utilise un échantillon à quatre points et une interpolation linéaire. Ce mode génère une image de qualité supérieure à celle du voisin le plus proche. |
| D2D1 mode de mise à l' _ _ échelle SPOTSPECULAR _ _ cubique | Utilise un exemple de noyau cubique 16 pour l’interpolation. Ce mode utilise le plus de temps de traitement, mais génère une image de qualité supérieure. |
| MODE de mise à l' _ échelle d2d1 SPOTSPECULAR _ multi- _ _ _ exemple _ linéaire | Utilise 4 échantillons linéaires au sein d’un même pixel pour une bonne anticrénelage. Ce mode est adapté à la réduction de la taille des images avec quelques pixels. |
| D2D1 _ _ mode Scale _ SPOTSPECULAR _ anisotrope | Utilise le filtrage anisotrope pour échantillonner un modèle en fonction de la forme transformée de l’image bitmap. |
| D2D1 _ SPOTSPECULAR _ _ en mode Scale de _ haute _ qualité _ cubique | Utilise un noyau cubique de haute qualité variable pour effectuer une pré-réduire de l’image si downscaling est impliqué dans la matrice de transformation. Utilise ensuite le mode d’interpolation cubique pour la sortie finale. |
Notes
Si vous ne sélectionnez pas de mode, l’effet par défaut est D2D1 _ SPOTSPECULAR _ Scale _ mode _ linéaire.
Spécifications
| Condition requise | Valeur |
|---|---|
| Client minimal pris en charge | mise à jour Windows 8 et de plateforme pour les applications de bureau Windows 7 Windows les applications du windows [ | Store] |
| Serveur minimal pris en charge | mise à jour Windows 8 et de plateforme pour les applications de bureau Windows 7 Windows les applications du windows [ | Store] |
| En-tête | d2d1effects. h |
| Bibliothèque | d2d1. lib, dxguid. lib |