Wednesday, January 9, 2008

Luce


Dopo tanti screenshot, finalmente un piccolo video.
Niente di che, ma non è stato immediato. Si tratta di un test di illuminazione attraverso gli shader di directx, nello specifico si tratta di un modello di illuminazione che tiene conto della luce diffusa, di quella ambientale, dell'effetto speculare del materiale, della posizione della luce e del tipo di attenuazione che ha in base alla distanza dalla medesima.
Ci ho messo un bel pò perchè i parametri da passare agli shader son tanti e me ne ero dimenticato accidentalmente uno, col risultato che la luce pareva illuminare indistintamente tutti gli oggetti, indipendentemente da dove si trovassero, poi finalmente ho risolto l'arcano ed ora funziona. Il test mi è servito più che altro per verificare che il pianetino che orbita attorno alla stella presentasse sempre il lato illuminato in fronte al sole, cosa che come vedete funziona.
Mi sorprende che, a quanto pare (ma potrei sbagliarmi), per illuminare una mesh occorra scriversi a mano gli shaders corrispontenti, è senz'altro flessibile poter creare un qualsiasi modello, anziche' doversi accontentare dei soliti classici "luce puntuale", "cono di luce" ecc.. pero'.. che fatica!
Un chiarimento: l'orbita del pianetino sembra balorda, sembra che si muova a scatti, poi si ferma, poi accelera... in realta' l'orbita e' perfetta, solo che durante la ripresa ho manovrato anche la telecamera, spostandola e facendola a sua volta orbitare attorno al sole. La composizione delle due orbite genera il risultato bizzarro, che senz'altro non si noterà più non appena aggiungero' il background stellare che avete visto ieri.

No comments: