Blender
V3.3
|
#include "BLI_sys_types.h"
Go to the source code of this file.
Typedefs | |
typedef enum eSubdivEvaluatorType | eSubdivEvaluatorType |
Enumerations | |
enum | eSubdivEvaluatorType { SUBDIV_EVALUATOR_TYPE_CPU , SUBDIV_EVALUATOR_TYPE_GPU } |
Functions | |
bool | BKE_subdiv_eval_begin (struct Subdiv *subdiv, eSubdivEvaluatorType evaluator_type, struct OpenSubdiv_EvaluatorCache *evaluator_cache, const struct OpenSubdiv_EvaluatorSettings *settings) |
bool | BKE_subdiv_eval_begin_from_mesh (struct Subdiv *subdiv, const struct Mesh *mesh, const float(*coarse_vertex_cos)[3], eSubdivEvaluatorType evaluator_type, struct OpenSubdiv_EvaluatorCache *evaluator_cache) |
bool | BKE_subdiv_eval_refine_from_mesh (struct Subdiv *subdiv, const struct Mesh *mesh, const float(*coarse_vertex_cos)[3]) |
void | BKE_subdiv_eval_init_displacement (struct Subdiv *subdiv) |
void | BKE_subdiv_eval_limit_point (struct Subdiv *subdiv, int ptex_face_index, float u, float v, float r_P[3]) |
void | BKE_subdiv_eval_limit_point_and_derivatives (struct Subdiv *subdiv, int ptex_face_index, float u, float v, float r_P[3], float r_dPdu[3], float r_dPdv[3]) |
void | BKE_subdiv_eval_limit_point_and_normal (struct Subdiv *subdiv, int ptex_face_index, float u, float v, float r_P[3], float r_N[3]) |
void | BKE_subdiv_eval_vertex_data (struct Subdiv *subdiv, const int ptex_face_index, const float u, const float v, float r_vertex_data[]) |
void | BKE_subdiv_eval_face_varying (struct Subdiv *subdiv, int face_varying_channel, int ptex_face_index, float u, float v, float r_face_varying[2]) |
void | BKE_subdiv_eval_displacement (struct Subdiv *subdiv, int ptex_face_index, float u, float v, const float dPdu[3], const float dPdv[3], float r_D[3]) |
void | BKE_subdiv_eval_final_point (struct Subdiv *subdiv, int ptex_face_index, float u, float v, float r_P[3]) |
typedef enum eSubdivEvaluatorType eSubdivEvaluatorType |
enum eSubdivEvaluatorType |
Enumerator | |
---|---|
SUBDIV_EVALUATOR_TYPE_CPU | |
SUBDIV_EVALUATOR_TYPE_GPU |
Definition at line 21 of file BKE_subdiv_eval.h.
bool BKE_subdiv_eval_begin | ( | struct Subdiv * | subdiv, |
eSubdivEvaluatorType | evaluator_type, | ||
struct OpenSubdiv_EvaluatorCache * | evaluator_cache, | ||
const struct OpenSubdiv_EvaluatorSettings * | settings | ||
) |
Referenced by reshape_subdiv_create().
bool BKE_subdiv_eval_begin_from_mesh | ( | struct Subdiv * | subdiv, |
const struct Mesh * | mesh, | ||
const float(*) | coarse_vertex_cos[3], | ||
eSubdivEvaluatorType | evaluator_type, | ||
struct OpenSubdiv_EvaluatorCache * | evaluator_cache | ||
) |
void BKE_subdiv_eval_displacement | ( | struct Subdiv * | subdiv, |
int | ptex_face_index, | ||
float | u, | ||
float | v, | ||
const float | dPdu[3], | ||
const float | dPdv[3], | ||
float | r_D[3] | ||
) |
Definition at line 350 of file subdiv_eval.c.
References Subdiv::displacement_evaluator, SubdivDisplacement::eval_displacement, NULL, v, and zero_v3().
Referenced by BKE_subdiv_eval_final_point(), and subdiv_accumulate_vertex_displacement().
void BKE_subdiv_eval_face_varying | ( | struct Subdiv * | subdiv, |
int | face_varying_channel, | ||
int | ptex_face_index, | ||
float | u, | ||
float | v, | ||
float | r_face_varying[2] | ||
) |
Definition at line 339 of file subdiv_eval.c.
References OpenSubdiv_Evaluator::evaluateFaceVarying, Subdiv::evaluator, and v.
Referenced by subdiv_eval_uv_layer().
void BKE_subdiv_eval_final_point | ( | struct Subdiv * | subdiv, |
int | ptex_face_index, | ||
float | u, | ||
float | v, | ||
float | r_P[3] | ||
) |
Definition at line 366 of file subdiv_eval.c.
References add_v3_v3(), BKE_subdiv_eval_displacement(), BKE_subdiv_eval_limit_point(), BKE_subdiv_eval_limit_point_and_derivatives(), D(), Subdiv::displacement_evaluator, and v.
Referenced by subdiv_ccg_eval_grid_element_limit(), and subdiv_mesh_vertex_inner().
Definition at line 265 of file subdiv_eval.c.
References Subdiv::displacement_evaluator, SubdivDisplacement::initialize, and NULL.
Referenced by BKE_subdiv_eval_begin().
void BKE_subdiv_eval_limit_point | ( | struct Subdiv * | subdiv, |
int | ptex_face_index, | ||
float | u, | ||
float | v, | ||
float | r_P[3] | ||
) |
Definition at line 280 of file subdiv_eval.c.
References BKE_subdiv_eval_limit_point_and_derivatives(), NULL, and v.
Referenced by BKE_subdiv_ccg_eval_limit_point(), BKE_subdiv_eval_final_point(), evaluate_higher_grid_positions_callback(), evaluate_vertex_and_apply_displacement_copy(), evaluate_vertex_and_apply_displacement_interpolate(), subdiv_ccg_eval_grid_element_limit(), and subdiv_mesh_vertex_corner().
void BKE_subdiv_eval_limit_point_and_derivatives | ( | struct Subdiv * | subdiv, |
int | ptex_face_index, | ||
float | u, | ||
float | v, | ||
float | r_P[3], | ||
float | r_dPdu[3], | ||
float | r_dPdv[3] | ||
) |
Definition at line 286 of file subdiv_eval.c.
References equals_v3v3(), OpenSubdiv_Evaluator::evaluateLimit, Subdiv::evaluator, is_zero_v3(), NULL, and v.
Referenced by average_construct_tangent_matrix(), BKE_subdiv_eval_final_point(), BKE_subdiv_eval_limit_point(), BKE_subdiv_eval_limit_point_and_normal(), multires_reshape_evaluate_limit_at_grid(), reshape_subdiv_evaluate_limit_at_grid(), and subdiv_accumulate_vertex_displacement().
void BKE_subdiv_eval_limit_point_and_normal | ( | struct Subdiv * | subdiv, |
int | ptex_face_index, | ||
float | u, | ||
float | v, | ||
float | r_P[3], | ||
float | r_N[3] | ||
) |
Definition at line 320 of file subdiv_eval.c.
References BKE_subdiv_eval_limit_point_and_derivatives(), cross_v3_v3v3(), normalize_v3(), and v.
Referenced by subdiv_ccg_eval_grid_element_limit().
void BKE_subdiv_eval_vertex_data | ( | struct Subdiv * | subdiv, |
const int | ptex_face_index, | ||
const float | u, | ||
const float | v, | ||
float | r_vertex_data[] | ||
) |
Definition at line 333 of file subdiv_eval.c.
References OpenSubdiv_Evaluator::evaluateVertexData, Subdiv::evaluator, and v.
Referenced by subdiv_vertex_orco_evaluate().