Overview of OpenSubdiv (Osd) roles
devThe Osd layer provides device-dependent code to make Far structures available on various backends (TBB, CUDA, OpenCL, GLSL, etc.). Its primary roles include:
- Refinement: Computing stencil-based uniform or adaptive subdivision on CPU/GPU.
- Limit Stencil Evaluation: Computing limit surfaces using limit stencils on CPU/GPU.
- Limit Evaluation with PatchTable: Computing limit surfaces via patch evaluation on CPU/GPU.
- Hardware Tessellation Drawing: Providing GLSL/HLSL/Metal tessellation functions for OpenGL, DX11, or Metal.
- Buffer Configuration: Providing consistent buffer descriptors for interleaved or batched layouts.
- Cross-Platform Interop: Providing classes to facilitate interop between compute and draw APIs.
Note: Osd Evaluators do not own vertex buffers; clients must provide their own source and destination buffers.