Dice3DS is Python-based software designed for managing 3D Studio format files. Its modules enable efficient handling and manipulation of these files.
3D Studio is a popular 3D graphics modeling and rendering program that saves its images in a rather simple binary file format known as the 3DS format. Although 3D Studio has not released the details of the 3DS format, it has been reverse engineered by some ambitious people, and the information has been used to create Dice3DS.
Dice3DS is a comprehensive Pure Python module, not a wrapper for any other library or software. It requires Python 2.2 or higher, as well as Python Numeric, since it uses metaclass programming.
The Dice3DS package includes two main packages - Dice3DS and Dice3DS.example. The latter includes modules that illustrate the use of Dice3DS, although they are not very versatile.
Here's a brief description of each module:
- Dice3DS.dom3ds: slice and dice 3DS files, providing support for reading, writing, and manipulating 3DS files. It converts the 3DS file into a hierarchy of objects, which can be accessed hierarchically as attributes. For example, with a loaded 3DS file, the smoothing data of the second object can be accessed through the dom.mdata.objects[2].ntri.faces.smoothing.array attribute.
- Dice3DS.util: defines some useful routines for calculating normals and transforming points.
- Dice3DS.example.basicmodel: defines some classes that represent objects and materials of a 3DS file in a more convenient form. It has methods to convert from the DOM format, and the classes can serve as base classes for more advanced uses.
- Dice3DS.example.glmodel: defines some classes based on Dice3DS.example.basicmodel, with additional methods to draw the model in OpenGL or create a display list to do so. This module requires PyOpenGL.
- Dice3DS.example.gltexture: provides a class that is an abstraction of OpenGL texture objects. It can create textures from image files and generate mipmaps if requested. This module requires PyOpenGL and Python Imaging Library.
- Dice3DS.example.modelloader: provides functions to load a 3DS model and create a GLModel (or BasicModel) from it. It shows how to load models from the filesystem or directly from a zip file.
Overall, if you're looking for a powerful 3D modeling and rendering package, Dice3DS is a fantastic option. Its Pure Python module, and the extensive range of features and functionality will blow your mind. The package is simple to use, and it's not just versatile but also cost-effective. So, get Dice3DS today and take your 3D modeling experience to the next level.
Version 0.10: N/A