Di robydx (del 26/06/2007 @ 00:04:57, in Direct3D10, linkato 2458 volte)
Una delle cose fondamentali utilizzando DirectX è il poter accedere alle risorse contenuti nei buffer. Ad esempio può essere necessario poter leggere i vertici contenuti nelle mesh e magari modificarli.
Direct3D10 ha modificato in maniera sostanziale la gestione della memoria creando delle regole che possono inizialmente creare dei problemi ma che alla fine diventano un ottimo sistema di gestione. Ogni risorsa infatti è creata in modo da poter essere letta o scritta solamente dalla GPU o dalla CPU. Questo ad esempio può significare che una certa risorsa può essere creata per poter essere letta dalla GPU (esempio una texture quando viene mandata a video) e scritta dalla CPU (per poter essere modificata), oppure il contrario, oppure essere gestita completamente solamente dalla GPU o solamente dalla CPU....
Di robydx (del 20/06/2007 @ 22:16:16, in Direct3D10, linkato 2559 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. ...
Di RobyDx (del 20/06/2007 @ 12:14:19, in News, linkato 1191 volte)
Come avrete notato il forum è giù in quanto misteriosamente abbiamo consumato tutta la banda che altervista ci metteva a disposizione. Di conseguenza per un pò il forum non funzionerà, ci scusiamo per i problemi.
Anche il vecchio spazio non funziona più, se dovete vedere i vecchi tutorial non ancora uppati sul nuovo sito andate su www.robydx.altervista.org.
Intanto lancio una domanda a tutti voi: conoscete un buon forum free funzionante in ASP/ ASP.Net che utilizzi come database Access o file di testo?
Di robydx (del 17/06/2007 @ 09:22:41, in News, linkato 1168 volte)
Come promesso ho aggiornato i demo per correggere il problema della gestione della profondità. Ricordo infatti che con la versione di Giugno della SDK lo ZBuffer è impostato a false di default quindi dovrete abilitarlo per vedere il rendering correttamente.
Di RobyDx (del 16/06/2007 @ 09:14:06, in Software, linkato 1106 volte)
Sul sito nvidia è stata rilasciata la beta del nuovo FX Composer, l'editor di shader della nVidia. Ad una prima rapida occhiata, l'editor è migliorato notevolmente nonostante mantenga quell'approccio un pò complesso che di certo non ne semplifica l'utilizzo all'utente newbie (a volte neanche a quello più esperto). Vi consiglio un bel download, il prodotto è valido e soprattutto ricco di esempi. Unico grandissimo difetto è che l'editor è DirectX9. Questo significa che ad oggi non ho ancora un editor per scrivere shader in DirectX10 (che debba farmelo da solo?!).
Di RobyDx (del 07/06/2007 @ 00:17:19, in Software, linkato 1511 volte)
E' uscita la nuova SDK di DirectX (ogni due mesi non si scappa). Come al solito bug fix, miglioramenti a codice e tool e qualche sano grattacapo per chi come me cerca di stare dietro ad un programma di lezioni.
Per chi segue i miei corsi DirectX10 dovete fare un cambiamento agli shader. Definite questa variabile
DepthStencilState EnableDepth {
DepthEnable = TRUE;
DepthWriteMask = ALL;
DepthFunc = LESS_EQUAL;
};
nel pass mettete
SetDepthStencilState( EnableDepth, 0 );
In pratica hanno deciso che di default lo ZBuffer è disabilitato. Quando avrò tempo correggerò i tutorial (queste settimane sono stato pieno di lavoro e quindi ho dovuto mettere da parte un attimo il sito).
Continuate a seguirci e vi ricordo che potete partecipare pubblicando vostri tutorial e programmi.
Di robydx (del 28/05/2007 @ 20:54:54, in Direct3D10, linkato 1913 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. ...
Di robydx (del 20/05/2007 @ 19:50:14, in FanGames, linkato 2021 volte)
Vi segnalo il gioco Tanks A Lot realizzato da Matteo ed il suo gruppo. E' stato rilasciato sotto licenza GPL e quindi potete collaborare al gruppo per migliorarlo.
Di robydx (del 20/05/2007 @ 19:44:48, in Direct3D10, linkato 1884 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....
Di robydx (del 13/05/2007 @ 20:51:14, in English, linkato 2940 volte)
A shader code let us to manage our graphics by transforming our vertices from what comes from vertex buffer to one or more float4 that will become our colors on the screen. Let’s examine better the shader
A shader it’s very similar to a generic C code, but much more simple and without pointers. In the code it’s possible to define functions, structures and also include other files (in this mode we can separate effects in fx files).
At end of file there is the technique that describes what functions will be used into device for vertex,pixel and geometry shader as i’ve said in previous tutorials, the shader it’s executed for each vertex and pixes that are called in the Draw() function. This means that it’s difficult to have a complete control of single pixel or vertex of a primitive. It’s important to remember this the first input it’s vertex buffer that contains vertices of scene. In previous tutorial we have saw how, with vertex layout and semantics, it’s possible to get vertices contained in the buffer. For each vertex of vertexbuffer , the device executes shader code. Then a first mode to insert data it’s the vertex buffer, using his variables. This for data that must be unique for each vertex. But there is some data that are in common for all vertices. These informations are called constans. A const data must be inserted in the shader code but out from functions (like global variables). These are visible in all the shader but they cannot be modified from code (if you modify a const variable you will not get an error, but it’s value will return to initial state in the next cycle). This won’t let you to store data (for example, understand how many times have you done a cycle) the only way to set a const value it’s by passing it by device....