2494608927
64-bit Compatibility: The first four characters of a String material property would be cut off. A String's length is defined in structs.py as a c_size_t variable, which is 8 bytes wide on 64-bit Python. However, when an aiString is used as an aiMaterial property in C/C++, the length is truncated down to a 4-byte value on 64-bit machines (see MaterialSystem.cpp aiMaterial::AddProperty() for details). A new struct was declared in structs.py (MaterialPropertyString) and used in core._get_properties(). Python 3.3 Compatibility: The built-in function hasattr() changed in Python 3.2 to not trap exceptions, which means a NULL pointer ValueException now escaped when checking if a pointer was valid (hasattr(obj, 'contents') in core.call_init()) (see http://bugs.python.org/issue9666 for details). A new helper function was defined that preserves the legacy functionality of trapping the exceptions (helper.hasattr_silent()) and used throughout the code as a replacement for hasattr(). String objects would import as "bytes" rather than as a string. This was most noticeable in the key names for material properties, where the trailing ' of a bytes object would remain after it was converted to a string. The solution was to call decode() on the bytes object using utf-8 decoding. This applies to various parts of core.py. Closes #35 |
||
---|---|---|
cmake-modules | ||
code | ||
contrib | ||
doc | ||
include/assimp | ||
packaging | ||
port | ||
samples | ||
scripts | ||
test | ||
tools | ||
workspaces | ||
.gitignore | ||
.travis.yml | ||
AssimpBuildTreeSettings.cmake.in | ||
AssimpConfig.cmake.in | ||
AssimpConfigVersion.cmake.in | ||
CHANGES | ||
CMakeLists.txt | ||
CREDITS | ||
INSTALL | ||
LICENSE | ||
README | ||
Readme.md | ||
assimp-config-version.cmake.in | ||
assimp-config.cmake.in | ||
assimp.pc.in | ||
revision.h |
Readme.md
Open Asset Import Library (assimp)
Open Asset Import Library is a Open Source library designed to load various 3d file formats and convert them into a single, in-memory format. It supports more than 30 file formats. It also supports exporting files to a few selected file formats.
Its abbreviated name under which it is commonly known is assimp.
This is the development trunk of assimp containing the latest features and bugfixes. For productive use though, we recommend one of the stable releases available from assimp.sf.net or from *nix package repositories. According to [Travis-CI] (https://travis-ci.org/), the current build status of the trunk is
1.1 Supported file formats
The library provides importers for a lot of file formats, including:
- 3DS
- BLEND (Blender 3D)
- DAE (Collada)
- FBX
- IFC-STEP
- ASE
- DXF
- HMP
- MD2
- MD3
- MD5
- MDC
- MDL
- NFF
- PLY
- STL
- X
- OBJ
- SMD
- LWO
- LXO
- LWS
- TER
- AC3D
- MS3D
- COB
- Q3BSP
- XGL
- CSM
- BVH
- B3D
- NDO
- Ogre XML
- Q3D
Exporters include:
- DAE (Collada)
- STL
- OBJ
- PLY
See the full list here.
1.2 Repository structure
Open Asset Import Library is implemented in C++ (but provides both a C and a C++ish interface). The directory structure is:
/bin Folder for binaries, only used on Windows
/code Source code
/contrib Third-party libraries
/doc Documentation (doxysource and pre-compiled docs)
/include Public header C and C++ header files.
/lib Static library location for Windows.
/obj Object file location for Windows.
/port Ports to other languages and scripts to maintain those.
/test Unit- and regression tests, test suite of models.
/tools Tools (viewer, command line `assimp`).
/samples A small number of samples to illustrate possible
use cases for Assimp.
/workspaces Build enviroments for vc,xcode,... (deprecated,
CMake has superseeded all legacy build options!)
2. Build the library
Take a look into the INSTALL
file. Or fire up CMake with the usual steps.
3. Where to get help
For more information, visit our website. Or check out the ./doc
- folder, which contains the official documentation in HTML format.
(CHMs for Windows are included in some release packages and should be located right here in the root folder).
If the documentation doesn't solve your problems, try our forums at SF.net
For development stuff, there is also a mailing list, assimp-discussions (subscribe here)
4. License
The license of the Asset Import Library is based on the modified, 3-clause BSD-License, which is a very liberal license. An informal summary is: do whatever you want, but include Assimp's license text with your product - and don't sue us if our code doesn't work.
Note that, unlike LGPLed code, you may link statically to Assimp.
For the formal details, see the LICENSE
file.