.3ds
# .3ds

.3ds es la extensión de archivo usada por algunos programas de simulación y gráficos 3D. El tipo de archivo.max es utilizado exclusivamente por Autodesk 3DS Max, a diferencia de.3ds que es el formato nativo de 3D Studio DOS (Versiones comprendidas entre 1.0 y 4.0), este formato también es compatible con otros programas de modelaje 3D.

## Estructura

El formato.3ds es de tipo binario. El archivo se basa en fragmentos, en donde cada sección de datos está incrustado en un bloque que contiene un identificador de fragmento y la longitud de los datos (para proporcionar la ubicación del siguiente bloque principal), así como los propios datos. Esto permite que los analizadores puedan saltar trozos que no reconocen. Los fragmentos forman una estructura jerárquica, similar a un árbol DOM XML. Los dos primeros bytes del archivo son su ID. A partir de ese valor el analizador puede identificar la cantidad y decidir si va a analizarlo o ignorar. Los siguientes cuatro bytes contienen un número entero que es la longitud de la porción, incluyendo sus datos, la longitud de sus sub-bloques y el encabezado de 6 bytes. Los siguientes octetos son los datos del trozo, seguidos por los sub-fragmentos, en una estructura que puede extenderse a varios niveles de profundidad.

A continuación se muestra un listado de los identificadores más comunes para fragmentos, representadas de manera jerárquica que representa sus dependencias:

## Defectos

Ha sido señalado que, a pesar de su popularidad, el formato puede no ser el más adecuado para el intercambio de datos 3D. Algunas desventajas mencionadas son:

* Todas las mallas deben ser hechas de triángulos.
* Todos los nombres de archivo de texturas están limitados al formato 8.3 DOS.
* El número de vértices y polígonos por malla está limitado a 65536.
* Los vértices normales precisos no pueden ser almacenados en el archivo.3ds. En cambio los "grupos lisos" son usados de tal manera que el programa que recibe pueda recrear una (con suerte buena) representación de los vértices normales. Esto es aún un retraso del legado de muchos programas de animación de hoy que iniciaron en los 80's (3DS MAX, Lightwave y trueSpace aún usan grupos lisos, y Maya lo hizo hasta v2.51).
* Los nombres de objetos, luces y cámaras están limitados a 10 caracteres. Los nombres de los materiales están limitados a 16 caracteres.
* Fuentes de luz direccional no están soportadas
