diff options
Diffstat (limited to 'intern/opensubdiv/opensubdiv_evaluator_capi.h')
-rw-r--r-- | intern/opensubdiv/opensubdiv_evaluator_capi.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/intern/opensubdiv/opensubdiv_evaluator_capi.h b/intern/opensubdiv/opensubdiv_evaluator_capi.h index ceb0c58feba..1572d01b851 100644 --- a/intern/opensubdiv/opensubdiv_evaluator_capi.h +++ b/intern/opensubdiv/opensubdiv_evaluator_capi.h @@ -24,6 +24,7 @@ extern "C" { #endif struct OpenSubdiv_EvaluatorInternal; +struct OpenSubdiv_PatchCoord; struct OpenSubdiv_TopologyRefiner; typedef struct OpenSubdiv_Evaluator { @@ -108,6 +109,19 @@ typedef struct OpenSubdiv_Evaluator { float face_v, float face_varying[2]); + // Batched evaluation of multiple input coordinates. + + // Evaluate limit surface. + // If derivatives are NULL, they will not be evaluated. + // + // NOTE: Output arrays must point to a memory of size float[3]*num_patch_coords. + void (*evaluatePatchesLimit)(struct OpenSubdiv_Evaluator *evaluator, + const struct OpenSubdiv_PatchCoord *patch_coords, + const int num_patch_coords, + float *P, + float *dPdu, + float *dPdv); + // Internal storage for the use in this module only. // // This is where actual OpenSubdiv's evaluator is living. |