Utilizzare scene 3D in Windows Presentation Foundation

di Marco Leoncini, in Windows Presentation Foundation,

Nel settembre 1995 Microsoft presentò la prima versione di un set di API per consentire la realizzazione di software indipendente dall'hardware installato nel pc. Rilasciate sotto il nome di Windows Games SDK, insieme a Win95, introdussero nel mondo dei video games un nuovo livello d'astrazione dell'hardware che si scontrò così con il pensiero diffuso che il DOS e l'accesso diretto all'hardware, fornissero un maggior controllo sul codice e conseguentemente migliori performance.

Da allora sono passati più di 11 anni, oggi il Windows Games SDK è comunemente noto con il nome di DirectX e non solo è diventato lo standard di fatto nell'industria dell'intrattenimento digitale, ma ha conquistato settori dove la capacità di renderizzare velocemente grafica di qualità è un aspetto fondamentale. Con l'ormai prossimo rilascio di Windows Vista, Microsoft traendo benefico dal nuovo modello di Driver (WDDM), riprogetta dalle fondamenta l'architettura della futura versione delle DirectX e su di essa crea il nuovo layer di presentazione di Windows, sostanzialmente invariato dalla sua prima apparizione del 1995. Infatti oggi Windows XP, se si escludono i video games, non trae nessun beneficio dalle GPU (Graphic processor unit) che equipaggiano le moderne schede video installate nei nostri pc.

Le nuovi API managed racchiuse sotto il nome di Windows Presentation Foundation e costruite con lo scopo di facilitare le applicazioni Windows, sono capaci di sfruttare le moderne GPU che equipaggiano le odierne schede video, fornendo, a differenza di GDI+, funzioni per generare e manipolare la terza dimensione.
In WPF tutto il contenuto 3D è incapsulato in un elemento chiamato Viewport3D (namespace System.Windows.Controls). Per fare un paragone, possiamo immaginare una Viewport3D come una superficie bidimensionale sulla quale viene proiettata la scena, cosi come la vedrebbe una persona dall'interno della scena.
Il fatto che il contenuto 3D sia rappresentato come una proiezione bidimensionale è strategico per l'integrazione con ogni altro elemento dell'UI di WPF.

Il sistema di coordinate

Il sistema bidimensionale di WPF non si discosta da quello classico delle GDI/GDI+, ovvero l'origine è collocata nell'angolo superiore sinistro, con l'asse delle X positivo rivolto verso destra e l'asse Y positivo rivolto verso il basso.

Sistema coordinate 2D

Nel sistema di coordinate tridimensionali di WPF, l'origine è collocata al centro della scena (o rendering area) ed è determinata dall'intersezione dei tre assi, di cui l'asse X positivo procede verso destra, l'asse Y positivo è rivolto verso l'alto e l'asse Z procede verso l'esterno dalla scena.

Sistema coordinate 3D

5 pagine in totale: 1 2 3 4 5
Contenuti dell'articolo

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti