|
Blender
V2.93
|
#include "BLI_sys_types.h"Go to the source code of this file.
Functions | |
| bool | BKE_subdiv_eval_begin (struct Subdiv *subdiv) |
| bool | BKE_subdiv_eval_begin_from_mesh (struct Subdiv *subdiv, const struct Mesh *mesh, const float(*coarse_vertex_cos)[3]) |
| 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, const int ptex_face_index, const float u, const float v, float r_P[3]) |
| void | BKE_subdiv_eval_limit_point_and_derivatives (struct Subdiv *subdiv, const int ptex_face_index, const float u, const 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, const int ptex_face_index, const float u, const float v, float r_P[3], float r_N[3]) |
| void | BKE_subdiv_eval_limit_point_and_short_normal (struct Subdiv *subdiv, const int ptex_face_index, const float u, const float v, float r_P[3], short r_N[3]) |
| void | BKE_subdiv_eval_face_varying (struct Subdiv *subdiv, const int face_varying_channel, const int ptex_face_index, const float u, const float v, float r_face_varying[2]) |
| void | BKE_subdiv_eval_displacement (struct Subdiv *subdiv, const int ptex_face_index, const float u, const float v, const float dPdu[3], const float dPdv[3], float r_D[3]) |
| void | BKE_subdiv_eval_final_point (struct Subdiv *subdiv, const int ptex_face_index, const float u, const float v, float r_P[3]) |
| void | BKE_subdiv_eval_limit_patch_resolution_point (struct Subdiv *subdiv, const int ptex_face_index, const int resolution, void *buffer, const int offset, const int stride) |
| void | BKE_subdiv_eval_limit_patch_resolution_point_and_derivatives (struct Subdiv *subdiv, const int ptex_face_index, const int resolution, void *point_buffer, const int point_offset, const int point_stride, void *du_buffer, const int du_offset, const int du_stride, void *dv_buffer, const int dv_offset, const int dv_stride) |
| void | BKE_subdiv_eval_limit_patch_resolution_point_and_normal (struct Subdiv *subdiv, const int ptex_face_index, const int resolution, void *point_buffer, const int point_offset, const int point_stride, void *normal_buffer, const int normal_offset, const int normal_stride) |
| void | BKE_subdiv_eval_limit_patch_resolution_point_and_short_normal (struct Subdiv *subdiv, const int ptex_face_index, const int resolution, void *point_buffer, const int point_offset, const int point_stride, void *normal_buffer, const int normal_offset, const int normal_stride) |
| bool BKE_subdiv_eval_begin | ( | struct Subdiv * | subdiv | ) |
Definition at line 41 of file subdiv_eval.c.
References BKE_subdiv_eval_init_displacement(), BKE_subdiv_stats_begin(), BKE_subdiv_stats_end(), BKE_subdiv_stats_reset(), Subdiv::evaluator, NULL, openSubdiv_createEvaluatorFromTopologyRefiner(), Subdiv::stats, SUBDIV_STATS_EVALUATOR_CREATE, and Subdiv::topology_refiner.
Referenced by BKE_subdiv_eval_begin_from_mesh(), and reshape_subdiv_create().
| void BKE_subdiv_eval_displacement | ( | struct Subdiv * | subdiv, |
| const int | ptex_face_index, | ||
| const float | u, | ||
| const float | v, | ||
| const float | dPdu[3], | ||
| const float | dPdv[3], | ||
| float | r_D[3] | ||
| ) |
Definition at line 247 of file subdiv_eval.c.
References Subdiv::displacement_evaluator, SubdivDisplacement::eval_displacement, NULL, v, and zero_v3().
Referenced by BKE_subdiv_eval_final_point(), subdiv_accumulate_vertex_displacement(), and subdiv_accumulate_vertex_normal_and_displacement().
| void BKE_subdiv_eval_face_varying | ( | struct Subdiv * | subdiv, |
| const int | face_varying_channel, | ||
| const int | ptex_face_index, | ||
| const float | u, | ||
| const float | v, | ||
| float | r_face_varying[2] | ||
| ) |
Definition at line 236 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, |
| const int | ptex_face_index, | ||
| const float | u, | ||
| const float | v, | ||
| float | r_P[3] | ||
| ) |
Definition at line 263 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 eval_final_point_and_vertex_normal(), and subdiv_ccg_eval_grid_element_limit().
| void BKE_subdiv_eval_init_displacement | ( | struct Subdiv * | subdiv | ) |
Definition at line 158 of file subdiv_eval.c.
References Subdiv::displacement_evaluator, SubdivDisplacement::initialize, and NULL.
Referenced by BKE_subdiv_eval_begin().
| void BKE_subdiv_eval_limit_patch_resolution_point | ( | struct Subdiv * | subdiv, |
| const int | ptex_face_index, | ||
| const int | resolution, | ||
| void * | buffer, | ||
| const int | offset, | ||
| const int | stride | ||
| ) |
Definition at line 297 of file subdiv_eval.c.
References BKE_subdiv_eval_limit_point(), buffer, buffer_apply_offset(), float(), stride, v, x, and y.
| void BKE_subdiv_eval_limit_patch_resolution_point_and_derivatives | ( | struct Subdiv * | subdiv, |
| const int | ptex_face_index, | ||
| const int | resolution, | ||
| void * | point_buffer, | ||
| const int | point_offset, | ||
| const int | point_stride, | ||
| void * | du_buffer, | ||
| const int | du_offset, | ||
| const int | du_stride, | ||
| void * | dv_buffer, | ||
| const int | dv_offset, | ||
| const int | dv_stride | ||
| ) |
Definition at line 316 of file subdiv_eval.c.
References BKE_subdiv_eval_limit_point_and_derivatives(), buffer_apply_offset(), float(), v, x, and y.
| void BKE_subdiv_eval_limit_patch_resolution_point_and_normal | ( | struct Subdiv * | subdiv, |
| const int | ptex_face_index, | ||
| const int | resolution, | ||
| void * | point_buffer, | ||
| const int | point_offset, | ||
| const int | point_stride, | ||
| void * | normal_buffer, | ||
| const int | normal_offset, | ||
| const int | normal_stride | ||
| ) |
Definition at line 346 of file subdiv_eval.c.
References BKE_subdiv_eval_limit_point_and_normal(), buffer_apply_offset(), buffer_write_float_value(), float(), normal, v, x, and y.
| void BKE_subdiv_eval_limit_patch_resolution_point_and_short_normal | ( | struct Subdiv * | subdiv, |
| const int | ptex_face_index, | ||
| const int | resolution, | ||
| void * | point_buffer, | ||
| const int | point_offset, | ||
| const int | point_stride, | ||
| void * | normal_buffer, | ||
| const int | normal_offset, | ||
| const int | normal_stride | ||
| ) |
Definition at line 372 of file subdiv_eval.c.
References BKE_subdiv_eval_limit_point_and_short_normal(), buffer_apply_offset(), buffer_write_short_value(), float(), normal, v, x, and y.
| void BKE_subdiv_eval_limit_point | ( | struct Subdiv * | subdiv, |
| const int | ptex_face_index, | ||
| const float | u, | ||
| const float | v, | ||
| float | r_P[3] | ||
| ) |
Definition at line 171 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(), BKE_subdiv_eval_limit_patch_resolution_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, |
| const int | ptex_face_index, | ||
| const float | u, | ||
| const float | v, | ||
| float | r_P[3], | ||
| float | r_dPdu[3], | ||
| float | r_dPdv[3] | ||
| ) |
Definition at line 177 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_patch_resolution_point_and_derivatives(), BKE_subdiv_eval_limit_point(), BKE_subdiv_eval_limit_point_and_normal(), multires_reshape_evaluate_limit_at_grid(), reshape_subdiv_evaluate_limit_at_grid(), subdiv_accumulate_vertex_displacement(), and subdiv_accumulate_vertex_normal_and_displacement().
| void BKE_subdiv_eval_limit_point_and_normal | ( | struct Subdiv * | subdiv, |
| const int | ptex_face_index, | ||
| const float | u, | ||
| const float | v, | ||
| float | r_P[3], | ||
| float | r_N[3] | ||
| ) |
Definition at line 211 of file subdiv_eval.c.
References BKE_subdiv_eval_limit_point_and_derivatives(), cross_v3_v3v3(), normalize_v3(), and v.
Referenced by BKE_subdiv_eval_limit_patch_resolution_point_and_normal(), BKE_subdiv_eval_limit_point_and_short_normal(), and subdiv_ccg_eval_grid_element_limit().
| void BKE_subdiv_eval_limit_point_and_short_normal | ( | struct Subdiv * | subdiv, |
| const int | ptex_face_index, | ||
| const float | u, | ||
| const float | v, | ||
| float | r_P[3], | ||
| short | r_N[3] | ||
| ) |
Definition at line 224 of file subdiv_eval.c.
References BKE_subdiv_eval_limit_point_and_normal(), normal_float_to_short_v3(), and v.
Referenced by BKE_subdiv_eval_limit_patch_resolution_point_and_short_normal(), and eval_final_point_and_vertex_normal().