Di RobyDx (del 25/07/2007 @ 12:03:35, in DirectX9, linkato 2094 volte)
Il bump mapping è semplicemente una delle operazioni permesse nella gestione delle texture multiple. Il bump mapping si ottiene infatti con almeno 2 texture una normale e una definita bump map. Il bump mapping consiste nella deformazione della texture normale tramite quella sottostante. Il risultato è molto spettacolare a patto di saperlo ben utilizzare.
Potete notare come l'immagine di sinistra risulti deformata. Se un immagine immobile non è niente di speciale farlo in movimento crea effetti veramente particolari. In questo modo si ottengono vibrazioni dell'immagine (esempio la deformazione delle immagini vicino a fiamme e all'asfalto bollente), rifrazioni (ambienti sottomarini), texture a rilievo (queste molto complesse). Come per altri componenti DirectX attivare l'effetto è facile, crearci qualcosa di bello un pò meno....
Di RobyDx (del 25/07/2007 @ 16:38:27, in DirectX9, linkato 1824 volte)
Osservate l'immagine:
Una texture procedurale è esattamente questo, tante texture disposte una sull'altre. Questo particolare tipo di texture presenta interessanti caratteristiche....
Di RobyDx (del 25/07/2007 @ 16:43:42, in DirectX9, linkato 1848 volte)
Una delle funzioni che non può mancare in un programma CAD è la possibilità di spostare un oggetto con il mouse. La cosa è tutt'altro che semplice perchè richiede numerosi conti e soprattutto un buon sistema di collisioni. DirectX ci viene incontro offrendoci una istruzione chiamata IntersectMesh che ci permette di ottenere facilmente il rayCollision, ossia la collisione di una semiretta con una mesh in modo da ottenere qualsiasi dato sull'impatto. La cosa può risultare peraltro utile per calcolare le collisioni di spari (che sono essenzialmente immediati ed in linea retta) ed in definitiva in molte situazioni di calcolo di collisioni. Ad esempio possiamo verificare se una linea che va da noi ad un nemico è interposta da un muro e quindi regolarci di conseguenza....
Di RobyDx (del 27/07/2007 @ 14:52:22, in DirectX9, linkato 1433 volte)
Il mipmapping è una sistema di gestione delle texture basato sull'utilizzo di numerose texture per uno stesso oggetto ma che differiscono tra loro solo per la dimensione. Se ci avviciniamo ad un oggetto infatti possiamo notare che una texture di dimensioni non sufficienti appare priva di definizione e quindi poco gradevole. Contemporaneamente però texture troppo definite per oggetti distanti sono solo un grande spreco di risorse. La soluzione è quindi creare numerose copie della texture in questione cambiandole a secondo della distanza. Questa soluzione fu usata manualmente già nei primi giochi 3D: directX è in grado di gestire tutto ciò tramite il MipMapping generando automaticamente una texture contenente tutte le mappe....
Di RobyDx (del 27/07/2007 @ 15:09:56, in DirectX9, linkato 1555 volte)
Come per lo stencil buffer anche lo ZBuffer presenta caratteristiche impostabili per ottimizzare e migliorare il calcolo delle profondità in DirectX. Le possibilità offerte da semplici manipolazioni possono risolvere infatti numerosi problemi offrendo ad esempio la possibilità di modificare la sensazione di profondità di una scena....
Di RobyDx (del 27/07/2007 @ 15:21:43, in DirectX9, linkato 1874 volte)
Il termine CAD, Computer Aided Design tradotto in italiano come Progettazione Assistita al Calcolatore è la disciplicana che prevede il disegno grazie all'utilizzo del computer. Il termine trova il suo pieno significato nel disegno tridimensionale e quindi nella rappresentazioni di oggetti ed ambienti virtuali. I videogames derivano dal CAD da cui però non ereditano tutte le possibilità in quanto a differenza dei programmi di grafica come 3DStudioMax i primi devono lavorare in real time ad alta velocità. Una delle caratteristiche usate in CAD e disponibile ormai anche su molte schede video sono le High Order Primitive, ossia delle curve geometriche. Tra queste rientrano molte curve che a volte sono state nominate senza spiegare cosa siano. Curve di Hermite, le BSpline, le ormai "leggendarie" curve di Bezier o le NURBS. Queste particolari curve altro non sono che curve dotate di grandi flessibilità che possono essere tracciate tramite pochissime informazioni e che possiedono numerose proprietà....
Di RobyDx (del 27/07/2007 @ 15:33:05, in DirectX9, linkato 1637 volte)
Lo swap chain è il sistema creato da DirectX per gestire il rendering su più oggetti separati (più form o più pictureBox). Non molto utile per la maggior parte dei giochi lo swap chain è fondamentale per numerosissime applicazioni. Un editor grafico 3D ha ad esempio bisogno di gestire su più aree diverse inquadrature di una stessa scena o potrebbe servire realizzare un programma su più finestre separate. Cosa fate in questo caso? Ci sono solo 2 soluzioni:
1) creazione di più device (appesantimento eccessivo del programma);
2) utilizzo dei swapChain.
Ogni oggetto swapChain è una specie di miniDevice in grado di mantenere al suo interno un backBuffer e di direzionale un rendering verso un oggetto stabilito da noi. Inoltre ogni swap sarà indipendente per caratteristiche ma potrà utilizzare tutte le risorse messe a disposizione....
Di RobyDx (del 27/07/2007 @ 15:41:50, in DirectX9, linkato 2991 volte)
La possibilità per directX di renderizzare una scena su una texture anzichè direttamente nello schermo è senza dubbio la caratteristica più importante per la realizzazione dei moderni effetti grafici, specie se in Vertex e Pixel shader. Lo stile che si adopera è chiamato multi pass: la scena viene renderizzata su una texture e questa poi viene elaborata ed infine presentata sullo schermo. Il motivo di ciò sta nel fatto che molti effetti sono notevolmente complessi e richiedono quindi il passaggio per varie fasi.
Ad esempio riportato nel sito è il depth of field. Questo richiede 3 passaggi:
1)rendering normale su una texture
2)rendering del cosiddetto depth space cui il colore della scena è la distanza dal punto di messa a fuoco con colore in scala di grigio
3)sfocatura finale in cui finalmente sullo schermo viene renderizzata la prima texture a pieno schermo sfocata tramite i dati contenuti nella seconda.
Essendo impossibile sfocare i poligoni è necessario trasformare la scena in una texture renderizzandola alla fine come un rettangolo che copra l'intero schermo.
Questo è solo un semplice esempio. Molti giochi, come ad esempio Half Life 2, richiedono decine di rendering separati che vengono dal modello iniziale generano luci, rilievi e riflessioni che vengono poi assemblati per ottenere il risultato finale....
Di RobyDx (del 27/07/2007 @ 15:52:41, in DirectX9, linkato 1533 volte)
I vertex buffer sono utilizzati come sappiamo per contenere i dati sui vertici di un modello. Questi possono essere inclusi in una mesh o utilizzati separatamente e passati al device. Riuscire a creare da zero un vertexbuffer può risultare fondamentale in moltissime situazioni, specie se si deve creare un oggetto da zero o lo si deve caricare da un formato diverso dal formatoX....
Di RobyDx (del 27/07/2007 @ 16:01:19, in DirectX9, linkato 2577 volte)
La struttura più utilizzata da tutti per il rendering è la mesh, ma pochissime persone sanno esattamente come è strutturata una mesh e come crearla in assenza di fileX. Una mesh è per definizione un oggetto 3D, una figura composta da un insieme di triangoli, eventualmente raggrupati in insiemi che si differenziano per materiale (texture e colori)....
"I computer sono incredibilmente veloci, accurati e stupidi. Gli uomini sono incredibilmente lenti, inaccurati e intelligenti. Insieme sono una potenza che supera l'immaginazione."