assimp/port/PyAssimp3
aramis_acg f7c232cfe8 merge git://github.com/gellule/assimp.git
Before, neither the texture index nor its semantic were kept in the
returned output. Now GetMaterialProperties returns a (name, color,
material, texture) tuple. Name is the name of the material. Color is a
dictionary of color properties. Material is a dictionary of material
properties. Textures is a triply nested dictionary addressed by the
following: textures[index][semantic][key]. See assimp documentation for
the meaning of index, semantic, and keys in general.



git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1106 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-01-11 00:27:49 +00:00
..
pyassimp merge git://github.com/gellule/assimp.git 2012-01-11 00:27:49 +00:00
README + add rudimentary Python3 version of PyAssimp. Conversion using 2to3 plus some manual tweaks. 2011-07-20 00:36:26 +00:00
quicktest.py + add rudimentary Python3 version of PyAssimp. Conversion using 2to3 plus some manual tweaks. 2011-07-20 00:36:26 +00:00
sample.py + add rudimentary Python3 version of PyAssimp. Conversion using 2to3 plus some manual tweaks. 2011-07-20 00:36:26 +00:00

README

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

	PyAssimp3 Readme
	---------------


-- a simple Python3 wrapper for Assimp using ctypes to access
the library. Works with Python 3 upwards.


Note that pyassimp is by no means considered mature. It works,
but it is far away from wrapping Assimp perfectly.


USAGE
=====

To get started with pyAssimp, examine the sample.py script, which
illustrates the basic usage. All Assimp data structures are
wrapped using ctypes. All the data+length fields in Assimp's
data structures (such as 'aiMesh::mNumVertices','aiMesh::mVertices')
are replaced by simple python lists, so you can call len() on
them to get their respective size and access members using
[].

For example, to load a file named 'hello.3ds' and print the first
vertex of the first mesh, you would do (proper error handling
substituted by assertions ...):

> from pyassimp import pyassimp, errors
> 
> try:
> 	scene = pyassimp.load('hello.3ds')
> except AssimpError, msg:
>     print(msg)
>     return

> assert len(scene.meshes)
> mesh = scene.meshes[0]

> assert len(mesh.vertices)
> print(mesh.vertices[0])

> # don't forget this one, or you will leak!
> pyassimp.release(scene)


INSTALL
=======

PyAssimp requires a assimp dynamic library (DLL on windows,
so on linux :-) in order to work. The default search directories 
are:

- the current directory
- on linux additionally: /usr/local/lib

To build that library, refer to the Assimp master INSTALL
instructions. To look in more places, edit ./pyassimp/helper.py.
There's an 'additional_dirs' list waiting for your entries.