Pregunta

Estoy trabajando en un trazador de rayos y no quiero reinventar la rueda cuando se trata de formatos de archivo para las escenas 3D. También quiero ser capaz de probar mi programa con escenas realizadas por otros. No soy un programador de un modelador 3D.

¿Hay un formato específico escena 3D o bien adaptado para el trazado de rayos?

¿Fue útil?

Solución

Cuando escribí mi trazador de rayos, que escribió un exportador para Blender (es gratis). Blender en sí mismo puede cargar docenas de formatos, entonces un simple script en Python 20 líneas le dará los puntos que necesita.

La característica muy agradable es que dentro de Blender puede convertir todas las caras del modelo de triángulos. La mayoría de los trazadores de rayos sólo funcionarán con triángulos o polígonos (triángulos Convertir a nivel interno). Así que tener Blender haga el trabajo pesado de crujir los polígonos es super agradable.

Para iniciar con 20 líneas de código le permitirá exportar sólo los polígonos. A partir de ahí, se puede extender a los materiales de salida, normales, etc. Me gusta este método, porque puedo obtener los datos que quiero en el formato que quiero, pero todavía tienen la opción de importar modelos más complejos.

Otros métodos funcionará, pero primero tiene que encontrar la manera de analizar un archivo, a continuación, obtener en el formato que desee. Prefiero código A trazador de rayos de un analizador.

Otros consejos

En realidad no hay un formato específico para el trazado de rayos (a menos que cuente formato PovRay). El trazado de rayos es un método de representación, las imágenes que se pueden aplicar a cualquier escena. Las personas que modelan escenas van a utilizar el software de modelado de su elección y ahorrar por lo general en el formato predeterminado del modelador.

Parece que usted no tiene ningún requisito para cargar un formato particular (o usted no estaría preguntando) así que supongo que lo que desea es ser capaz de importar varios geometría a partir de alrededor de la red para probar. Si ese es el caso, visite el foro de ompF en: http://ompf.org/ Tienen una sección con enlaces a escenas de libre disposición. Puede tener una idea de lo que es común allí.

Otra opción es utilizar la biblioteca de importación abierto de activos: http://assimp.sourceforge.net/

esto puede importar un gran número de formatos de archivo para usted. Les todas las cargas en una estructura de datos interna, que luego se puede procesar como mejor le parezca. Se utiliza una licencia BSD por lo que debe ser razonablemente licencia compatible con lo que está haciendo.

No creo que haya ninguna escena formato particular en uso, ya que diferentes modeladores requieren diferentes parámetros y directivas de configuración, etc.

El WaveFront .obj formato sin embargo, es muy popular para describir objetos individuales dentro de una escena, y muchos archivos en ese formato están disponibles en Internet.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top