Vincent’s blog

A blog about DirectX and my life.
Subscribe

Archive for February, 2007

Quando le persone cercano di usarti

February 28, 2007 By: Vincent Category: My life No Comments →

Prima di introdurre questo argomento penoso, ci siamo preparati in fisica, e che cazzo.
Elio, grande fetaiolo, non sapeva fare niente, e cosi alle 8 di domenica sera (lunedi interrogazione), il ragazzo chiama
“Ciao, non so fare niente. Vieni a casa mia?”
La reazione giusta sarebbe stata un bel no, ma ho acconsentito perche` e` un compagno e quindi l’ho fatto accomodare da me, tanto sapra`  ricompesarmi (Elio se stai leggendo e non hai capito, e` meglio che ti prepari perche` mi devi far portare l’SH). Una volta da me oltre che a studiare mi ha raccontato varie cose, tra cui il fatto che si urina ancora sotto (mmm, e` una fesseria).
Siamo andati all’interrogazione e ci ha messo uno squallido 6,5.
Gia`  fissato per questo voto di merda, oggi viene interrogato il Dott. Pisani,che prende 8,5 con un’interrogazione simile alla mia. E la fissa sale al massimo. Ma proprio al massimo.

E va bene, non fa niente.
Comunque, prima di passare a oggi, vi annuncio che ho portato lo sturmtiello dal meccanico, specificando i seguenti difetti
1) Tamburo (freno di dietro) si e` consumato: frena una merda
2) Clacson che faceva cagare (un suono che un vecchio muto urla piu’ forte)
3) La marmitta ha perso un bullone e balla (per ora ci sta una fascietta)
4) Lo sturmtiello non regge il minimo: se freno e resto fermo si spegne
5) Paravento da montare, bullone spezzato all’interno
6) Ruota di dietro bloccata da qualcosa, come se frenasse sempre il freno

Chissa`  quanto mi verra`  a costare…

E veniamo, finalmente, al titolo del post di oggi.

Mi sta venendo in mente: ma quanta gente legge il blog? Credo proprio nessuna…cmq…
Vi e` una mia compagna, Ida, protagonista di una vicenda che trovate nel blog (cercatela per qua dentro, fate come se foste a casa vostra), che solitamenete se ne viene con me a casa, facendo entrambi un buon tratto di strada uguale.
Solitamente insieme a noi viene anche Mighele, ragazzo fetoso il quale fa strada con noi. Oggi il caro ragazzo sparisce improvvisamente e cosi io prendo e lo aspetto fuori scuola,evidentemente aveva cose da fare. La ragazzina viene e mi dice di avviarsi a casa.
Io, da bravo compagno qual mi ritengo, dico “No, non ci siamo tutti, quindi aspettiamo”
Sento uno sgrunt ma non ci faccio caso, aspetto e aspetto. Varie implorazioni quali “Eddai, non aspettiamo, andiamo, forza!”, ma io, di saldi principi, non mi muovo per niente.
Cosi improvvisamente scompare Ida: dov’e`? Andata via con altre persone, verso casa.
La bastarda praticamente ha visto che la situazione non era buona ed era andata via.
Un comportamento veramente di merda. Ci sono rimasto perche` la credevo diversa (anche se molti altri eventi mi avevano portato a dubitare del suo vero carattere.)
Se crede che domani potra`  venirsene con me si sbaglia.
Tanto ha altri compagni. Che vada con loro.

Schede DirectX10 anche in AGP

February 23, 2007 By: Vincent Category: DirectX No Comments →

Interessante notizia da nVidia che sembra avere intenzione di produrre schede video AGP compatibili con D3D10.
E’ interessante…la notizia, ma l’idea e` un pa`² pirloide in quanto oggi si va solo con PCI Express, in particolare ritengo che chi ha un pc con scheda madre con slot AGP ha quasi sicuramente un pc merdoso che non riuscirebbe a supportare Windows Vista.
Vi metto comunque l’articolo, sgraffignato da tomsw… (che poi alla fine sono solo 3 righe)

