Changeset View
Changeset View
Standalone View
Standalone View
intern/opensubdiv/opensubdiv_evaluator_capi.h
| Show First 20 Lines • Show All 63 Lines • ▼ Show 20 Lines | |||||
| } OpenSubdiv_Buffer; | } OpenSubdiv_Buffer; | ||||
| typedef struct OpenSubdiv_Evaluator { | typedef struct OpenSubdiv_Evaluator { | ||||
| // Set coarse positions from a continuous array of coordinates. | // Set coarse positions from a continuous array of coordinates. | ||||
| void (*setCoarsePositions)(struct OpenSubdiv_Evaluator *evaluator, | void (*setCoarsePositions)(struct OpenSubdiv_Evaluator *evaluator, | ||||
| const float *positions, | const float *positions, | ||||
| const int start_vertex_index, | const int start_vertex_index, | ||||
| const int num_vertices); | const int num_vertices); | ||||
| // Set extra vertex data from a continuous array of coordinates. | |||||
| void (*setExtraVertexData)(struct OpenSubdiv_Evaluator *evaluator, | |||||
| const float *extra_data, | |||||
| const int start_vertex_index, | |||||
| const int num_vertices); | |||||
| // Set varying data from a continuous array of data. | // Set varying data from a continuous array of data. | ||||
| void (*setVaryingData)(struct OpenSubdiv_Evaluator *evaluator, | void (*setVaryingData)(struct OpenSubdiv_Evaluator *evaluator, | ||||
| const float *varying_data, | const float *varying_data, | ||||
| const int start_vertex_index, | const int start_vertex_index, | ||||
| const int num_vertices); | const int num_vertices); | ||||
| // Set face varying data from a continuous array of data. | // Set face varying data from a continuous array of data. | ||||
| // | // | ||||
| // TODO(sergey): Find a better name for vertex here. It is not the vertex of | // TODO(sergey): Find a better name for vertex here. It is not the vertex of | ||||
| ▲ Show 20 Lines • Show All 44 Lines • ▼ Show 20 Lines | typedef struct OpenSubdiv_Evaluator { | ||||
| void (*evaluateLimit)(struct OpenSubdiv_Evaluator *evaluator, | void (*evaluateLimit)(struct OpenSubdiv_Evaluator *evaluator, | ||||
| const int ptex_face_index, | const int ptex_face_index, | ||||
| float face_u, | float face_u, | ||||
| float face_v, | float face_v, | ||||
| float P[3], | float P[3], | ||||
| float dPdu[3], | float dPdu[3], | ||||
| float dPdv[3]); | float dPdv[3]); | ||||
| // Evaluate extra vertex data at a given bilinear coordinate of given ptex face. | |||||
| void (*evaluateExtraVertexData)(struct OpenSubdiv_Evaluator *evaluator, | |||||
| const int ptex_face_index, | |||||
| float face_u, | |||||
| float face_v, | |||||
| float extra_data[]); | |||||
| // Evaluate varying data at a given bilinear coordinate of given ptex face. | // Evaluate varying data at a given bilinear coordinate of given ptex face. | ||||
| void (*evaluateVarying)(struct OpenSubdiv_Evaluator *evaluator, | void (*evaluateVarying)(struct OpenSubdiv_Evaluator *evaluator, | ||||
| const int ptex_face_index, | const int ptex_face_index, | ||||
| float face_u, | float face_u, | ||||
| float face_v, | float face_v, | ||||
| float varying[3]); | float varying[3]); | ||||
| // Evaluate face-varying data at a given bilinear coordinate of given | // Evaluate face-varying data at a given bilinear coordinate of given | ||||
| ▲ Show 20 Lines • Show All 98 Lines • Show Last 20 Lines | |||||