Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Usa l'effetto di illuminazione spot-diffuse per creare un'immagine che sembra essere una superficie non riflettente con la quale la sorgente di luce è limitata a un cono diretto di luce e la luce viene sparsa in tutte le direzioni. Questo effetto usa il canale alfa come mappa di altezza e illumina l'immagine con una sorgente di luce spot.
Il colore della bitmap di output è il risultato del colore chiaro, della posizione della luce e della geometria della superficie. L'output del canale alfa per ogni pixel con illuminazione diffusa è sempre 1,0.
Il CLSID per questo effetto è CLSID_D2D1SpotDiffuse.
Immagine di esempio
L'esempio seguente mostra le immagini di input e output dell'effetto di illuminazione diffusa spot.
L'effetto calcola i valori dei pixel di output finali usando queste equazioni:
Dove:
- kd = costante di illuminazione diffusa. Specificato dall'utente.


Lr, Lg, Lb = colore chiaro nei componenti RGB.
Proprietà dell'effetto
Enumerazione del nome visualizzato e dell'indice | Tipo e valore predefinito | Descrizione |
---|---|---|
Posizione delle Luci D2D1_SPOTDIFFUSE_PROP_LIGHT_POSITION |
D2D1_VECTOR_3F {0.0f, 0.0f, 0.0f} |
Posizione della luce della sorgente di luce punto. La proprietà è un D2D1_VECTOR_3F definito come (x, y, z). Le unità sono in pixel indipendenti dal dispositivo (DIP) e non sono associate. |
PuntiAt D2D1_SPOTDIFFUSE_PROP_POINTS_AT |
D2D1_VECTOR_3F {0.0f, 0.0f, 0.0f} |
Dove è focalizzato il riflettore. La proprietà è esposta come D2D1_VECTOR_3F con (x, y, z). Le unità sono in DIP e i valori non sono associati. |
Focus D2D1_SPOTDIFFUSE_PROP_FOCUS |
GALLEGGIARE 1.0f |
Il centro dell'attenzione del riflettore. Questa proprietà è senza unità e viene definita tra 0 e 200. |
LimitingConeAngle Angolo del cono limitante di D2D1_SPOTDIFFUSE_PROP |
GALLEGGIARE 90,0f |
Angolo del cono che limita l'area in cui è proiettata la luce. Nessuna luce proiettata all'esterno del cono. L'angolo del cono limitante è l'angolo tra l'asse della luce spot (l'asse tra le proprietà LightPosition e PointsAt) e il cono della luce spot. Questa proprietà è definita in gradi e deve essere compresa tra 0 e 90 gradi. |
DiffuseConstant D2D1_SPOTDIFFUSE_PROP_DIFFUSE_CONSTANT |
GALLEGGIARE 1.0f |
Rapporto tra riflessione diffusa e quantità di luce in ingresso. Questa proprietà deve essere compresa tra 0 e 10.000 ed è senza unità. |
SurfaceScale D2D1_SPOTDIFFUSE_PROP_SURFACE_SCALE |
GALLEGGIARE 1.0f |
Fattore di scala nella direzione Z. La scala della superficie è senza unità e deve essere compresa tra 0 e 10.000. |
Colore D2D1_SPOTDIFFUSE_PROP_COLOR |
D2D1_VECTOR_3F {1.0f, 1.0f, 1.0f} |
Colore della luce in ingresso. Questa proprietà viene esposta come vettore 3 (R, G, B) e usata per calcolare LR, LG, LB. |
KernelUnitLength D2D1_SPOTDIFFUSE_PROP_KERNEL_UNIT_LENGTH |
D2D1_VECTOR_2F {1.0f, 1.0f} |
Dimensioni di un elemento nel kernel Sobel usato per generare la normale superficie nella direzione X e Y. Questa proprietà corrisponde ai valori dx e dy nel gradiente di Sobel. Questa proprietà è una D2D1_VECTOR_2F(Lunghezza unità kernel X, Lunghezza unità kernel Y) ed è definita in (DIP/unità kernel). L'effetto usa l'interpolazione bilineare per ridimensionare la bitmap in modo che corrisponda alle dimensioni degli elementi del kernel. |
ScaleMode D2D1_SPOTDIFFUSE_PROP_SCALE_MODE |
D2D1_SPOTDIFFUSE_SCALE_MODE D2D1_SPOTDIFFUSE_SCALE_MODE_LINEAR |
Modalità di interpolazione usata dall'effetto per ridimensionare l'immagine alla lunghezza dell'unità kernel corrispondente. Esistono sei modalità di scala che differiscono in qualità e velocità. Per altre informazioni, vedi Modalità di scalabilità. |
Modalità di scalabilità
Enumerazione | Descrizione |
---|---|
D2D1_SPOTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR | Campiona il punto singolo più vicino e lo utilizza. Questa modalità usa meno tempo di elaborazione, ma restituisce l'immagine di qualità più bassa. |
D2D1_SPOTDIFFUSE_SCALE_MODE_LINEAR | Usa un campione a quattro punti e l'interpolazione lineare. Questa modalità restituisce un'immagine di qualità superiore rispetto al vicino più vicino. |
D2D1_SPOTDIFFUSE_SCALE_MODE_CUBIC | Utilizza un kernel cubico a 16 campioni per l'interpolazione. Questa modalità usa il tempo di elaborazione più elevato, ma restituisce un'immagine di qualità superiore. |
D2D1_SPOTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR | Usa 4 campioni lineari all'interno di un singolo pixel per un buon anti-aliasing dei bordi. Questa opzione è utile per ridurre leggermente le dimensioni delle immagini con pochi pixel. |
D2D1_SPOTDIFFUSE_SCALE_MODE_ANISOTROPIC | Usa il filtro anisotropico per campionare un modello in base alla forma trasformata della bitmap. |
D2D1_SPOTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC | Usa un kernel cubico di dimensioni variabili di alta qualità per eseguire una pre-riduzione della scala dell'immagine se il ridimensionamento è coinvolto nella matrice di trasformazione. Usa quindi la modalità di interpolazione cubica per l'output finale. |
Nota
Se non si seleziona una modalità, per impostazione predefinita l'effetto si imposta su D2D1_SPOTDIFFUSE_SCALE_MODE_LINEAR.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 8 e Aggiornamento della piattaforma per Windows 7 [app desktop | App di Windows Store] |
Server minimo supportato | Windows 8 e Aggiornamento della piattaforma per Windows 7 [app desktop | App di Windows Store] |
Intestazione | d2d1effects.h |
Biblioteca | d2d1.lib, dxguid.lib |