OpenSubdiv/python
2014-02-24 11:11:23 -08:00
..
doc Amending Apache license language & file headers. 2013-09-26 12:04:57 -07:00
osd Add stddef.h to python/osd/osdshim.i 2014-02-24 11:11:23 -08:00
test Amending Apache license language & file headers. 2013-09-26 12:04:57 -07:00
CMakeLists.txt Amending Apache license language & file headers. 2013-09-26 12:04:57 -07:00
README.md typo fix 2013-02-17 08:28:48 -08:00
setup.py Amending Apache license language & file headers. 2013-09-26 12:04:57 -07: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
    • Subdivider should expose a quads property that allows access to hole etc
    • 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.