2009-07-15 9 views
5

Vorrei rendere le nuvole volumetriche in OpenGL. Ho trovato un documento interessante che descrive una tecnica semplice per il rendering di nuvole volumetriche. (http://www.inframez.com/events_volclouds_slide18.htm) Tuttavia non so come creare il loro "cubo frattale" (o cubo perlin-rumore).Come creare un cubo frattale?

La mia domanda è: come creare le 6 tessere frattali piastrellabili di un cubo?

Modifica: il mio obiettivo è creare un oggetto cloud volumetrico, non un cloudbox cloud.

risposta

3

una bella introduzione al rumore Perlin, scritto da Ken Perlin se stesso, è here. Parla di generare una funzione rumore bidimensionale o bidimensionale in dettaglio, e poi la generalizza per mostrare come funzionerebbe in 3D, per generare un solido cubo di rumore come vuoi.

+0

questo è quello che stavo cercando: http://www.noisemachine.com/talk1/16.html –

+0

la mia implementazione: http://code.google.com/p/jslibs/source/browse/trunk/src /jsprotex/noise.cpp –

0

Quando si utilizza una texture cloud billboarded 2D, si crea una texture 2D alpha-blend in cui la trasparenza appare come una nuvola. Quello che ti chiedono di fare è quasi la stessa cosa, solo la trama si avvolge perfettamente in un cubo (come una skybox). Il perlin-noise filter sembra un algoritmo per far sembrare qualcosa di simile a un cloud.

Il mio approccio di scelta rapida sarebbe quello di utilizzare il filtro cloud di Photoshop per creare la trama. Seguire il concetto di base di this tutorial per la miscelazione alfa, ma non eseguire il gradiente circolare. Tagliatelo in una griglia simile a uno skybox (cioè ha 6 lati e si piega correttamente attorno a un cubo).

+0

Grazie per il tuo link "Tutorial per effetti speciali". –

0

Penso che la trama del "cubo frattale" a cui si riferiscono sia un frattale FBM (Fractal Brownian Motion) generato da un numero di ottave di rumore Perlin. This Il capitolo delle gemme di programmazione del gioco discute come si formano. L'idea di base è combinare più "ottave" di rumore Perlin, con ogni ottava che ha circa il doppio della frequenza dell'ottava precedente. Puoi renderlo perfettamente piastrellabile modificando la funzione rumore. Il filtro cloud di Photoshop è fondamentalmente un disturbo FBM e si integra perfettamente in modo da poterlo utilizzare solo se si ha accesso a Photoshop.

0

Se siete veramente interessati a Nizza il rendering nuvola, quindi l'algoritmo di Mark Harris è abbastanza buono anche se complicata: http://www.markmark.net/clouds/

+0

guarda questo: http://www.youtube.com/watch?v=C9CfhyajVjY –

+0

Ad essere onesti, quelle nuvole sono solo mediocri. Direi che si tratta di una simulazione di cloud basata su automi cellulari accoppiata a qualcosa come il rendering della nuvola di rumore Perlin. – Eric

Problemi correlati