mirror of
https://github.com/PixarAnimationStudios/OpenSubdiv
synced 2024-12-01 15:50:07 +00:00
3ae50d1c50
New text: Copyright 2013 Pixar Licensed under the Apache License, Version 2.0 (the "Apache License") with the following modification; you may not use this file except in compliance with the Apache License and the following modification to it: Section 6. Trademarks. is deleted and replaced with: 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor and its affiliates, except as required to comply with Section 4(c) of the License and to reproduce the content of the NOTICE file. You may obtain a copy of the Apache License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the Apache License with the above modification is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the Apache License for the specific language governing permissions and limitations under the Apache License. |
||
---|---|---|
.. | ||
doc | ||
osd | ||
test | ||
CMakeLists.txt | ||
README.md | ||
setup.py |
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 tohole
etc - Exercise this in the demo by getting it down to GPU (maybe do "discard" for certain faces)
- Subdivider should expose a
- 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.