Hi all,
Estaba pensando en implementar texturas en 3D en mi motor software. Es decir, añadir otra coordenada además de la U y la V, para renderizar una "rodaja" de una textura en 3D. Por ejemplo, una textura 3D de 256x256x256 sería como 256 imagenes de 256x256. Pero no se trata de seleccionar una se las imágenes al renderizar, sino que añadiendo una nueva coordenada a cada vértice, se podria renderidar cualquier sección de ese tocho de textura cúbica.
Hace años leí algo sobre esto, pero no sé donde, y tampoco sé como buscar, ¿se puede hacer algo así con el hardware 3D? ¿Cómo se llama esta técnica?
un saludo
El hardware 3D permite utilizar texturas 3D. En OpenGL simplemente utilizas glTexImage3D para crear la textura, GL_TEXTURE_3D para refereirte a ella y una tercera coordenada de textura para poder direccionar la profundidad.
Para el render de volúmenes se suele utilizar la técnica del "ray marching" (por ejemplo para fuego, niebla, explosiones). Creo que es algo que ya se está empezando a utilizar con el SM3 y por supuesto, se lleva utilizando mucho tiempo en el raytracing.
Aunque no sé si es a esto a lo que te refieres.... :D
Saludos.
Sí, creo que es eso. Ya tengo un punto de partida para buscar informacion, gracias a los dos :)
Si quieres profundizar en el tema de generar texturas (2d,3d,procedurales,raymarching etc) te recomiendo el mejor libro sobre este tema:
Texturing and Modeling: A Procedural Approachhttp://www.amazon.co.uk/exec/obidos/ASIN/1...2790919-9096621Un saludo