64 Subdiv *subdiv,
int ptex_face_index,
float u,
float v,
float3 &r_P,
float3 &r_N);
68 Subdiv *subdiv,
int ptex_face_index,
float u,
float v,
float r_vertex_data[]);
72 int face_varying_channel,
ATTR_WARN_UNUSED_RESULT const BMVert * v
void eval_init_displacement(Subdiv *subdiv)
float3 eval_final_point(Subdiv *subdiv, int ptex_face_index, float u, float v)
bool eval_begin_from_mesh(Subdiv *subdiv, const Mesh *mesh, eSubdivEvaluatorType evaluator_type, Span< float3 > coarse_vert_positions={}, OpenSubdiv_EvaluatorCache *evaluator_cache=nullptr)
float3 eval_limit_point(Subdiv *subdiv, int ptex_face_index, float u, float v)
bool eval_begin(Subdiv *subdiv, eSubdivEvaluatorType evaluator_type, OpenSubdiv_EvaluatorCache *evaluator_cache, const OpenSubdiv_EvaluatorSettings *settings)
void eval_limit_point_and_normal(Subdiv *subdiv, int ptex_face_index, float u, float v, float3 &r_P, float3 &r_N)
void eval_limit_point_and_derivatives(Subdiv *subdiv, int ptex_face_index, float u, float v, float3 &r_P, float3 &r_dPdu, float3 &r_dPdv)
void eval_displacement(Subdiv *subdiv, int ptex_face_index, float u, float v, const float3 &dPdu, const float3 &dPdv, float3 &r_D)
@ SUBDIV_EVALUATOR_TYPE_GPU
@ SUBDIV_EVALUATOR_TYPE_CPU
bool eval_refine_from_mesh(Subdiv *subdiv, const Mesh *mesh, Span< float3 > coarse_vert_positions)
void eval_face_varying(Subdiv *subdiv, int face_varying_channel, int ptex_face_index, float u, float v, float2 &r_face_varying)
void eval_vertex_data(Subdiv *subdiv, int ptex_face_index, float u, float v, float r_vertex_data[])
VecBase< float, 2 > float2
VecBase< float, 3 > float3