Pregunta

Actualmente estoy trabajando en un generador planeta procedimental OpenGL. Espero utilizarlo para un juego de rol espacio, que no va a permitir que los jugadores bajan a la superficie de un planeta, así que he ignorado todo lo relacionado con ROAM. Al momement Estoy dibujando un cubo con OISCIV y mapeo sobre una esfera como se muestra aquí .

Estoy familiarizado con la mayoría de las técnicas de generación de fractales y de alturas ya se han puesto en práctica mi propia versión del desplazamiento del punto medio (no tan útil en este caso, lo sé).

Mi pregunta es, ¿cuál es la mejor manera de generar procesalmente el mapa de altura. He mirado libnoise que me permite hacer mapas de altura en mosaico / texturas, pero por lo que yo puede ver que iba a necesitar para generar una red como:

este

Dejando el suelo de baldosas obvio.

Podría aconsejarme cualquier persona en la mejor ruta a tomar?

Cualquier entrada sería muy apreciada.

Gracias,

Henry.

¿Fue útil?

Solución

Parece que usted entiende el problema con la generación de una superficie sin costuras planas y luego tratar de hacer un mapa sobre una esfera.

¿Cómo sobre el uso de una función de ruido 3D en su lugar? función de ruido A 3D toma 3 coordenadas en lugar de 2 como su entrada, así imaginar una matriz 3D completa de los números generados (en lugar de una matriz 2D). Por lo tanto, una vez que tenga una función de ruido 3D, se puede generar una textura 2D, pero en lugar de utilizar las coordenadas 2D para cada píxel, utilice las coordenadas 3D de ese píxel, donde estaría en la esfera. (Espero que esa frase enrevesada tenía sentido!)

Tome un vistazo a mitad de camino hacia abajo esta página Perlin ruido: https://web.archive.org/web/20120829114554/http://local.wasp.uwa.edu.au/~pbourke/texture_colour/perlin/

Creo que describe exactamente lo que quiere con respecto a las esferas.

Otros consejos

También es posible que desee comprobar este artículo de 2004 sobre la forma de 'división' hasta una esfera en partes más manejables.

http://www.gamedev.net/reference/articles/article2074.asp

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top