notJustCode.it
 
\\ Home : Storico : Direct3D10 (inverti l'ordine)
Di seguito gli interventi pubblicati in questa sezione, in ordine cronologico.

Di robydx (del 20/06/2007 @ 22:16:16, in Direct3D10, linkato 2421 volte)

Uno sprite è una immagine bidimensionale all'interno della scena, solitamente utilizzata per visualizzare menù (esempio la barra della vita nei giochi). In Direct3D lo sprite è un rettangolo 3D orientato permanentemente verso la telecamera e renderizzato in modo da superare depth test (il calcolo della profondità). Il risultato è un oggetto sempre in primo piano che dà l'aspetto di una immagine bidimensionale. La classe ID3DX10Sprite è un set di funzioni di utilità che gestiscono questo tipo di rendering. ...

Vai all'articolo...

dividerMark
Di robydx (del 28/05/2007 @ 20:54:54, in Direct3D10, linkato 1770 volte)

Normalmente ogni volta che DirectX effettua un rendering, aggiorna i pixel del backbuffer con quelli del nuovo oggetto. L'alphablending è una caratteristica di DirectX che permette invece di effettuare un' operazione di confronto tra il pixel che si sta per mandare a video e quello già presente sullo schermo. In questo modo si possono creare ad esempio effetti di trasparenza impostando l'alphablending in modo che l'oggetto che si sta renderizzando sia una media tra lo sfondo e l'oggetto.

Il colore finale dei pixel dell'oggetto che si sta renderizzando rispettano questa formula

Final Color = ObjectColor * SourceBlendFactor + PixelColor * DestinationBlendFactor

Dove ObjectColor è il colore dell'oggetto, PixelColor quello del backbuffer in quel punto (quindi ciò che è già stato renderizzato) mentre SourceBlendFactor e DestinationBlendFactor sono le impostazioni dell'alphablending. ...

Vai all'articolo...

dividerMark
Di robydx (del 20/05/2007 @ 19:44:48, in Direct3D10, linkato 1733 volte)

Il rastering è il processo che partendo dalla descrizione dei poligoni (in DirectX solo di tipo triangolare), genera a video i triangoli. Nei precedenti tutorial è già stato spiegato in teoria come funziona il processo: il vertex shader valorizza i vertici, il rasterizer calcola tutti i pixel necessari per riempire il triangolo e per ognuno di questi fa una media pesata tra i 3 vertici in base alla posizione mandando il risultato al pixel shader.

Su questo processo è possibile intervenire. A differenza di DirectX9, in DirectX10 tali settaggi vengono fatti da codice shader (anche se vi mostrerò come poterlo fare comunque da codice).

I settaggi vengono contenuti in una variabile RasterizerState nel codice HLSL e passati tramite l’istruzione SetRasterizerState all’interno del pass....

Vai all'articolo...

dividerMark
Di robydx (del 13/05/2007 @ 10:50:33, in Direct3D10, linkato 1637 volte)

Passiamo ora ad un nuovo modello di illuminazione, il Phong , quello di default per le vecchie DirectX (con la differenza però che noi calcoliamo tutto nel pixel shader evitando i difetti dell'interpolazione lineare ed ottenendo una qualità molto più elevata).

Il modello di illuminazione phong riprende il modello lambertian inserendo però l'effetto speculare (il bagliore delle auto è un esempio di specular).

La luce speculare dipende sia dall'oggetto, attraverso le normali, sia dalla posizione dell' osservatore.

La formula di illuminazione è la seguente...

Vai all'articolo...

dividerMark
Di robydx (del 07/05/2007 @ 20:05:36, in Direct3D10, linkato 1757 volte)

L’elemento più importante nel mondo visivo è la luce. Tutto ciò che noi vediamo dipende unicamente da questo fattore e per questo le luci sono l’elemento chiave di ogni rappresentazione visiva, dal disegno agli effetti speciali nei film.

Per prima cosa bisogna partire da un presupposto importante: la luce reale non può essere rappresentata, e forse non lo sarà mai. La luce è composta da infinite particelle che rimbalzano contro gli oggetti determinandone il colore. ...

Vai all'articolo...

dividerMark
Di RobyDx (del 27/04/2007 @ 12:06:18, in Direct3D10, linkato 2949 volte)

 

Un oggetto 3D in DirectX10 è formato principalmente da 2 buffer, il vertex buffer e l’index buffer. Essendo questi oggetti sempre in coppia la SDK ci fornisce un oggetto che li gestisce entrambi: la ID3DX10Mesh.

Una mesh incapsula il vertex e l’index buffer e ci permette di fare molte operazioni in modo più semplice. Per chi viene da DirectX9 c’è da dire che purtroppo molte funzioni utili sono state rimosse, forse perché ritenute troppo restrittive in vista del nuovo approccio completamente orientato agli shader....

Vai all'articolo...

dividerMark
Di robydx (del 21/04/2007 @ 16:30:54, in Direct3D10, linkato 1673 volte)

Con i vertex buffer tutta la descrizione geometrica è contenuta sotto forma di array di strutture in un buffer.

Questo presenta un grosso svantaggio. Osservate questa immagine.

  

Per rappresentarla con il solo vertex buffer sono necessari 2 triangoli, quindi un array di 6 vertici....

Vai all'articolo...

dividerMark
Di RobyDx (del 16/04/2007 @ 21:41:01, in Direct3D10, linkato 1839 volte)

Il Geometry Shader è la novità più conosciuta e forse più importante di DirectX10. Questo nuovo tipo di Shader si posiziona tra il Vertex Shader ed il Pixel Shader.

La pipeline di DirectX10 esegue questi step: 

  1. ogni vertice viene passato al Vertex Shader che restituisce il vertice trasformato
  2. i vertici vengono raggruppati in primitive e passati al Geometry Shader che restituisce la primitiva trasformata
  3. DirectX10 prende la primitiva e per ogni Pixel contenuta in essa calcola il valore interpolato da passare al Pixel Shader (operazione di Rastering)
  4. Il Pixel Shader prende il valore dal rastering e restituisce il colore finale
  5. Il colore viene confrontato con quello già presente ed il risultato viene stampato sul target...

    Vai all'articolo...

dividerMark
Di RobyDx (del 10/04/2007 @ 20:09:04, in Direct3D10, linkato 1870 volte)

Nel precedente tutorial abbiamo caricato una texture da file. Ora la useremo nello shader.

A differenza di DirectX9, una texture può essere utilizzata senza problemi in tutti i tipi di shader.

Una texture viene dichiarata nel codice HLSL usando le parole chiavi texture1D, texture2D e texture3D

Texture1D myTexture1;

Texture2D myTexture2;

Texture3D myTexture3;

Nel codice C++ vi basterà passare la risorsa alla corretta variabile

ID3D10EffectShaderResourceVariable* texVal =  texVal = effect-> GetVariableByName("myTexture2")-> AsShaderResource();

texVal->SetResource(texture);

In DirectX10 è possibile utilizzare la texture sia direttamente, cosa non possibile prima, che tramite i sample. La sintassi è molto cambiata quindi conviene leggere di seguito. ...

Vai all'articolo...

dividerMark
Di robydx (del 01/04/2007 @ 12:03:14, in Direct3D10, linkato 2012 volte)

DirectX memorizza tutte le sue risorse in buffer di memoria. Abbiamo già visto alcuni tipi di risorsa, come i vertex buffer.

Un tipo ormai fondamentale di risorsa è la texture. Una texture è una risorsa adibita alla gestione di immagini che sono utilizzate come rivestimento per il modello 3D. L’utilità è abbastanza ovvia. Per simulare la forma di un oggetto servono triangoli e se di dovesse rappresentare come triangoli ogni singolo dettaglio di un oggetto ne servirebbero troppi anche per una scheda DirectX10. Per questo si tende a rappresentare molti dei dettagli che non necessitano di uno spessore su di una immagine bitmap che viene avvolta attorno all’oggetto. Così un nostro ipotetico serpente non avrà le squame poligonali ma sarà un tubo con la foto della pelle applicata al modello. ...

Vai all'articolo...

dividerMark
Pagine: 1 2 3
"Se tutto deve rimanere com'è, è necessario che tutto cambi"

Giuseppe Tomasi di Lampedusa, Il gattopardo


Cerca per parola chiave
 

Titolo
Articoli (4)
C++ (4)
Direct3D10 (30)
Direct3D11 (20)
DirectX9 (82)
DotNet (10)
English (9)
FanGames (22)
ManagedDX11 (2)
Materiale Utile (4)
News (39)
Shader Library (12)
SharpDX (1)
Software (25)
Tecnologia (19)
Varie (9)

Gli interventi più cliccati

Ultimi commenti:
If you wish to retai...
23/05/2013 @ 13:07:45
Di chanel outlet
You deficit of self-...
23/05/2013 @ 13:07:13
Di cartier watches uk
Reinforce your own l...
23/05/2013 @ 13:06:37
Di replica watches
Whenever you"re shiv...
23/05/2013 @ 13:06:11
Di swiss replica watches
It's likely you have...
23/05/2013 @ 13:05:02
Di chanel handbags
Cheap automobile ins...
23/05/2013 @ 13:04:28
Di replica watches

Titolo
Con quale tecnologia state realizzando o avete intenzione di realizzare i vostri progetti?

 DirectX11
 DirectX10
 DirectX9
 XNA
 DirectX8 o Precedenti
 OpenGL
 Motori grafici già pronti
 Altro

Titolo
Umorismo (17)

Le fotografie più cliccate



Ci sono 15 persone collegate
Sono state visualizzate  pagine

04/12/2021 @ 13:57:38
script eseguito in 55 ms