\\ Home : Articoli : Stampa
Specular light
Di RobyDx (del 02/08/2007 @ 08:30:18, in DirectX9, linkato 1535 volte)

La luce speculare è in pratica il riflesso metallico che alcuni oggetti emanano. L'esempio tipico è quello dell'auto che nonostante sia di un colore (ad esempio rosso) ha dei riflessi bianchi sotto la luce del sole. Impostare la luce speculare risulta quindi fondamentale per oggetti metallici (specie se unito ad altri effetti di riflessione dell'immagine).

specLight9

Esempio di teiera con specular light da sinistra a destra: effetto disattivato, con sharpness a 10, con sharpness a 25.

Per utilizzarla dovete settare le componenti specular del materiale e della luce.

mate.Specular = Color.White
mate.SpecularSharpness = 25

Dove mate è il materiale. La proprietà SpecularSharpness rappresenta quanto la luce speculare sia visibile. Più il valore è basso e più l'area con la luce specular sarà ampia. In genere i valori migliori sono quelli compresi tra 5 e 30. Anche per la luce va usato un colore (non necessariamente lo stesso).

device.Lights(0).Specular = Color.White

Infine perchè l'effetto funzioni dovete impostare il renderState del device

device.RenderState.SpecularEnable = True

o uguale a false per disattivarlo (in modo da alternare velocemente l'effetto).

Attenzione a come esportate il modello. Alcuni programmi o plugins potrebbero non permettere l'effetto speculare.