Di robydx (del 18/01/2007 @ 23:30:37, in DirectX9, linkato 2430 volte)
Una cosa molto utile (forse fondamentale) è il testo. In Direct3D il testo viene utilizzato creando un oggetto Font (da non confondere con Font di VB). ...
Di robydx (del 19/01/2007 @ 20:14:46, in DirectX9, linkato 3356 volte)
Uno sprite è una texture che non viene utilizzata su un modello ma renderizzata come immagine 2D. Dato che DirectDraw è separato da Direct3D è necessario un controllo di base per tutta la grafica bidimensionale che può servire....
Di robydx (del 19/01/2007 @ 20:23:49, in DirectX9, linkato 2480 volte)
Cominciamo ad utilizzare alcune nuove funzionalità di DirectX9. Una di queste è la possibilità di creare oggetti tridimensionali predefiniti e (questa è la novità) la possibilità di generare testo tridimensionale. ...
Vi segnalo la Oki.lib realizzata da Okay, una libreria in C++ per programmatori che sviluppano videogames. Gestisce files audio .wav, .mid e .mp3 con DirectShow e sound 3d in .wav con DirectSound.
Il depth of field o in italiano profondità di campo è la nostra normale visione dell'ambiente. Mettete un dito davanti al volto e mettetelo a fuoco: tutto il resto sarà sfocato. Lo stesso problema insomma della messa a fuoco di ogni macchina fotografica. L'utilizzo della profondità di campo si sta diffondendo rapidamente con ottimi risultati (un ottimo esempio è Prince of Persia The sand of time di Ubisoft). Il risultato è un maggiore realismo delle scene che da un maggiore senso di profondità alla scena....
Questo effetto è un semplice inganno ma di grande effetto. La prima parte consiste in un semplice rendering su una texture cubica della scena. Questa texture viene applicata al piano tramite codice HLSL in particolare tramite l'istruzione reflect che calcola il vettore riflessione da quello normale (normale al piano) e quello incidente (direzione della telecamera). L'immagine deformata tramite una texture normale che modifica le coordinate texture scorrendo nel piano. La maggior parte del lavoro è fatta dal pixel shader. La scena finale renderizza solo la cubeMapping attorno alla scena ed il piano con la texture riflessa. Utilizzando invece refract potete visualizzare la rifrazione della scena. In pratica un semplice trucco di gran effetto per molte tipologie di gioco (ad esempio è adattissimo per giochi come Resident Evil).
Nonostante perda gran parte, dell'interesse la perPixelLighting può essere effettuata anche senza una mappa normale, ma sfruttando le normali della mesh. Si perde la gestione del rilievo ma se non serve si ha comunque un miglioramento incredibile dell'illuminazione. La normale luce infatti viene per dire rovinata dal fatto che il calcolo è preciso solo nel vertice mentre il risultato è interpolato nel triangolo. Se non ci sono molti poligoni il modello mostra tutta la sua "triangolatura". Con la perPixelLighting anche un modello con pochi poligoni mostra una illuminazione assolutamente perfetta e pulita come potete vedere....
Questo è uno shader creato da me che vuole simulare il tratto chiaro, scuro fatto con la china. L'effetto sfrutta numerosi passaggi per essere realizzato. Il primo passo è un rendering multiplo su tre texture. Nella prima viene renderizzata la scena normale illuminata in perPixel lighting, sulla seconda il depth space e sulla terza il normal space. Il depth space ed il normal space sono il rendering della scena in cui però il colore è utilizzato come informazione. Il depth compare come una scena in sfumature di grigio in cui più il colore è vicino al bianco e più la scena è lontana. Il normal space invece usa come colore la normale. Questi due spazi vengono utilizzati per generare il contorno tramite filtro sobel. ...
Questa tecnica è semplice ma efficacissimo sistema per migliorare le luci presenti nella scena. Ua luce infatti oltre ad illuminare la scena genera intorno a se un alone luminoso che ne risalta il colore. La procedura è relativamente semplice. Su una texture renderizziamo la scena normale mentre su una seconda solo le parti luminose...
Il fuoco è un elemento fondamentale per molti giochi. Realizzare un fuoco credibile è sempre stato difficile richiedendo migliaia di trucchi (immagini precalcolate, bump mapping etc). Oggi con i pixel shader 2.0 è possibile realizzare il fuoco calcolando in tempo reale il movimento della fiamma. Esistono moltissimi algoritmi. Ve ne propongo uno. La tecnica non fa altro che renderizzare su un quadrato a pieno schermo una fiamma generata da una noise map (una texture cubica che ha lo scopo di perturbare la fiamma) ed una linea contentente i vari colori della fiamma. L'algoritmo è un pò complesso ma di facile impiego.
"Ciò che veramente mi interessa è se Dio avesse potuto fare il mondo in una maniera differente, cioè se la necessità di semplicità logica lasci qualche libertà."