Di RobyDx (del 28/01/2007 @ 16:06:28, in DirectX9, linkato 1691 volte)
La nebbia in DirectX (o per dirla in modo più fico l'effetto di fogging) è uno dei numerosi effetti che vengono utilizzati nella grafica tridimensionale. Questo effetto, uno dei più utilizzati, consiste semplicemente in quello che il nome suggerisce: la visualizzazione della nebbia nella scena con l'intensità ed il colore che noi preferiamo. Molte persone che hanno seguito l'evoluzione dei giochi 3D hanno spesso una considerazione negativa dell'effetto nebbia. Questo effetto che è nato per dare un maggior realismo alle scene è stato infatti usato per anni per coprire il problema del clipping. Per chi non sapesse cosè il clipping sappiate che il concetto è molto semplice. Un calcolatore ha una certa potenza di calcolo e di conseguenza se deve visualizzare una scena 3D troppo grande (unita alla gestione del resto gioco) non riesce ad aggiornarla sufficientemente veloce. Di conseguenza si cerca di visualizzare solo gli oggetti vicini non renderizzando quelli distanti in modo da diminuire il numero totale di poligoni. Questo si chiama appunto clipping. Dato che in questo modo si creano dei vuoti che dovrebbero contenere gli elementi più distanti si cerca allora di nasconderli. Uno dei modi più usati è proprio la nebbia. Ad esempio si può inserire una nebbia molto fitta che impedisce di vedere oltre i 30 metri e quindi non renderizzare gli oggetti oltre questa distanza. Purtroppo a volte viene impiegata tanta di quella nebbia da rendere troppo stretta la visuale e quindi difficile orizzontarsi negli ambienti di gioco proposti. Da qui la sua connotazione negativa. Oggi i calcolatori attuali e soprattutto le console non dovrebbero più avere questi problemi e quindi non dovrebbe essere necessario utilizzare la nebbia per nascondere problemi nel motore del gioco. Il fogging rimane comunque un effetto molto bello che può dare un tocco di realismo alla scena e (senza esagerare) nascondere un pò di clipping....
Di VinceDX (del 31/01/2007 @ 15:13:28, in Software, linkato 1308 volte)
Ormai l'informatica ha preso piede tra tutti noi, tutti siamo connessi ad internet e tutti seguiamo i suoi sviluppi. Credo sia veramente la prima volta che tutti hanno assistito alla nascita di un sistema operativo. Si era iniziato con Windows XP, ma internet non era sviluppato come oggi, e le informazioni erano più difficili da trovare. Di Vista invece abbiamo seguito tutta l'evoluzione, sin da quanto si chiamava ancora Longhorn. Piano piano nascevano le idee, venivano rilasciate informazioni... e per la prima volta si è avuto un beta testing di dimensioni bibliche. A tutti è stata data la possibilità di scaricare le Beta per testarle, provarle, mandare feedback e consigli. Questo comporta che Vista sia il SO più testato della storia. Come potrete apprezzare nei giorni a venire, Vista è incredibilmente stabile... e finalmente possiamo dirlo: sicuro!...
Di RobyDx (del 01/02/2007 @ 17:08:01, in Tecnologia, linkato 1628 volte)
Da pochi giorni è uscito il nuovo sistema operativo Windows Vista, il primo della Microsoft a stare su un intero DVD. Una generazione si apre ed una si chiude: il floppy va in pensione.
Il mio primo pc arrivò piuttosto tardi rispetto a molti di voi. Avevo infatti quasi 20 anni quando accesi il mio primo pc ma ricordo benissimo il valore del floppy, quel curioso pezzo di plastica che avevo già utilizzato nelle rare ore di laboratorio nei primi anni di liceo.
Parlo così perchè la catena di distribuzione inglese PC World ha deciso in questi giorni di mettere la parola fine a questo supporto ormai troppo poco capiente per conservare qualsiasi tipo di dato. In effetti 1.44MB non bastano neanche a salvarsi una foto un minimo decente, come non bastano per driver e software. Comunque onore al floppy, un dispositivo che dal 1969 (la versione 1.44MB risale però al 1987) ha servito fedelmente i nostri PC. Finisce così un capitolo nella storia dell'informatica. Vedremo quando toccherà anche al Compact Disk.
Di RobyDx (del 03/02/2007 @ 00:31:27, in Direct3D10, linkato 4481 volte)
Benvenuti al primo tutorial della nuova serie di lezioni dedicate a DirectX10. Per chi fosse completamente nuovo al mondo della programmazione grafica, ed in particolare di DirectX, possiamo riassumere che questa è una API, ovvero librerie software messe a disposizione dei programmatori, con cui vengono realizzati giochi ed applicazioni grafiche per PC ed alcune consolle (come l'XBox 360).
Insieme alla concorrente open source OpenGL è usata per il 99% (se non il cento) di tutte le applicazioni grafiche per computer e console.
DirectX offre una serie di componenti e funzioni per poter gestire grafica 2D e 3D, audio, input da tastiera, mouse e periferiche di gioco (come joypad e volanti ad esempio), e funzionalità di rete (per aiutarvi ad inserire le modalità multiplayer). Nel corso degli anni DirectX si è evoluta in modo continuo segnando lo sviluppo dell'hardware, in particolare delle schede video che evolvono insieme a DirectX.
Di RobyDx (del 03/02/2007 @ 00:42:42, in Direct3D10, linkato 4719 volte)
Continuamo l'introduzione alle nuove DirectX10. Nella prima parte abbiamo visto insieme cosa sono le DirectX e a cosa servono, un po' di storia e di esempi. Ora invece ci concentreremo sul rendering, ovveri i passi necessari a creare l'immagine su schermo....
Di RobyDx (del 08/02/2007 @ 21:21:27, in DirectX9, linkato 1765 volte)
Quando si programma una qualunque applicazione 3D che deve essere renderizzare grafica in tempo reale è necessario prestare sempre attenzione al numero dei poligoni da utilizzare per non appesantire troppo il sistema. Risulta comunque innegabile che più poligoni ci sono e più bella è la scena. L'idea sarebbe quindi quella di visualizzare oggetti più dettagliati quando sono vicini e meno quando sono lontani. Le progressive mesh sono una forma potenziata delle normali mesh che sono in grado di variare dinamicamente il numero dei poligoni dell'oggetto che contengono. In questo modo potrete variare il numero dei poligoni dell'oggetto per variarlo ad esempio con la distanza o in base al sistema giovando notevolmente sulla leggerezza del motore grafico (se saprete adoperarlo bene)....
Di RobyDx (del 08/02/2007 @ 21:29:30, in DirectX9, linkato 2012 volte)
Nel rendering grafico 3D (così come in quello 2D) DirectX effettua sostanzialmente un processo di scrittura a più fasi. Nella prima fase i modelli 3D e gli sprite vengono tracciati sul backbuffer che rappresenta sostanzialmente l'area di lavoro di DirectX e quando il backbuffer è pronto viene mandato al front buffer e quindi tracciato sullo schermo. Se ora ci pensiamo il backbuffer non è altro che una superficie grafica ossia una specie di grande matrice bidimensionale dove vengono memorizzati per ogni pixel i colori e le posizioni in profondità (questo comunque viene scritto nello Zbuffer) per ogni oggetto tracciato. Ogni volta che un nuovo oggetto viene disegnato sul backbuffer sfrutta i valori esistenti per venire tracciato (sfrutta ad esempio i colori già presenti per calcolare le trasparenze ed i valori dello ZBuffer per capire se un pixel stà dietro o davanti ad un oggetto). DirectX ci offre tra le sue tante funzioni la possibilità di gestire al meglio questo processo e addirittura di eseguirlo non solo sul backbuffer ma su qualsiasi superficie compatibile. Questo processo esistente da ormai molte versioni di DirectX è stato migliorato e semplificato notevolmente tanto da poter essere facilmente utilizzato senza problemi. La superficie più comoda su cui renderizzare una scena è senza dubbio una texture. Le possibilità offerte da questa tecnica sono numerosissime. Potete infatti renderizzare una scena 3D su una texture e metterla su un monitor in modo da simulare una telecamera o mettere su texture la stessa scena vista da diversi angoli e visualizzarle come sprite. Nei videogiochi di ultima generazione il rendering su texture viene utilizzato anche per i riflessi degli oggetti (i riflessi di una pista su un'auto) o per preparare zone molto complesse da utilizzare spesso (ad esempio un quadro). Insomma ci si possono fare tante cose alcune semplici, altre complicate ma tutte passano per questo processo quasi banale che in DirectX9 viene gestito dall'oggetto RenderToSurface....
Di RobyDx (del 08/02/2007 @ 21:43:58, in DirectX9, linkato 2607 volte)
Le environment map sono una classe evoluta di texture che presentano caratteristiche di tridimensionalità. Tra di esse questo tutorial ne illustrerà una: la cube texture. ...
Di RobyDx (del 08/02/2007 @ 21:48:41, in Direct3D10, linkato 4288 volte)
Iniziamo con il primo tutorial pratico di DirectX10. Quello che faremo è creare la classica helloworld, una finestra che si limiterà ad utilizzare DirectX per colorare lo schermo.
Consiglio di fare un pò di pratica con il C++ prima di iniziare. Dato che il mio sito è stato frequentato per anni da programmatori .Net cercherò di affrontare le questioni di codice C++ nel modo più semplice possibile, tuttavia classi, puntatori e tutto ciò che riguarda le basi del C++ dovranno essere date per scontate.
Di RobyDx (del 08/02/2007 @ 22:03:29, in DirectX9, linkato 1624 volte)
Come abbiamo visto DirectX usa degli array di vertici per rappresentare gli oggetti tridimensionali. Si suppone quindi che all'interno delle mesh ci siano array di vertici che vengano passati in qualche modo al device. Questo è corretto ma abbastanza approssimativo. La mesh tra i tanti campi che contiene (a noi nascosti) comprende 2 parti in cui sono contenuti i vertici e gli indici. I vertici sapete già cosa sono mentre forse non sapete cosa sono gli indici....