OpenSubdiv/python
manuelk f3bb911351 - fix gcc offsetof compile warnings by passing flags & definitions from CMake to the setup.py script
- add a -builtin swig flag if an appropriate version of swig is found

fixes #116
2013-02-08 13:51:11 -08:00
..
doc move screenshot of demo to doc folder 2013-02-07 16:57:22 -08:00
osd adding missing license banner 2013-02-08 13:48:51 -08:00
test Revamped Python bindings that use SWIG 2013-02-04 21:10:58 -08:00
README.md incorp feedback from mkraemer: remove the license file, move the demo to examples/python, change the min Python version to 2.6 2013-02-07 11:37:00 -08:00
setup.py - fix gcc offsetof compile warnings by passing flags & definitions from CMake to the setup.py script 2013-02-08 13:51:11 -08:00

Instructions

The OpenSubdiv Python wrapper has been tested with Python 2.6 and Python 2.7. Make sure you install SWIG and numpy before you begin.

CMake builds the extension like this:

./setup.py build --osddir='../build/lib' \
                 --build-platlib='../build/python' \
                 --build-temp='../build/temp'

If you invoke this manually, you'll need to replace ../build/lib with the folder that has libosdCPU.a.

The demo that uses PyQt and PyOpenGL can be found in ../examples/python.

You can run some unit tests like so:

./setup.py test

You can clean, build, and test in one go like this:

./setup.py clean --all build test

You can generate and view the Sphinx-generated documentation like so:

./setup.py doc
open ./doc/_build/html/index.html

To Do Items

  • Add support for face varying data by augmenting _FaceAdapter in adapters.py
    • Exercise this in the demo by getting it down to GPU (maybe do "discard" for certain faces)
  • Instead of using OsdCpuVertexBuffer, create a "NumpyCpuVertexBuffer" that wraps a numpy array
  • Add an API that looks very similar to the RIB parameters for RiHierarchicalSubdiv
  • Remove all the caveats that are listed in the Sphinx docs :)
  • Sphinx documentation should be CMake-ified.