He creado un modelo en Blender. Ahora quiero leer ese modelo 3D en mi programa c ++. Pensé que un modelo se puede exportar a varios formatos de archivo, por ejemplo .obj, .3ds o COLLADA, y luego se puede leer en un programa c ++. He estado buscando en la web para hacerlo durante bastante tiempo y encontré muchos tutoriales. Pero me encontré con problemas con la mayoría de ellos. Por ejemplo, EN el tutorial de Nehe están usando glaux que no quiero usar en mi programa. Y los tutoriales restantes usan md2 que no es compatible con Blender.
Entonces, ¿alguien puede guiarme qué formato de archivo usar para exportar el modelo 3D y cómo cargarlo en mi programa OpenGL? Además, ¿cómo puedo animar ese modelo? ¿Es posible agregar efectos adicionales como el mapeo de tonos después de que se haya cargado en el programa c ++ usando OpenGL? ¿Si es así, entonces cómo?
PD: estoy usando Linux para el desarrollo de juegos
11
Blender 2.60 ha reparado el soporte de animación COLLADA, estaba más o menos roto en versiones anteriores. Sin embargo, si aún no ha cargado ningún formato de modelo en su propio código, le sugiero que primero aprenda a cargar .obj. Está en ASCII, por lo que es fácil de leer y fácil de leer sin bibliotecas externas de cargadores.
fuente
3ds no contiene datos de animación para que uno no funcione. No sé mucho sobre Collada, pero cuando decidí qué formato usar en mi juego busqué y comparé mucho y finalmente elegí el formato B3D, admite animación esquelética y se puede cargar desde Irrlicht (también contiene valores de iluminación )
Utilizo el exportador 'b3d pipeline' de 3dsMax y he codificado mi propio sombreador hlsl para animar y encender las mallas, funciona muy bien.
Puede ver cómo lo hace Irrlicht (es decir, cargar y animar), aunque realiza la animación en el software, pero hay ejemplos si busca un poco sobre cómo hacerlo con un sombreador (si lo desea). Lo bueno es que Irrlicht es compatible con OpenGL y Linux.
Otro formato que es bastante directo es el formato .X, debe haber toneladas de ejemplos sobre cómo exportar, cargar, analizar y configurar el esqueleto y animar con él. Sin embargo, es un formato Microsof, así que tal vez no quieras usarlo :-)
El mapeo de tonos y demás no tiene absolutamente nada que ver con la animación, así que sí, si sabes cómo usar esa técnica, puedes hacerlo con mallas animadas.
fuente