Skip to content

Sul radiosity real-time

Sono un pò di giorni che penso a questo problema della computer grafica moderna, ho guardato un pò in giro e oltre ENLIGHTEN non sono presenti sul mercato soluzioni simpatiche, molte alternative sono illustrate in questa pagine qua, che però essendo mantenuta da  Stepan Hrbekè un pò di parte, infatti non nomina ENLIGHTEN probabilmente perché è nettamente superiore al suo. Da notare poi come la sua tecnica sia “Realtime radiosity” mentre le  altre sono chiamate col loro vero nome :). Vediamole un pò:

C’è “Instant Radiosity” una tecnica molto simpatica la quale crea una serie di sorgenti luminose secondarie per simulare la luce riflessa, se poi si crea un sistema stabile che crea ombre per tutte le luci si riescono ad avere risultati davvero notevoli, certo che fare l’ombra di… mettiamo 300 punti luci è un pò fuori dal realtime, il problema è che anche essere illuminati da 300 luci quasi tutte direzionate (le luci in di riflesso non illuminano in modo uniforme in tutte le direzioni) e di cui una possibilmente con ombra si vede che il metodo non è proprio istantaneo…

Poi c’è la griglia di Sphere armoniche, tecnica usata realmente nella grafica real-time, ad esempio da Half-life 2. Essa si basa sulla possibilità di interpolare 2 Sphere Armoniche, così quando si ha la mappa si piazzano un pò di punti in giro per la mappa, si fanno i 6 rendering di cube map, si calcolano i coefficenti armonici e si conservono, poi in fase di rendering, si trovano i hot-spot più vicini e si interpola, et voilà fatto! tecnica molto bella, semplice che dà ottimi risultati e che tiene conto solo delle geometrie e dell’illuminazione statica. Il che non è affatto un limite in FPS.

Delle tecniche che ho visto quella che mi è sembrata più interessante è che probabilmente svilupperò è prorpio quella di Hrbek, il quale si guarda bene dal spiegarla ma che credo di avere capito. La sua prima pubblicazione è stata un paper dove spiegava come creare delle soft-shadow real time, è giusto supporre quindi che essa sia il 50% del suo algoritmo, poi nell’ultima versione della sua demo enfatizza il fatto che ora ha le ombre della luce indiretta e questo è stato il secondo indizio. Quello che penso è che la sua tecnica consista nel illuminare direttamente la scena renderizzando anche le ombre sfuocate e che illumini tutto il resto con un semplice algoritmo di radiosity per vertice, che appunto non fa ombre.

Quello che relizzerei io è un sistema di ombre tramite Percentage-Closer Soft Shadows, una simpatica tecnica nvida che invece di ingrandire la sorgente luminosa ingrandisce la zona da campionare in base alla distanza dell’oscuratore e della sorgente luminosa. Dalla illuminazione diretta e tramite le techine spiegate nel paper “Dynamic Ambient occlusion” calcolare la luce indiretta sulle superfici ed alla fine applicare lo “Screen space ambient-occlusion” per attenuare la luce indiretta e dargli un pò di volume. Dovrebbe venire qualcosa di fico, chissa un giorno se avrò voglia…

One Comment

  1. Erik Erik

    Ciao, mi chiamo Erik e sono uno studente del Politecnico di Torino. Sto scrivendo una tesi sugli algoritmi di Radiosity Real-Time e mi sono giusto imbattuto nell’Instant Radiosity di Keller e in vari altri studi nel campo. Tra l’altro il mio sogno sarebbe quello di lavorare in Milestone come grafico e modellatore. Ti andrebbe di darmi la tua mail perché vorrei chiederti due dritte sullo studio che hai fatto di Hrbek. Mi piacerebbe sviluppare una demo in OpenGl per la mia tesi. Grazie.
    Erik

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

*