Di RobyDx (del 04/08/2007 @ 09:14:06, in DirectX9, linkato 2078 volte)
Come sappiamo in DirectX possiamo usare molti formati per le immagini come bitmap, jpeg o tga. Tutte queste però vengono gestiste come bitmap al momento dell'effettivo utilizzo sia dal punto di vista della memoria che della velocità. Esistono però alcuni formati speciali che vengono sfruttati in maniera migliore i DXT. Ci sono 5 formati da DXT1 a DXT5 che si differenziano per spazio occupato e velocità di rendering. Per utilizzare questi formati potete o caricare un immagine effettuando una conversione in questo formato o caricare un'immagine da file già in questo formato....
Di RobyDx (del 04/08/2007 @ 09:12:23, in DirectX9, linkato 1575 volte)
Le superfici in DirectDraw sono come sappiamo degli array di numeri corrispondenti ai colori. L'array di colori viene estratto eseguengo una operazione chiamata accesso alla memoria che genera una matrice di dimensione larghezza x altezza. Ogni punto di questa matrice è un intero che tramite la classe color possiamo facilmente gestire per ottenere o inserire il colore. Prima che iniziate a procedere vi avverto che DirectDraw presenta un grosso bug in questa istruzione. Se avete aggiornato alla versione 9.0b questa funzionerà altrimenti non troverete questa istruzione e vi sarà impossibile compiere questa azione....
Cambiando il colore nell'opzione TextureFactor potrete far virare il colore ed in particolare modificando il valore alpha del colore potrete deciderne il grado di trasparenza. Per tornare alla normalità impostare l'alphaArgument a Diffuse. Nota fondamentale: come dovreste aver capito gli effetti di alphablending funzionano solo se gli oggetti vengono renderizzati in ordine dal più lontano al più vicino. Se invece l'oggetto più vicino verrà renderizzato prima di quello che gli sta dietro l'effetto non funzionerà.
Di Ercand (del 03/08/2007 @ 19:54:55, in Varie, linkato 5558 volte)
Una Cube Map è una texture 3D composta da sei immagine (appunto come le facce di un cubo) così disposte
Ciò che faremo in questo tutorial è creare una Cube Map partendo da zero, in particolare creeremo un bel (si spera) cielo stellato usando esclusivamente un programma per la grafica 2D come Photoshop.
Apriamo Photoshop e creiamo una nuova immagine ( File->New ) con una risoluzione di 1027x768 (così da avere una risoluzione finale della cube map di 256x256, ma nessuno vi impedisce di utilizzare una risoluzione maggiore); come abbiamo visto nella prima immagine dovremo andare a creare sei immagini con delle posizioni ben precise, per farlo ci sarà utile creare delle guide da usare come riferimento.
Per creare questi riferimenti dovremo portare il cursore nella guida dell’immagine (attivabile con la pressione dei tasti CTRL + R) tenere premuto il bottone sinistro del mouse e trascinare la guida fino alla posizione di 256 pixel. ...
Di RobyDx (del 03/08/2007 @ 09:58:19, in DirectX9, linkato 1780 volte)
La gamma correction è la gestione della luminosità dei colori sullo schermo. Ognuno dei 16 milioni di colori che le schede di oggi supportano ha un diverso grado di luminosità espresso con un valore da 0 a 65535 permettendo migliore resa grafica. Molte schede danno la possibilità di modificare la gamma del monitor ma DirectX permette di farlo dinamicamente nei giochi fullscreen. Possibilità? Potete ad esempio scurire tutti i colori per creare chiusure degli schermi o aumentarli per far sembrare più luminosa una stanza. Potete addirittura aumentare solo una tonalità per far virare i colori verso quello che volete....
Di RobyDx (del 03/08/2007 @ 09:56:07, in DirectX9, linkato 1404 volte)
Come in DirectDraw è possibile anche in Direct3D creare velocemente dei rettangoli pieni di ogni colore sullo schermo. Questo tramite l'istruzione
device.ColorFill(superficie, rettangolo, Color)
Con questa istruzione potete facilmente riempire rettangoli su una qualunque superficie (estratta ad esempio anche dalle texture). Naturalmente anche il backbuffer è una superficie quindi potete usare direttamente questa
device.ColorFill(device.GetBackBuffer(0, 0, BackBufferType.Mono), New Rectangle(0, 0, 300, 300), Color.White)
In questo esempio riempio il backbuffer di bianco nel rettangolo specificato. Utile
Il normal mapping è una tecnica ormai di uso comune in computer grafica. La logica dietro è abbastanza semplice. Invece di utilizzare le normali che si trovano nei triangoli, si utilizzano particolari texture (le normal map) i cui colori RGB rappresentano la direzione della normale in quel pixel. In questo modo l'illuminazione non è uniforme in tutto il triangolo ma dipenderà dalla normal map. Un esempio immediato è quello di un muro. Invece di utilizzare migliaia di mattoni si può utilizzare una normal map per simulare il rilievo. Invece di migliaia di mattoni e quindi migliaia di triangoli, basterà un rettangolo con una normal map appropriata per dare un effetto di rilievo (nei limiti ovviamente del possibile).
Di RobyDx (del 02/08/2007 @ 08:41:49, in DirectX9, linkato 2383 volte)
Quando si realizzano giochi occorre sempre tenere presente tutti i possibili tipi di computer che il giocatore può avere. Una delle tante cose da tenere presente (forse la più banale ma non per questo meno importante) è la velocità del gioco. Cosa succede se il PC in cui gira il gioco è troppo debole: semplice andrà lento! Tuttavia se è troppo potente il gioco schizzerà a velocità altissime rendendolo ingiocabile. Se il primo caso richiede molte soluzioni complesse per il secondo è sufficiente tenere costanti i numeri di frame del gioco. Queste solitamente corrispondono al numero di giri che il ciclo principale effettua....
Di RobyDx (del 02/08/2007 @ 08:38:11, in DirectX9, linkato 1918 volte)
L'antialiasing è un processo atto ad evitare la seghettatura che inevitabilmente viene a crearsi durante il rendering di poligoni 3D. Soprattutto per risoluzioni non altissime l'effetto di aliasing può influire notevolmente sulla qualità grafica. Tuttavia in DirectX è possibile utilizzare questo effetto per migliorare sensibilmente la qualità ma a caro prezzo: l'antialiasing appesantisce molto il PC e di conseguenza il gioco subirà inevitabilmente dei rallentamenti su sistemi non sufficientemente potenti. L'effetto viene quindi consigliato come opzione per sistemi potenti....