Blender
V3.3
|
Go to the source code of this file.
Classes | |
struct | SubdivSettings |
struct | SubdivStats |
struct | SubdivDisplacement |
struct | Subdiv |
Typedefs | |
typedef enum eSubdivVtxBoundaryInterpolation | eSubdivVtxBoundaryInterpolation |
typedef enum eSubdivFVarLinearInterpolation | eSubdivFVarLinearInterpolation |
typedef struct SubdivSettings | SubdivSettings |
typedef enum eSubdivStatsValue | eSubdivStatsValue |
typedef struct SubdivStats | SubdivStats |
typedef struct SubdivDisplacement | SubdivDisplacement |
typedef struct Subdiv | Subdiv |
typedef enum eSubdivStatsValue eSubdivStatsValue |
typedef struct SubdivDisplacement SubdivDisplacement |
typedef struct SubdivSettings SubdivSettings |
typedef struct SubdivStats SubdivStats |
Definition at line 33 of file BKE_subdiv.h.
enum eSubdivStatsValue |
Definition at line 75 of file BKE_subdiv.h.
Enumerator | |
---|---|
SUBDIV_VTX_BOUNDARY_NONE | |
SUBDIV_VTX_BOUNDARY_EDGE_ONLY | |
SUBDIV_VTX_BOUNDARY_EDGE_AND_CORNER |
Definition at line 24 of file BKE_subdiv.h.
BLI_INLINE float BKE_subdiv_crease_to_sharpness_char | ( | char | edge_crease | ) |
Definition at line 95 of file subdiv_inline.h.
References BKE_subdiv_crease_to_sharpness_f().
Referenced by get_edge_sharpness(), and store_edge().
BLI_INLINE float BKE_subdiv_crease_to_sharpness_f | ( | float | edge_crease | ) |
Definition at line 90 of file subdiv_inline.h.
Referenced by BKE_subdiv_crease_to_sharpness_char(), foreach_single_vertex(), and get_vertex_sharpness().
void BKE_subdiv_displacement_attach_from_multires | ( | Subdiv * | subdiv, |
struct Mesh * | mesh, | ||
const struct MultiresModifierData * | mmd | ||
) |
Referenced by deformMatrices(), multires_as_ccg(), and multires_as_mesh().
Definition at line 14 of file subdiv_displacement.c.
References Subdiv::displacement_evaluator, SubdivDisplacement::free, MEM_freeN, and NULL.
Referenced by BKE_subdiv_displacement_attach_from_multires(), and BKE_subdiv_free().
Definition at line 37 of file subdiv.c.
References openSubdiv_cleanup().
Referenced by WM_exit_ex().
int* BKE_subdiv_face_ptex_offset_get | ( | Subdiv * | subdiv | ) |
Definition at line 209 of file subdiv.c.
References Subdiv::cache_, Subdiv::face_ptex_offset, OpenSubdiv_TopologyRefiner::getNumFacePtexFaces, OpenSubdiv_TopologyRefiner::getNumFaces, MEM_malloc_arrayN, NULL, and Subdiv::topology_refiner.
Referenced by context_init_commoon(), displacement_init_data(), draw_subdiv_build_cache(), subdiv_ccg_coord_to_ptex_coord(), subdiv_ccg_evaluate_grids(), and subdiv_foreach_ctx_init().
Definition at line 184 of file subdiv.c.
References BKE_subdiv_displacement_detach(), BKE_subsurf_modifier_free_gpu_cache_cb, Subdiv::cache_, Subdiv::evaluator, Subdiv::face_ptex_offset, MEM_freeN, NULL, openSubdiv_deleteEvaluator(), openSubdiv_deleteTopologyRefiner(), OPENSUBDIV_EVALUATOR_CPU, Subdiv::topology_refiner, and OpenSubdiv_Evaluator::type.
Referenced by BKE_subdiv_ccg_destroy(), BKE_subdiv_update_from_converter(), BKE_subsurf_modifier_subdiv_descriptor_ensure(), context_free_subdiv(), deformMatrices(), DRW_cache_free_old_subdiv(), freeRuntimeData(), blender::nodes::node_geo_mesh_subdivide_cc::geometry_set_mesh_subdivide(), mesh_wrapper_ensure_subdivision(), modifyMesh(), multires_do_versions_simple_to_catmull_clark(), multires_reshape_context_free(), multires_reshape_create_subdiv(), blender::nodes::node_geo_subdivision_surface_cc::node_geo_exec(), and subdiv_for_simple_to_catmull_clark().
eSubdivFVarLinearInterpolation BKE_subdiv_fvar_interpolation_from_uv_smooth | ( | int | uv_smooth | ) |
Definition at line 46 of file subdiv.c.
References BLI_assert_msg, SUBDIV_FVAR_LINEAR_INTERPOLATION_ALL, SUBDIV_FVAR_LINEAR_INTERPOLATION_BOUNDARIES, SUBDIV_FVAR_LINEAR_INTERPOLATION_CORNERS_AND_JUNCTIONS, SUBDIV_FVAR_LINEAR_INTERPOLATION_CORNERS_JUNCTIONS_AND_CONCAVE, SUBDIV_FVAR_LINEAR_INTERPOLATION_CORNERS_ONLY, SUBDIV_FVAR_LINEAR_INTERPOLATION_NONE, SUBSURF_UV_SMOOTH_ALL, SUBSURF_UV_SMOOTH_NONE, SUBSURF_UV_SMOOTH_PRESERVE_BOUNDARIES, SUBSURF_UV_SMOOTH_PRESERVE_CORNERS, SUBSURF_UV_SMOOTH_PRESERVE_CORNERS_AND_JUNCTIONS, and SUBSURF_UV_SMOOTH_PRESERVE_CORNERS_JUNCTIONS_AND_CONCAVE.
Referenced by BKE_multires_subdiv_settings_init(), BKE_subsurf_modifier_runtime_init(), blender::nodes::node_geo_mesh_subdivide_cc::geometry_set_mesh_subdivide(), and blender::nodes::node_geo_subdivision_surface_cc::node_geo_exec().
BLI_INLINE int BKE_subdiv_grid_size_from_level | ( | int | level | ) |
Definition at line 33 of file subdiv_inline.h.
Referenced by allocate_displacement_grid(), BKE_subdiv_ccg_key(), BKE_subdiv_to_ccg(), displacement_init_data(), ensure_mask_grids(), foreach_grid_coordinate(), linear_grid_element_delta_interpolate(), linear_grids_allocate(), multires_reshape_context_create_from_base_mesh(), multires_reshape_context_create_from_ccg(), multires_reshape_context_create_from_object(), multires_reshape_context_create_from_subdiv(), multires_reshape_orig_grid_element_for_grid_coord(), read_mask_grid(), and subdiv_ccg_alloc_elements().
BLI_INLINE void BKE_subdiv_grid_uv_to_ptex_face_uv | ( | float | grid_u, |
float | grid_v, | ||
float * | r_ptex_u, | ||
float * | r_ptex_v | ||
) |
Definition at line 24 of file subdiv_inline.h.
Referenced by average_convert_grid_coord_to_ptex(), and multires_reshape_grid_coord_to_ptex().
Subdiv* BKE_subdiv_new_from_converter | ( | const SubdivSettings * | settings, |
struct OpenSubdiv_Converter * | converter | ||
) |
Definition at line 98 of file subdiv.c.
References BKE_subdiv_stats_begin(), BKE_subdiv_stats_end(), BKE_subdiv_stats_init(), Subdiv::displacement_evaluator, Subdiv::evaluator, OpenSubdiv_Converter::getNumVertices, OpenSubdiv_TopologyRefinerSettings::is_adaptive, SubdivSettings::is_adaptive, OpenSubdiv_TopologyRefinerSettings::level, SubdivSettings::level, MEM_callocN, NULL, openSubdiv_createTopologyRefinerFromConverter(), Subdiv::settings, Subdiv::stats, SUBDIV_STATS_TOPOLOGY_REFINER_CREATION_TIME, and Subdiv::topology_refiner.
Referenced by BKE_subdiv_new_from_mesh(), BKE_subdiv_update_from_converter(), reshape_subdiv_create(), and subdiv_for_simple_to_catmull_clark().
Subdiv* BKE_subdiv_new_from_mesh | ( | const SubdivSettings * | settings, |
const struct Mesh * | mesh | ||
) |
Referenced by multires_reshape_create_subdiv().
BLI_INLINE void BKE_subdiv_ptex_face_uv_to_grid_uv | ( | float | ptex_u, |
float | ptex_v, | ||
float * | r_grid_u, | ||
float * | r_grid_v | ||
) |
Definition at line 15 of file subdiv_inline.h.
Referenced by displacement_get_grid_and_coord(), mask_get_grid_and_coord(), multires_reshape_grid_coord_to_ptex(), and multires_reshape_ptex_coord_to_grid().
BLI_INLINE void BKE_subdiv_rotate_grid_to_quad | ( | int | corner, |
float | grid_u, | ||
float | grid_v, | ||
float * | r_quad_u, | ||
float * | r_quad_v | ||
) |
Definition at line 68 of file subdiv_inline.h.
References BLI_assert.
Referenced by average_convert_grid_coord_to_ptex(), multires_reshape_grid_coord_to_ptex(), subdiv_ccg_coord_to_ptex_coord(), and subdiv_ccg_eval_regular_grid().
BLI_INLINE int BKE_subdiv_rotate_quad_to_corner | ( | float | quad_u, |
float | quad_v, | ||
float * | r_corner_u, | ||
float * | r_corner_v | ||
) |
Definition at line 38 of file subdiv_inline.h.
References BLI_assert.
Referenced by displacement_get_face_corner(), displacement_get_grid_and_coord(), mask_get_grid_and_coord(), and multires_reshape_ptex_coord_to_grid().
bool BKE_subdiv_settings_equal | ( | const SubdivSettings * | settings_a, |
const SubdivSettings * | settings_b | ||
) |
Definition at line 83 of file subdiv.c.
References SubdivSettings::fvar_linear_interpolation, SubdivSettings::is_adaptive, SubdivSettings::is_simple, SubdivSettings::level, and SubdivSettings::vtx_boundary_interpolation.
Referenced by BKE_subdiv_update_from_converter().
void BKE_subdiv_stats_begin | ( | SubdivStats * | stats, |
eSubdivStatsValue | value | ||
) |
Definition at line 26 of file subdiv_stats.c.
References SubdivStats::begin_timestamp_, and PIL_check_seconds_timer().
Referenced by BKE_subdiv_deform_coarse_vertices(), BKE_subdiv_eval_begin(), BKE_subdiv_eval_refine_from_mesh(), BKE_subdiv_new_from_converter(), BKE_subdiv_to_ccg(), BKE_subdiv_to_ccg_mesh(), BKE_subdiv_to_mesh(), and BKE_subdiv_update_from_converter().
void BKE_subdiv_stats_end | ( | SubdivStats * | stats, |
eSubdivStatsValue | value | ||
) |
Definition at line 31 of file subdiv_stats.c.
References SubdivStats::begin_timestamp_, PIL_check_seconds_timer(), and SubdivStats::values_.
Referenced by BKE_subdiv_deform_coarse_vertices(), BKE_subdiv_eval_begin(), BKE_subdiv_eval_refine_from_mesh(), BKE_subdiv_new_from_converter(), BKE_subdiv_to_ccg(), BKE_subdiv_to_ccg_mesh(), BKE_subdiv_to_mesh(), and BKE_subdiv_update_from_converter().
void BKE_subdiv_stats_init | ( | SubdivStats * | stats | ) |
Definition at line 14 of file subdiv_stats.c.
References SubdivStats::evaluator_creation_time, SubdivStats::evaluator_refine_time, SubdivStats::subdiv_to_ccg_elements_time, SubdivStats::subdiv_to_ccg_time, SubdivStats::subdiv_to_mesh_geometry_time, SubdivStats::subdiv_to_mesh_time, SubdivStats::topology_compare_time, and SubdivStats::topology_refiner_creation_time.
Referenced by BKE_subdiv_new_from_converter().
void BKE_subdiv_stats_print | ( | const SubdivStats * | stats | ) |
Definition at line 41 of file subdiv_stats.c.
References STATS_PRINT_TIME.
void BKE_subdiv_stats_reset | ( | SubdivStats * | stats, |
eSubdivStatsValue | value | ||
) |
Definition at line 36 of file subdiv_stats.c.
References SubdivStats::values_.
Referenced by BKE_subdiv_eval_begin().
Subdiv* BKE_subdiv_update_from_converter | ( | Subdiv * | subdiv, |
const SubdivSettings * | settings, | ||
struct OpenSubdiv_Converter * | converter | ||
) |
Definition at line 141 of file subdiv.c.
References BKE_subdiv_free(), BKE_subdiv_new_from_converter(), BKE_subdiv_settings_equal(), BKE_subdiv_stats_begin(), BKE_subdiv_stats_end(), NULL, openSubdiv_topologyRefinerCompareWithConverter(), Subdiv::settings, Subdiv::stats, SUBDIV_STATS_TOPOLOGY_COMPARE, and Subdiv::topology_refiner.
Referenced by BKE_subdiv_update_from_mesh().
Subdiv* BKE_subdiv_update_from_mesh | ( | Subdiv * | subdiv, |
const SubdivSettings * | settings, | ||
const struct Mesh * | mesh | ||
) |
eSubdivVtxBoundaryInterpolation BKE_subdiv_vtx_boundary_interpolation_from_subsurf | ( | int | boundary_smooth | ) |
Definition at line 66 of file subdiv.c.
References BLI_assert_msg, SUBDIV_VTX_BOUNDARY_EDGE_AND_CORNER, SUBDIV_VTX_BOUNDARY_EDGE_ONLY, SUBSURF_BOUNDARY_SMOOTH_ALL, and SUBSURF_BOUNDARY_SMOOTH_PRESERVE_CORNERS.
Referenced by BKE_multires_subdiv_settings_init(), BKE_subsurf_modifier_runtime_init(), blender::nodes::node_geo_mesh_subdivide_cc::geometry_set_mesh_subdivide(), and blender::nodes::node_geo_subdivision_surface_cc::node_geo_exec().