sponge menger esponja opengl 3d cloud textures perlin-noise

opengl - menger - ¿Cómo crear un cubo fractal?



esponja de menger c++ (4)

Me gustaría renderizar nubes volumétricas en OpenGL. Encontré un artículo interesante que describe una técnica simple para representar nubes volumétricas. ( http://www.inframez.com/events_volclouds_slide18.htm ) Sin embargo, no sé cómo crear su "cubo fractal" (o cubo de ruido perlin).

Mi pregunta es: ¿cómo crear las 6 texturas fractales enlosables de un cubo?

Editar : mi objetivo es hacer un objeto de nube volumétrica, no una caja de nubes.


Al usar una textura de nube de dosbolones en 2D, se crea una textura 2D mezclada alfa en la que la transparencia se ve como una nube. Lo que te están pidiendo que hagas es casi lo mismo, solo que la textura se envuelve alrededor de un cubo sin interrupciones (como un palco). El filtro de ruido perlin parece un algoritmo para hacer que algo se vea como una nube.

Mi enfoque de acceso directo a esto sería usar el filtro de nube de Photoshop para crear tu textura. Siga el concepto básico de este tutorial para la mezcla alfa, pero no haga el degradado circular. Córtalo en una cuadrícula transparente similar a una caja de sorpresas (es decir, tiene 6 lados y se pliega adecuadamente alrededor de un cubo).


Creo que la textura del ''cubo fractal'' a la que se refieren es un fractal FBM (Fractal Brownian Motion) generado a partir de varias octavas de ruido de Perlin. Este Capítulo de Gemas de programación de juegos analiza cómo se forman. La idea básica es combinar múltiples ''octavas'' de ruido Perlin, con cada octava teniendo alrededor del doble de la frecuencia de la octava anterior. Puede hacer esto sin problemas modificando la función de ruido. El filtro de nube de Photoshop es básicamente ruido FBM y está creando mosaico sin interrupciones, por lo que puede usarlo si tiene acceso a Photoshop.


Si está realmente interesado en una buena representación en la nube, entonces el algoritmo de Mark Harris es bastante bueno aunque complicado: http://www.markmark.net/clouds/


Una buena introducción al ruido de Perlin, escrita por el propio Ken Perlin, está aquí . Habla de generar una función de ruido de una o dos dimensiones con cierto detalle, y luego la generaliza para mostrar cómo funcionaría en 3D, para generar un cubo sólido de ruido como lo desea.