Con l’arrivo delle DirectX 10 in molti ci hanno chiesto se ci sarebbero state novita`  anche per il settore AGP: secondo TheInquirer.net Nvidia ha intenzione di presentare una scheda AGP basata su chip G84, cuore delle soluzioni di fascia media che l’azienda si appresta a mostrare al CeBIT di Hannover. La variante AGP dovrebbe essere commercializzata nel mese di aprile. 

Sabato, al cinema

February 18, 2007 By: Vincent Category: My life No Comments →

E’ da un pa`² che non scrivo nel blog, quindi vi raccontera`² cosa ho fatto questo sabato.

A noi non ce ne importa.
E allora cambiate sito.
Devo proprio finirla di fare le seconde voci, sono proprio antipatiche.

Dunque, dopo una settimana un pa`² scocciata, anche perche` mi sono ripreso dalla febbre, ho fatto un gesto semieroico in quanto non volevano far andare alla gita di 7 giorni 2 miei compagni che avevano preso 7 in condotta. Tentando, senza risultati, a convincere la mia classe di merda che se nessuno fosse andato in gita, li avrebbero fatti venire, decisi di agire da solo, dichiarando “Se non vengono loro, non voglio venire nemmeno io”
Ovviamente ora nessuno crede che sia grazie a me, ma sta di fatto che ora li hanno fatti veinre. Mah.
Ripensandoci, forse sto facendo poco il modesto, io non sono proprio nessuno. Ritiro quello che ho detto: li hanno fatti venire…per questioni economiche.
Entro giovedi inoltre dobbiamo fare un bollettino postale per il saldo della gita (ossia 220 €) e devo anche pagare l’iscrizione al 5 anno di liceo, + 70 euro che vanno alla scuola non si sa per quale motivo. Evidentemente il preside vuole comprarsi il Cayenne che possiamo ammirare qui.
Cayenne
Dunque chiede il contributo a noi. Bastardo di merda che non e` altro…e poi sulla causale “Iscrizione 5 anno”.
Sarebbe stato piu’ onesto far scrivere “Contributo per acquisto nuova auto preside: cayenne”
Sta di fatto che noi pera`² paghiamo…e poi dicono che non ci stanno mai i soldi per fare i corsi di recupero, proprio da dargli una testata.
E’ stato avvistao il preside mentre comprava l’automobile:
Preside e cayenne

Da notare l’estrema pulizia di orecchie e naso, il capello come alphaalpha, e ovviamente, guardatene la faccia: un vero duro. Tutti si cagano sotto solo a vederlo…

Ad ogni modo veniamo al sabato.
Il mio sturmtiello non si firava proprio in quanto la marmitta era proprio andata. GianMario mi avrebbe prestato il suo SR ma non volevo in quanto ho avuto brutte esperienze. Cosi con una fascietta ho messo la marmitta attaccata al collettore e ho notaot il problema: ho perso un bullone.
Con lo storm cerottato, e con un’altra marea di problemi che possiede, siamo andati dal caro Yanma e con un pa`² di ritardo e` venuto pure Yuvannus Pisanorum e ci siamo avviati, lui con lo SportCity, io con lo Sturmtiello.
Arrivati all’UCI c’erano vari compagni e ci siamo visti un film del cazzo,(notte prima degli esami), e dopo al burger king, dove danno tantissima merda e che la gente compra pure.
Dvo dare 10 euro a Boemius medicorum, in quanto avevo il 20 “sano” e non volevo “scagnarlo”.
Durante le attese pallose notai che Teresa era veramente schifosa, o meglio, era molto piu’ il cesso del solito: si era tagliata i capelli, arrivando al limite dell’accettabilita` .
Poi siamo tornati a casa, accompagnato Boemius medicorum, perso un pa`² di tempo in giro con Pisani e poi a dormire.
O meglio, mio padre mi aspettava al varco con cose da fare.

D3D10 out!!

February 09, 2007 By: Vincent Category: DirectX 1 Comment →

Sono uscite le D3D10!! Ma cosa comportano? Ve lo dico da un articolo di Wikipedia, che ho scritto io stesso!

Cambiamenti in DirectX10

DirectX10 avra`  grossi cambiamenti che rivoluzioneranno il modo di scrivere applicazioni RealTime, e ora ne analizzeremo alcuni.

Rimozione completa della fixed pipeline

In DirectX10 vi sara`  una filosofia diversa nell’utilizzo di Device. Ora viene visto non come il centro di controllo totale di una applicazione, ma i suoi compiti vengono allegeriti ponendolo su un piano di risorse,cio e` qualsiasi cosa serva (una texture, una vertex buffer o altro) deve e pua`² essere creato soltanto tramite il device.Quindi non vi saranno piu’ le tipiche funzioni per agire via device sul rendering, come possiamo vedere in questo esempio di D3D9.

Supponiamo sia device un puntatore alla classe IDirect3DDevice9 validato e funzionante

device->SetTexture(EsempioTexture); //Immette la texture per il prossimo rendering
device->SetRenderState(D3DRS_LIGHTENABLE,false) //Disattiva le luci

In questo piccolo esempio e` possibile rendersi conto che tutto cia`² che deve essere immesso per il rendering viene fatto via Device. Questa e` chiamata fixed pipeline. In D3D10 questa viene abolita, sostituendola con gli Shader: quindi ogni applicazione D3D10 dovra`  essere correlata da almeno uno shader, altrimenti sara`  impossibile renderizzare nulla.

Questa rivoluzione portera`  significative difficolta`  a chi vuole avvicinarsi al mondo del 3D tramite Direct3D10, in quanto capire il meccanismo di rendering sara`  piu’ difficile.

Cambiamenti in D3DX

D3DX, la famosa lib nata con DirectX8 per facilitare il compito ai programmatori, e` stata modificata.

