Scritto da
altg
utente che non utiene
il 2014-03-04 04:08:11.0 alle 2014-03-04 04:08:11.0
Trollate totali: 11540
...rompere i coglioni agli altri e per la cortesia di tenere informato GS.
Al momento c'e` niente di nuovo da vedere, perche` sto "cambiando paradigma".
Ho deciso che le shadow maps avrebbero in gran parte fatto cacare sempre & comunque.
Sicche` ho deciso di passare agli shadow volumes (tanto ho tutti gli stencil buffers che voglio, in software), ma devo trovare un modo per ottimizzarli e fare il rendering doppio del minor numero di oggetti possibile, e oltretutto ho intenzione di cancellare solo le parti dello stencil buffer che si sovrappongono alla forma dell'oggetto, per mezzo di un altro stencil buffer che avevo gia` e che chiamo "ID stencil". Al suo fianco ci sono il consueto depth buffer e poi ci sara` il tipico stencil delle ombre, su cui renderizzare gli shadow volumes (probabilmente in Carmack's reverse).
Prima di tutto pero` serve un cambio di paradigma piu` a monte: Cydonia usava il depth buffer senza interpolare le profondita` pixel per pixel (in assenza di UVmap, richiede una divisione per pixel e pensavo potesse gravare sui tempi, invece e` risultato che non grave una sega: meglio) e disegnava facce a Z costante. Questo non e` accettabile per gli shadow volumes perche` li renderebbe tassellati nonostante siano potenzialmente precisi nell'ordine del singolo pixel. Sicche` oggi mi sono dedicato a riscrivere i vari stadi di clipping e rendering in modo che comunicassero la profondita` dei vertici al rasterizzatore finale (che e` un Bresenham che riempie un paio di arrays di minimi e massimi con gli estremi di una scanline).
Alla fine della fiera per provare se le profondita` erano corrette ho fatto il solito rendering scambiando i colori con grigi piu` o meno chiari a seconda della profondita`, e ho inclinato follemente la casina per farla penetrare nel terreno e vedere se il depth fail la clippava bene. L'immagine di prova e` venuta suggestiva:


Nebbiolina bianca attorno a una casa affondata...
A parte questo, ok, funziona. Stasera me la sono vista con l'identificazione delle facce adiacenti e dei loro lati condivisi, costruendone una tabellina che mi servira` per estrudere i volumi d'ombra. Se tutto va bene, le ombre portate stavolta saranno perfette. Nel complesso, la rifattorizzazione del depth buffering portandolo a essere preciso pixel per pixel ha comunque ridotto le necessita` di tassellare troppo la scena, sicche` e` gia` un vantaggio.
Ecco, e` tutto.
Al momento c'e` niente di nuovo da vedere, perche` sto "cambiando paradigma".
Ho deciso che le shadow maps avrebbero in gran parte fatto cacare sempre & comunque.
Sicche` ho deciso di passare agli shadow volumes (tanto ho tutti gli stencil buffers che voglio, in software), ma devo trovare un modo per ottimizzarli e fare il rendering doppio del minor numero di oggetti possibile, e oltretutto ho intenzione di cancellare solo le parti dello stencil buffer che si sovrappongono alla forma dell'oggetto, per mezzo di un altro stencil buffer che avevo gia` e che chiamo "ID stencil". Al suo fianco ci sono il consueto depth buffer e poi ci sara` il tipico stencil delle ombre, su cui renderizzare gli shadow volumes (probabilmente in Carmack's reverse).
Prima di tutto pero` serve un cambio di paradigma piu` a monte: Cydonia usava il depth buffer senza interpolare le profondita` pixel per pixel (in assenza di UVmap, richiede una divisione per pixel e pensavo potesse gravare sui tempi, invece e` risultato che non grave una sega: meglio) e disegnava facce a Z costante. Questo non e` accettabile per gli shadow volumes perche` li renderebbe tassellati nonostante siano potenzialmente precisi nell'ordine del singolo pixel. Sicche` oggi mi sono dedicato a riscrivere i vari stadi di clipping e rendering in modo che comunicassero la profondita` dei vertici al rasterizzatore finale (che e` un Bresenham che riempie un paio di arrays di minimi e massimi con gli estremi di una scanline).
Alla fine della fiera per provare se le profondita` erano corrette ho fatto il solito rendering scambiando i colori con grigi piu` o meno chiari a seconda della profondita`, e ho inclinato follemente la casina per farla penetrare nel terreno e vedere se il depth fail la clippava bene. L'immagine di prova e` venuta suggestiva:


Nebbiolina bianca attorno a una casa affondata...

A parte questo, ok, funziona. Stasera me la sono vista con l'identificazione delle facce adiacenti e dei loro lati condivisi, costruendone una tabellina che mi servira` per estrudere i volumi d'ombra. Se tutto va bene, le ombre portate stavolta saranno perfette. Nel complesso, la rifattorizzazione del depth buffering portandolo a essere preciso pixel per pixel ha comunque ridotto le necessita` di tassellare troppo la scena, sicche` e` gia` un vantaggio.
Ecco, e` tutto.
-
-
■ @ 2014-03-04 16:15:21.0 di Non Autenticato
-
■ @ 2014-03-04 18:16:15.0 di altg
-
■ @ 2014-03-04 18:43:48.0 di Non Autenticato
-
-
-