Dice3DS 0.6
Sponsored Links
Dice3DS 0.6 Ranking & Summary
File size:
0.024 MB
Platform:
Any Platform
License:
GPL (GNU General Public License)
Price:
Downloads:
931
Date added:
2007-04-08
Publisher:
Carl Banks
Dice3DS 0.6 description
Dice3DS project is a set of Python modules for dealing with 3D Studio format files. I have released it under the terms of a BSD-style license.
3D Studio is a 3D graphics modeling and rendering program that saved it images in a rather simple binary file format known as 3DS format. Although 3D Studio has not released the details of the 3DS format, it has been reverse engineered by some ambitious people, and I used the information to write Dice3DS, a Python package that slices and dices 3DS files.
Dice3DS requires Python 2.2 or higher, as it uses metaclass programming, and Python Numeric. Note that it is not a wrapper for lib3ds; its a Pure Python module.
There are two packages in Dice3DS: Dice3DS, and Dice3DS.example. The latter includes some modules that exemplify the use of Dice3DS, although they are not very versatile.
Heres a brief description of each module:
Dice3DS.dom3ds
Slice and dice 3DS files.
Provides for reading, writing, and manipulating 3DS files. Its
called dom3ds because its reminiscent of XML-DOM: it converts the 3DS
file into a hierarchy of objects, in much the same way XML-DOM
converts an XML file into a hierarchy of objects called the Document
Object Model. The dom3ds module creates an object for each chunk in
the 3DS file, which can be accessed hierarchially as attributes.
For example, once a 3DS file is loaded, you could the smoothing data
of the second object like this:
dom.mdata.objects[2].ntri.faces.smoothing.array
Dice3DS.util
Utitily function for Dice3DS.
Defines some routines for calculating normals and transforming points.
Dice3DS.example.basicmodel
Basic abstract classes representing a 3DS model.
Defines some classes that represent objects and materials of a 3DS
file in a more convienient form. It has methods to convert from the
DOM format. The classes can serve as base classes for more advanced
uses.
Dice3DS.example.glmodel
Classes for rendering 3DS models in OpenGL.
Defines some classes (based on Dice3DS.example.basicmodel) with some
additional methods to draw the model in OpenGL, or create a display
list to do so. Requires PyOpenGL.
Dice3DS.example.gltexture
OpenGL texture object abstraction.
Provides a class that is an abstraction of OpenGL texture objects. It
can create textures from image files, and automatically generates
mipmaps if requested. Requires PyOpenGL and Python Imaging Library.
Dice3DS.example.modelloader
Example of loading 3DS models.
Provides functions to load a 3DS model and creating a GLModel (or
BasicModel) from it. Shows how to load models from the filesystem, or
directly from a zip file.
Enhancements:
- The code was changed to use the constants defined in the "numpy" namespace instead of the "Numeric" namespace, since numpy no longer seems to provide the Numeric constants.
- The advantage is that it works for numpy 1.0.
- The disadvantage is that you can no longer backport it to Numeric by changing the import statements.
- Most inexplicably, the behavior of numpy.sum changed and broke the calculation of normals.
- Thus, the builtin sum is used in util.py instead of numpy.sum.
3D Studio is a 3D graphics modeling and rendering program that saved it images in a rather simple binary file format known as 3DS format. Although 3D Studio has not released the details of the 3DS format, it has been reverse engineered by some ambitious people, and I used the information to write Dice3DS, a Python package that slices and dices 3DS files.
Dice3DS requires Python 2.2 or higher, as it uses metaclass programming, and Python Numeric. Note that it is not a wrapper for lib3ds; its a Pure Python module.
There are two packages in Dice3DS: Dice3DS, and Dice3DS.example. The latter includes some modules that exemplify the use of Dice3DS, although they are not very versatile.
Heres a brief description of each module:
Dice3DS.dom3ds
Slice and dice 3DS files.
Provides for reading, writing, and manipulating 3DS files. Its
called dom3ds because its reminiscent of XML-DOM: it converts the 3DS
file into a hierarchy of objects, in much the same way XML-DOM
converts an XML file into a hierarchy of objects called the Document
Object Model. The dom3ds module creates an object for each chunk in
the 3DS file, which can be accessed hierarchially as attributes.
For example, once a 3DS file is loaded, you could the smoothing data
of the second object like this:
dom.mdata.objects[2].ntri.faces.smoothing.array
Dice3DS.util
Utitily function for Dice3DS.
Defines some routines for calculating normals and transforming points.
Dice3DS.example.basicmodel
Basic abstract classes representing a 3DS model.
Defines some classes that represent objects and materials of a 3DS
file in a more convienient form. It has methods to convert from the
DOM format. The classes can serve as base classes for more advanced
uses.
Dice3DS.example.glmodel
Classes for rendering 3DS models in OpenGL.
Defines some classes (based on Dice3DS.example.basicmodel) with some
additional methods to draw the model in OpenGL, or create a display
list to do so. Requires PyOpenGL.
Dice3DS.example.gltexture
OpenGL texture object abstraction.
Provides a class that is an abstraction of OpenGL texture objects. It
can create textures from image files, and automatically generates
mipmaps if requested. Requires PyOpenGL and Python Imaging Library.
Dice3DS.example.modelloader
Example of loading 3DS models.
Provides functions to load a 3DS model and creating a GLModel (or
BasicModel) from it. Shows how to load models from the filesystem, or
directly from a zip file.
Enhancements:
- The code was changed to use the constants defined in the "numpy" namespace instead of the "Numeric" namespace, since numpy no longer seems to provide the Numeric constants.
- The advantage is that it works for numpy 1.0.
- The disadvantage is that you can no longer backport it to Numeric by changing the import statements.
- Most inexplicably, the behavior of numpy.sum changed and broke the calculation of normals.
- Thus, the builtin sum is used in util.py instead of numpy.sum.
Dice3DS 0.6 Screenshot
Dice3DS 0.6 Keywords
Dice3DS
3DS
3D Studio
Dice3DS 0.6
XML
studio format
Python modules
Format files
python
format
studio
files
3D
classes
Dice3DS 0.6
Graphics
Bookmark Dice3DS 0.6
Dice3DS 0.6 Copyright
WareSeeker periodically updates pricing and software information of Dice3DS 0.6 full version from the publisher, so some information may be slightly out-of-date. You should confirm all information before relying on it. Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future development of Dice3DS 0.6 Edition. Download links are directly from our publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed
Featured Software
Want to place your software product here?
Please contact us for consideration.
Contact WareSeeker.com
Related Information
Related Software
DBConsole is a GPLd database shell written in Python. Free Download
Wings 3D is a subdivision modeler inspired by Nendo and Mirai from Izware. Free Download
view3dscene project is a viewer for 3D scene files. Free Download
threeDS is a Python module for loading and displaying 3D models in the 3DStudio Max 3DS format. Free Download
CubeTest is a small program that allows you to train your spatial insight. Free Download
Twisted Names is both a domain name server as well as a client resolver library. Free Download
python-dime project provides a way to parse and generate DIME messages. Free Download
EQUINOX-3D is a 3D modeler with a very fast, fully integrated ray-tracer. Free Download
Latest Software
Popular Software
Favourite Software