Texture e materiali
La nostra mesh così creata risulterebbe "nuda", ma sfruttando la proprietà Material di GeometryModel3D possiamo coprirla e renderla simile ad un oggetto reale.
WPF dispone di diversi tipi di materiali da applicare al modello:
- DiffuseMaterial: determina l'aspetto principale del modello;
- SpecularMaterial: determina quale parte del modello risulta lucida o opaca;
- EmissiveMaterial: determina la luminosità del materiae. Questo non rende l'oggetto a cui il materiale è applicato più luce, ma partecipa nell'ombreggiatura combinandosi con i materiali diffusi e speculari.
Ogni materiale dispone di due proprietà, Color per specificare un semplice colore uniforme e Brush con la quale specificare gradienti o immagini.
Per consentire a WPF di avvolgere in modo corretto il materiale sulla superficie è necessario mappare ogni vertice della mesh sulla texture del materiale.
<GeometryModel3D.Material>
<DiffuseMaterial>
<DiffuseMaterial.Brush>
<ImageBrush ImageSource="face.jpg" />
</DiffuseMaterial.Brush>
</DiffuseMaterial>
</GeometryModel3D.Material>Nell'esempio precedente, viene creato un semplice materiale che ricopre con un'immagine la superficie della mesh e in casi come questo è indispensabile impostare la proprietà TextureCoordinates dell'oggetto MeshGeometry3D. Ogni punto della collezione TextureCoodinates accetta valori tra 0 e 1 compresi e tipicamente il punto 0, 0 rappresenta l'angolo superiore sinistro dell'immagine, mentre 1,1 l'angolo inferiore destro.

Similmente a quanto accade per TriangleIndices il primo punto specificato nella lista TextureCoordinates verrà mappato al primo vertice della collezione Positions e così proseguendo fino ad assegnare una coordinata per ogni vertice.
Contenuti dell'articolo
- Pagina 1
- Pagina 2
- Pagina 3
- Pagina 4
- Pagina 5
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.







Difficoltà
Stampa
Download 


10annidi.ASPItalia.com: iscriviti alla competizione e vinci fantastici premi ogni mese!
