Di RobyDx (del 25/03/2007 @ 15:12:22, in DirectX9, linkato 2967 volte)
La stencil buffer permette, come ho detto, la possibilita di creare maschere per delimitare con precisione delle zone dello schermo in cui renderizzare. Uno degli infiniti usi è la gestione delle ombre volumetriche. Un ombra si dice volumetrica se un oggetto la proietta non solo a terra ma su tutti gli oggetti che si trovano in ombra. Una cosa normale in natura ma molto difficile in computer grafica specie se in real time. Giocate a qualche gioco in terza persona e osservate l'ombra a terra: questa nella maggior parte dei casi si proietterà perfettamente al suolo e su un muro ma non su nemici che potrebbero trovarsi nel cono d'ombra. In questo caso l'ombra non è reale ma solo approssimata. Una vera ombra invece dovrebbe coprire tutti gli oggetti. Lo stencil permette proprio questo.
Di RobyDx (del 25/03/2007 @ 14:57:55, in DirectX9, linkato 3074 volte)
Come abbiamo visto il backbuffer è una grossa superficie (diciamo una matrice grande quanto lo schermo) che contiene l'immagine che stiamo creando man mano che disegniamo cose; ogni volta che disegniamo qualcosa Direct3D non fa altro che cambiare il valore numerico dei pixel interessati dal disegno con quelli della nuova immagine. Il tutto quindi si riduce a numeri. Abbiamo anche visto che la seconda superficie è il depth buffer (detto anche Z buffer) responsabile delle profondità: quando viene disegnato un modello Direct3D controlla sullo Z buffer la profondità di ogni pixel e solo se la profondità è minore (il pixel del modello 3D si trova avanti a quelli precedentemente disegnati) fa modificare sia il backbuffer che il depth buffer. Lo stencil buffer è la terza superficie speciale di DirectX ed in qualche modo opzionale visto che si potrebbe benissimo vivere senza. Per spiegare il funzionamento farò un esempio. Immaginate di renderizzare un cubo. Nelle zone interessate dal rendering vengono modificati i pixel del backbuffer ma possiamo tenere in memoria il fatto che in quei punti è stato disegnato un oggetto. In questo caso diciamo allo stencil buffer di memorizzare questo fatto. Ora abbiamo sulla superficie stencil dei valori che ci indicano dove è stato disegnato qualcosa oppure no. Abbiamo creato una maschera. Finchè non puliamo lo stencil possiamo dire a DirectX di non disegnare i quei punti o di disegnare solo lì....
Di robydx (del 20/03/2007 @ 20:33:35, in Direct3D10, linkato 3714 volte)
In grafica 3D movimenti, rotazioni, ridimensionamenti sono comunemente chiamati trasformazioni affini. Trasformare un solido significa eseguire delle operazioni su ogni vertice in modo che il poligoni vengano posizionati in modo corretto. L'operazione da applicare è un prodotto di ogni singolo punto per una struttura chiamata matrice.
Una matrice è una tabella di numeri reali di dimensione NxM.
I valori al suo interno vengono chiamati elementi della matrice e si identificano citando il numero della riga orizzontale partendo dall’alto e della colonna verticale partendo da sinistra. ...
Di VinceDX (del 18/03/2007 @ 21:35:41, in FanGames, linkato 3450 volte)
Questo è il sorgente di un gioco di Forza 4 realizzato in C++ da Ercand. Comprende anche le immagini e tutto il necessario. Compilate e spostate l’eseguibile nella directory del progetto.
Di RobyDx (del 13/03/2007 @ 23:35:48, in Direct3D10, linkato 2238 volte)
Il codice shader ci permette di gestire la nostra grafica trasformando i nostri vertici da ciò che ci arriva tramite il vertex buffer ad uno o più valori float4 che diventano i nostri colori sullo schermo. Passiamo in dettaglio lo shader.
Uno shader è molto simile ad un listato di codice C seppur molto semplificato e senza la presenza dei puntatori. All'interno del codice è possibile inserire molte funzioni, strutture ed effettuare anche include ad altri file (permettendo di includere quindi altri file e crearvi delle librerie di effetti).
Alla fine del file viene posizionata la technique che descrive quali funzioni vanno inserite nel device per vertex, pixel e geometry shader. ...
Di robydx (del 13/03/2007 @ 23:25:06, in English, linkato 2588 volte)
Let's start to do something of nice, and that will work. I know you would start now with 3D but before we have to start form 2D and we, now, will talk about fonts: how to write on the screen.
In DirectX10 (like in 9) the 2D graphics does not exists. Text and sprites (i'll talk about it nextly), are function written by Microsoft that moves some polygons with Z component = 0, in which it's interted images or text.
The using it's simple. Let's start with objects declaration:...