2009-05-29 48 views
11

Estoy terminando en un planeta 3D con ROAM (nivel continuo de detalle).CLOD texturas amplias del planeta en OpenGL

Mi objetivo ahora es tener un renderizado de buena calidad usando texturas.

Estoy tratando de encontrar la manera de usar un sistema de mosaico (pequeñas y buenas texturas combinadas), pero de alguna manera puedo aprovechar mi malla CLOD.

Algoritmos actuales (de lo que he encontrado) utilizando estos sistemas de mosaico producen una gran textura y luego la aplican directamente. Eso no es lo que quiero ... el planeta es muy grande, y quiero más potencia que simplemente aumentar el tamaño de la textura.

¿Hay alguna característica conocida de algoritmo/apertura para este tipo de cosas?

No sé mucho sobre sombreadores, pero ¿es posible crear uno que pinta solo objetos ... es decir, no dar los texcoords, sino poner el color correcto para cada píxel (no vértice) del ¿malla?

PS: Mi mundo está construido utilizando el ruido Perlin ... para que pueda obtener la altura en cualquier punto del mundo (mapa de altura con la resolución infinita)

+2

pregunta asombrosa, por desgracia estoy fuera de votos por un tiempo – dss539

+1

Los sombreadores de píxeles hacen lo que quieras: para cada píxel, calcula qué color debería ser. El lenguaje de sombreado tiene algunas limitaciones estrictas, pero las acciones como "producto de punto" y "buscar en el mapa 1d/2d/3d" son primitivas. – pjc50

+0

¿Cuál es su problema exactamente? - no tienes (u, v) textura coordinada y quieres generar algo sobre la marcha? - desea que su textura agregue detalles a medida que amplía –

Respuesta

2

Ha utilizado el ruido Perlin 3D para el terreno, por qué no generan la textura también? Generalmente, los programas como Terragen, Vistapro y similares usan la altitud para seleccionar aleatoriamente un rango de color de la paleta, modificar ese color según la pendiente y quizás agregar detalles de texturas más pequeñas basadas en la pendiente y la altitud. En su caso, la distancia también podría modificar los detalles. Para el caso, el ruido 2d perlin funcionaría bien para textura detallada.

¿Has modificado el mapa de altura en absoluto? Algo como un océano sería difícil de lograr con el puro ruido 3d Perlin, pero aplanar todo lo que esté por debajo de cierta altitud y aplicar una agradable textura algorítmica oceánica (ruido 2d Perlin adecuadamente ajustado con transparencia por debajo de cierto nivel) se vería bien.

+0

¿Puedes dar más información sobre tu segunda oración? ¿Alguna muestra o enlace en el océano algorítmico utilizando ruido perlin? principalmente cómo manejaría las luces ... – fabiopedrosa

+0

Bien, mira esta diapositiva. (http://www.noisemachine.com/talk1/9.html) Perlin está demostrando tela, pero omitir las operaciones que introduce para separar las fibras sería una buena agua, especialmente si fue cuidadoso con la especularidad. Lo que hizo en el jarrón de mármol al comienzo de esa presentación funcionaría muy bien para un océano más extraño. Creo que la diapositiva 22 es la mejor para el agua, solo una suma del valor absoluto de una serie de llamadas a la función de ruido. –

Cuestiones relacionadas