OpenSubdiv/python
2013-02-07 11:37:00 -08:00
..
doc update doc to match enum names 2013-02-06 22:05:56 -08:00
osd update docs 2013-02-06 21:27:16 -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 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

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.