Hola:
Recientemente he terminado mi proyecto final de carrera, el cual está basado en la programación gráfica. Resumiendo, he utilizado 3ds max para dibujar los distintos volúmenes que conforman la escena; a continuación los he convertido a archivos .m utilizando conv3ds y luego los he usado desde mi aplicación en Delphi. Así, con DIRECT3D conseguí los movimientos, el renderizado, etc. Ya lo tengo acabado, pero me desagrada bastante que al convertir los archivos del 3d studio a archivos .m se pierde mucha calidad en la visualización.
Me gustaría que si alguien sabe el porqué o cómo hacer para remediarlo, me lo dijera. A mí se me ocurre que igual podría ser bueno utilizar otro programa de dibujo, pero no se cuál. Sé utilizar Solid Works, pero no sé si existe alguna posible comunicación con los archivos .x u otras cabeceras distintas a las de Hori que admitan archivos en otras extensiones.
Muchas gracias por todo. Cualquier comentario os lo agradezco.
Pon un par de imágenes de ejemplo sobre cómo se ve tu proyecto en cada parte, y te podremos aconsejar mejor cómo conseguir una calidad similar.
(http://lh3.google.com/DavidLucioRdrgz/RwqEzpImi5I/AAAAAAAAAWc/YwPPOqcFZYU/p3_2_3.JPG?imgmax=912)
(http://lh6.google.com/DavidLucioRdrgz/RwqHyZImi6I/AAAAAAAAAWk/p63rA5ubmyE/c5.jpg)
(http://lh4.google.com/DavidLucioRdrgz/RwqOm5Imi7I/AAAAAAAAAWs/CFS04ecdzLc/Copia%20de%20planta1.jpg)
La primera es la del 3ds max y la segunda la de la aplicación en Delphi. Si se te ocurre algo. Puse una vista lateral, que se ve fatal.
Pues si fuera OpenGL diria que estas usando GL_FLAT en vez de GL_SMOOTH. Significa que estas usando normales por cara en vez de normales por vertice a la hora de realizar el sombreado. Supongo que directx tendrá algún parametro equivalente pero no sabría decirte cual es :cry:
Muchas gracias por la observación. A ver si encuentro la equivalencia. Cualquier otra información la agradezco. Lo cierto es que el proyecto ya lo entregué hace unas cuantos meses, pero por diversas razones me interesaría mejorarlo en cuanto a la calidad de imagen. Veo que la razón que yo pensaba, eso de perder información en la conversión de formato, no parece estar compartida por ti. Gracias. Si no es mucho preguntar, ¿qué programa para dibujar los componentes utilizas? Aunque sea para open gl. Un saludo.
Cita de: "anitta__"eso de perder información en la conversión de formato, no parece estar compartida por ti.
No es que no la comparta :) . Te comente lo primero que se me ocurrió al ver las imagenes. De todas maneras puedes comprobar si se pierde información al convertir el archivo abriendo el .m con el Mesh Viewer que viene con el SDK de directx y ver si te muestra el sombreado bien.
Cita de: "anitta__"¿qué programa para dibujar los componentes utilizas? Aunque sea para open gl
OpenGL no tiene un formato de malla propio como puede ser el .x de directx, lo que suele hacer la mayoria de la gente es crearse un cargador de archivos propio en el formato que mas le guste (obj, 3ds...) y carga toda la informacion a mano. La ventaja es que puedes usar el programa para modelar que mas te guste (3dmax, wings3d, blender, milkshape...) porque todos te van a permitir exportar al formato elegido por ti. La desventaja es que crear el codigo para leer el archivo puede ser bastante laborioso.
Muchas gracias. Probaré con eso. :D
Además que hay una librería en C para cargar archivos de 3DStudio ya realizada.
lib3ds
http://lib3ds.sourceforge.net/
desde Debian based System:
sudo apt-get install lib3ds lib3ds-dev