Introduction
The Python Computer Graphics Kit is an Open Source software package
containing a collection of Python modules,
plugins and utilities that are meant to be useful for any domain
where you have to deal with 3D data of any kind,
be it for visualization, creating photorealistic images, Virtual
Reality or even games.
Currently, the entire kit consists of the following parts:
- The Python package cgkit that extends Python with 3D-related
functionality.
- The Maya plugin sourcepy that integrates the Python interpreter
into Maya, and the accompanying Python package maya that makes
Maya functionality available in Python.
- A collection of small stand-alone utilities written in Python, MEL or MaxScript.
cgkit features:
- New 3D data types such as vec3, vec4, mat3, mat4 and quat
- Contains a Python binding of Pixar's RenderMan API
- Provides access to specialized input hardware such as SpaceMouse/SpaceBall,
data glove or tablet via wrappers around the 3DxWare SDK by
3Dconnexion, the Wintab
Developer Kit
by LCS/Telegraphics and
the Data Glove SDK by
Fifth Dimension Technologies.
- Additional 3D utility functions such as various noises or the functions
found in the RenderMan Shading Language
- Parse RenderMan shader source files to extract shader parameters
- 3D data can be stored and manipulated in memory
- Imports 3DS, VRML, X3D, OBJ, OFF, IFS, STL, PLY, MA, ASF/AMC, BVH (using the following libraries:
lib3ds,
CyberX3D, RPly)
- Exports RIB (shaders are generated on-the-fly), OBJ, OFF, PLY
- Turns Python into a scene description language which can define scenes that can then be rendered
with RenderMan or OpenGL.
- Interactive OpenGL viewer tool
- OpenGL stereo output (vertical split or quad buffer)
- Offline render tool that feeds a RenderMan renderer, can also be used
to bake texture maps
- Connect arbitrary attributes of the same type to create animations
- Rigid body dynamics via the Open Dynamics Engine
- Extensible via regular modules or plugins
Python/Maya features:
- Integrates the Python interpreter into Maya by providing two new MEL commands
py and pySource that can execute Python source code.
- Provides dynamic Python wrappers around all MEL commands found in Maya.
- Provides new convenience classes for creating GUIs
- Exposes the Maya C++ SDK to Python
- Allows writing plug-ins in Python