Di RobyDx (del 02/08/2007 @ 08:34:22, in DirectX9, linkato 1221 volte)
Quante volte può essere utile salvare in una immagine lo schermo del vostro gioco (tipo le foto che si vedono sulle recensioni dei giochi sulle riviste)? Di sicuro molte volte. Potete quindi o usare i tasti (stamp+ctrl) e poi copiare sul paint (molti non conoscono questo banale trucco per copiare l'immagine corrente dello schermo) o meglio ancora agire in modo più professionale e cioè farlo fare a directX.
Basta semplicemente prendere il backbuffer (che è una superficie) e salvarla.
Di RobyDx (del 02/08/2007 @ 08:38:11, in DirectX9, linkato 1919 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....
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....
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 03/08/2007 @ 09:56:07, in DirectX9, linkato 1405 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
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 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. ...
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à.