Per prima cosa, molte funzioni e classi sugli shader (D3DXCompileShaderFromFile, D3DXAssembleShaderFromFile) sono state passate da D3DX a D3D. Cia`² vuol dire che sono passate dalla libreria ausiliaria a quella principale. Cia`² sottolinea ancora di piu’ il fatto che lo shader sta diventando fondamentale in Direct3D10. Sono state completamente rimosse varie classi per la gestione delle animazioni (ID3DXAllocateHiearchy,D3DXMeshContainer, D3DXFrame), cia`² vuol far intendere un nuovo sistema di animazioni. Di cia`², gioiranno molto i programmatori che a lungo tempo hanno criticato il sistema di animazioni di Direct3D9, forse un pa`² troppo antipatico da gestire.

Lost Device automatico

Direct3D10 sara`  automaticamente in grado di gestire i lost device, ossia quelle condizioni in cui si perde il rendering della scena, ad esempio quando viene ridotta a icona una finestra in cui vi e` un’applicazione D3D10. Con Direct3D9 in quel momento era necessario fermare il rendering, poicha`© nessuno avrebbe visto il risultato del disegno. Inoltre gestisce il recupero di device quando si passa da stato di stallo a disegno (da ridotto a icosa a ingrandito). Prima era necessario, in ogni frame, controllare lo stato del device, e resettare se ve ne era bisogno, in questo modo

if(FAILED(device->TestCooperativeLevel())
device->Reset(&d3dpp);

Dove d3dpp e` una struttura che contiene vari settaggi del device (dimensioni del backbuffer, finestra su cui disegnare…)

Inoltre la funzione TestCooperativeLevel e` stata sostituita dalla funzione CheckDeviceState che restituisce molte piu’ informazioni rispetto alla precedente.

Geometry Shaders

Nel nuovo Shader Model 4.0, vi sono i geometry shaders, non indispensabili per un gioco, ma saranno di estrema utilita` . Questi possono essere considerati come un’estensione del vertex shader.Il vertex shader, come dice il nome, pua`² processare solo un vertice per volta, mentre i geometry shader saranno in grado di gestire intere geometrie.

Per ogni vertice il vertex shader restituisce 1 vertice, dunque non pua`² leggere i dati dai vertici vicini (cia`² inibisce varie tecniche: ad esempio risalire dal vertice che si sta leggendo al triangolo di appartenenza): il vertex shader infatti riceve un float4 che indica la sua posizione iniziale, e ne restituisce un’altro che indica la sua nuova posizione (che pua`² anche rimanere invariata).Il geometry shader invece riceve in input 1 vertice o un triangolo o fino a 6 triangoli, ma restituisce 1 o piu’ primitive.

Cia`² significa che da un semplice triangolo in input e` possibile creare anche 1000 triangoli senza doverli disegnare come si fa normalmente (ossia creare un vertex buffer o index buffer). a`ˆ possibile quindi variare continuamente il numero di triangoli da disegnare, a seconda della lontananza, inibendo le funzioni D3DX riguardo al numero dei vertici da disegnare in una data mesh.

Il geometry shader permette di scrivere un codice che in hardware crea triangoli dal nulla. Cia`² pua`² sembrare inutile, ma vediamo un piccolo esempio pratico.

Di solito, per disegnare il mare in modo realistico, si usa fare un’enorme griglia di punti e farli oscillare. Cia`² occupa molta memoria memoria.

Ma se la telecamera si trova a notevole distanza dal mare, e` inutile farlo troppo dettagliato in quanto la lontananza impedisce di vedere i fini dettagli. Sarebbe quindi utile proporzionare i dettagli alla distanza del mare.

Usando i geometry shader sara`  possibile calcolare dalla distanza il numero di poligoni, riducendoli addirittura a 2! E poi man mano che ci si avvicina si potra`  aumentare il numero di questi ultimi, avendo allo stesso tempo un effetto realistico che consumera`  risorse in proporzione al bisogno.

Altre applicazioni dei geometry shader saranno nelle ombre in stencil, che il motore grafico di Doom3 gestiva via CPU, rendendo il gioco molto pesante.

Voti, febbre e wikipedia

February 09, 2007 By: Vincent Category: My life No Comments →

Ecco un pa`² di novita` 
Ho la febbre (e che ve ne importa). Sembra essermi passata ma comunque tornera`² lunedi alle mie attivita`  di routines.
Ho avuto 7+ in teoria e scritto di matematica!!! Chissa`  quanto mi uscira`  di media! spero un buon 6/6 o anche un 6/7, sarebbe da sballo!

Wikipedia: sto traducendo e scrivendo vari articoli su wikipedia: eccoli
Gaetano Capasso
FireGL
HLSL
DirectX

Si vede proprio che le uso, vero?

A proposito, non usera`² D3D9 in quanto oramai sono uscite le 10…