PDA

Visualizza Versione Completa : ClipMap VS Full 3D: rendering speed



happymilk
19-06-12, 15:46
Il titolo anche eccessivamente altisonante cerca di descrivere un piccolo test che mi sono appena fatto.
La premessa è che mi sta per arrivare LW11 che con le sue istanze dovrebbe aver annullato tutti i problemi di memoria generati da geometria molto complessa. Questo potrebbe significare la possibilità di usare (ad esempio) alberi ad altissima densità poligonale al posto di quelli a media o bassa densità.
Quello che non sapevo era come l'engine di rendering gestiva gli oggetti totalmente in 3D con quelli composti da poligoni clipmapped.
Il mio scopo era quello di stabilire la convenienza di utilizzare alberi Highpoly rispetto a quelli MidPoly. I primi avevano l'indubbio vantaggio della maggiore qualità. I secondi avevano il vantaggio della leggerezza. Ed anche se con le istanze il problema della memoria si era di molto ridimensionato restava il fatto che 10 essenze diverse in highpoly pesavano comunque molto di più delle corrispettive in midpoly o lowpoly.

Il test che ho deciso di eseguire ha come soggetto un (bruttissimo e improbabilissimo) albero. Non mi interessava farlo bello. Mi interessava poterlo fare uguale nell'aspetto pur seguendo strade diverse.

Così ho creato un immagine in B/N che rappresentava la clipmap del mio ramoscello tipo e l'ho mappata in UV su di un piano. Così mi sono creato il ramoscello tipo per il mio albero clipmapped.
[Immagine 1]

Per il ramoscello tipo del mio albero 3D ho usato l'immagine di prima come riferimento per tracciare una serie di poligoni che andassero a replicarne il disegno. Ho ottenuto il mio ramoscello totalmente 3D.

Dopodiche ho eseguito tutta una serie di array e clonature su entrambi i ramoscelli (allo stesso modo) ottenendo due alberi pressochè identici nell'aspetto finale ma molto diversi come costruzione
[immagine 2]
Come si può vedere l'albero clipmapped (quello in verde) è quasi 14 volte più "leggero" (in termini di poligoni) rispetto all'altro. Nonostante questo l'aspetto esteriore è pressochè identico

Restava da fare il confronto sulle velocità
L'immagine mostra le differenze di tempo per quanto riguarda il calcolo GI che per il rendering.
Vince la soluzione totalmente 3D (e un pò me l'aspettavo) ma non di tanto come invece temevo.

Le conclusioni che se ne possono trarre sono diverse. In questo particolare caso ho usato 2 alberi dall'aspetto identico per testare la velocità. Nella realtà l'albero totalmente in 3D avrebbe potuto e dovuto apparire molto più bello e reale dell'altro. Non di meno, i generatori di alberi tendono a generare tutti degli alberi in highpoly quindi sarà normale avere a che fare con alberi ad alta densità poligonale
Resta il fatto che gli alberi in midpoly possono essere una valida alternativa anche in termini di tempo.. non causando un rallentamento eccessivo del rendering.
Personalmente credo che sarò tranquillo nell'usare un albero highpoly (specialmente con le istanze) e che se ne troverò uno in midpoly o lowpoly che soddisfi le mie esigenze estetiche non avrò la remora che possa rallentare il rendering...
E quindi son soddisfatto
;)
PS: l'ultima immagine è un particolare della chioma degli alberi per comprendere sia la densità che l'identicità delle due soluzioni

Saluti
Mirko

amb
20-06-12, 15:11
Bel test, mooolto interessante. :g1: