Quando ci si avvicina per la prima volta ad un argomento come la programmazione dei videogiochi è spesso difficile capire realmente cosa fare. Le nozioni con cui si viene a contatto sono molte e capire come si integrano nell'immenso contesto alle volte può rappresentare un ostacolo....
Di robydx (del 30/04/2010 @ 20:53:03, in Direct3D11, linkato 2795 volte)
Con la crescente potenza e versatilità delle schede video sono nate negli ultimi anni diverse tecnologie volte ad utilizzare la GPU per operazioni diverse dal rendering di grafica. Tra le tecnologie volte a questo scopo c’è ad esempio CUDA di nVidia, OpenCL e, nel caso di DirectX11, le Direct Compute.
Sotto il nome di Direct Compute c’è un sotto insieme di funzioni Direct3D per l’esecuzioni di calcoli matematici tramite l’utilizzo dei Compute Shaders, degli speciali Shader che anziché entrare nella pipeline grafica non fanno altro che leggere e scrivere su appositi buffer di memoria....
Di robydx (del 20/04/2010 @ 23:48:46, in Direct3D11, linkato 2541 volte)
Una delle cose fondamentali utilizzando DirectX è il poter accedere alle risorse contenute nei buffer, che siano Constant Buffer, Texture o Vertex Buffer.
Ogni risorsa è 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), o viceversa oppure essere gestita completamente solamente dalla GPU o solamente dalla CPU....
Di maxino1969 (del 14/04/2010 @ 21:26:21, in Varie, linkato 4499 volte)
Cosa è Cuda?
“CUDA è un'architettura di elaborazione in parallelo realizzata da NVIDIA che permette netti aumenti delle prestazioni di computing grazie allo sfruttamento della potenza di calcolo delle GPU (unità di elaborazione grafica)” (fonte Nvidia). Per fare ciò Nvidia si è inventata il linguaggio “Cuda”. ...
Di RobyDx (del 13/04/2010 @ 08:39:43, in News, linkato 1403 volte)
Volevo segnalare a tutti voi il rilascio di Visual Studio 2010 e del framework .Net 4.0. Avendo provato le varie beta e rc posso dirvi che le novità sono parecchie e molto interessanti. La versione professional inglese è già disponibile per gli abbonati MSDN.
Ricordo comunque che esiste da tempo anche la versione Express di Visual Studio che è gratuita e che comprende tutto quello che un programmatore medio può trovarsi ad usare.
Il link alla versione Express di Visual Studio 2010 lo trovate qui
Di robydx (del 10/04/2010 @ 14:48:55, in Direct3D11, linkato 5360 volte)
La tessellation è senza dubbio la caratteristica più interessante introdotta da Direct3D11. Questa caratteristica comprende la possibilità di aumentare il numero di triangoli presenti in un oggetto direttamente all’interno della scheda video definendo attraverso 2 nuovi shader il modo con cui questa operazione deve avvenire. Il funzionamento appare all’inizio un po’ complesso ma una volta capito diventa estremamente semplice fare ciò che si vuole....
Di robydx (del 02/04/2010 @ 12:09:00, in Direct3D11, linkato 2309 volte)
Il Geometry Shader è la novità più conosciuta e forse più importante introdotta nelle Direct3D10. Questo nuovo tipo di Shader si posiziona prima del Pixel Shader ossia quando le basi della geometria sono già state tracciate dal Vertex, Hull e Domain Shader. Ricordo infatti che il Vertex Shader prende in input i vertici provenienti dal Vertex Buffer dando loro una prima trasformazione e che l’Hull ed il Domain eseguono un aumento degli stessi ed una regola di posizionamento. Al Geometry Shader arrivano geometrie definitive a cui è possibile far eseguire le ultime trasformazioni prima della loro colorazione tramite il Pixel Shader. ...
Di robydx (del 21/03/2010 @ 17:20:24, in Direct3D11, linkato 2716 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.
Quello che possiamo fare è solo cercare di simularla, cosa che nei videogiochi è la sfida più difficile....
Di robydx (del 14/03/2010 @ 15:19:22, in Direct3D11, linkato 2147 volte)
Una delle prime grandi caratteristiche introdotte in Direct3D11 è l’introduzione del paradigma della programmazione orientata agli oggetti all’interno degli shader. Ormai i videogiochi moderni possiedono centinaia o addirittura migliaia di shader che vengono gestiti dai motori grafici e la loro gestione sta diventando sempre più complessa e disordinata.
La possibilità di utilizzare oggetti permette di creare shader complessi in modo più semplice ed ordinato. All’interno del linguaggio HLSL è possibile ora definire classi ed interfacce in cui definire metodi e variabili da utilizzare nei nostri Shader ovviamente concedendoci la libertà di utilizzare l’ereditarietà....
Di robydx (del 06/03/2010 @ 18:41:00, in Direct3D11, linkato 3663 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....
"La teoria è quando si sa tutto ma non funziona niente. La pratica è quando funziona tutto ma non si sa il perché. In ogni caso si finisce sempre con il coniugare la teoria con la pratica: non funziona niente e non si sa il perché."