Hecho!
Aunque aún me faltan muchísimos conocimientos sobre texturas, me siento muy satisfecho de conseguir hacer funcionar las DirectX 9 con alguna textura.
Después de muchos cambios en las rutinas de lectura de ficheros .X3D por fin conseguí echar a andarlas en DirectX. El principal problema que me encontré fue que yo utilizaba hasta el ahora vértices indexados, de esta forma una misma esquina de un triángulo podía estar compartida entre varios triángulos.
Ahora bien, para implementar texturas, cada vértice del objeto deberá contener dos coordenadas (u, v) que indicarán que parte de la textura será proyectada. Esto provoca que para mapear objetos algo complejos, los vértices del mismo no podrán compartir coordenadas (u, v), puesto que los más probable es que las texturas para objetos complejos esten compuestas de varias subtexturas separadas entre si dentro del archivo gráfico.
![]() |
| Ejemplo de textura fragmentada. |
Para este ejemplo utilicé el mismo objeto .X3D de esta ahora, y como textura usé una imagen cuadrada con una de las caras del famoso cubo de Hellraiser.
En mi ordenador la animación es muy fluida y la calidad muy buena, aunque al generar el video se pierda mucha calidad. En fin, aqui dejo el video:
Bueno, hasta ahora he avanzado mucho, incluso más que nunca, puesto que con opengl nunca llegué a mostrar textura alguna. Y verlo funcionando es realmente emocionante.


No hay comentarios:
Publicar un comentario