Blender
V3.3
|
Go to the source code of this file.
Classes | |
struct | SubsurfRuntimeData |
Macros | |
#define | MAX_GPU_SUBDIV_SSBOS 12 |
Typedefs | |
typedef struct SubsurfRuntimeData | SubsurfRuntimeData |
Functions | |
bool | BKE_subsurf_modifier_runtime_init (struct SubsurfModifierData *smd, bool use_render_params) |
bool | BKE_subsurf_modifier_use_custom_loop_normals (const struct SubsurfModifierData *smd, const struct Mesh *mesh) |
bool | BKE_subsurf_modifier_force_disable_gpu_evaluation_for_mesh (const struct SubsurfModifierData *smd, const struct Mesh *mesh) |
bool | BKE_subsurf_modifier_can_do_gpu_subdiv (const struct Scene *scene, const struct Object *ob, const struct Mesh *mesh, const struct SubsurfModifierData *smd, int required_mode) |
bool | BKE_subsurf_modifier_has_gpu_subdiv (const struct Mesh *mesh) |
struct Subdiv * | BKE_subsurf_modifier_subdiv_descriptor_ensure (struct SubsurfRuntimeData *runtime_data, const struct Mesh *mesh, bool for_draw_code) |
int | BKE_subsurf_modifier_eval_required_mode (bool is_final_render, bool is_edit_mode) |
Variables | |
void(* | BKE_subsurf_modifier_free_gpu_cache_cb )(struct Subdiv *subdiv) |
#define MAX_GPU_SUBDIV_SSBOS 12 |
Definition at line 20 of file BKE_subdiv_modifier.h.
typedef struct SubsurfRuntimeData SubsurfRuntimeData |
bool BKE_subsurf_modifier_can_do_gpu_subdiv | ( | const struct Scene * | scene, |
const struct Object * | ob, | ||
const struct Mesh * | mesh, | ||
const struct SubsurfModifierData * | smd, | ||
int | required_mode | ||
) |
skip_check_is_last | When true, we assume that the modifier passed is the last enabled modifier in the stack. |
Referenced by modifyMesh().
Return the ModifierMode required for the evaluation of the subsurf modifier, which should be used to check if the modifier is enabled.
Definition at line 167 of file subdiv_modifier.c.
References eModifierMode_Editmode, eModifierMode_Realtime, and eModifierMode_Render.
Referenced by modifyMesh().
bool BKE_subsurf_modifier_force_disable_gpu_evaluation_for_mesh | ( | const struct SubsurfModifierData * | smd, |
const struct Mesh * | mesh | ||
) |
Return true if GPU subdivision evaluation is disabled by force due to incompatible mesh or modifier settings. This will only return true if GPU subdivision is enabled in the preferences and supported by the GPU. It is mainly useful for showing UI messages.
Referenced by panel_draw().
Referenced by DRW_mesh_batch_cache_create_requested().
bool BKE_subsurf_modifier_runtime_init | ( | struct SubsurfModifierData * | smd, |
bool | use_render_params | ||
) |
Definition at line 22 of file subdiv_modifier.c.
References BKE_subdiv_fvar_interpolation_from_uv_smooth(), BKE_subdiv_vtx_boundary_interpolation_from_subsurf(), SubsurfModifierData::boundary_smooth, eSubsurfModifierFlag_UseCrease, eSubsurfModifierFlag_UseRecursiveSubdivision, SubsurfModifierData::flags, if(), SubdivSettings::is_simple, SubsurfModifierData::levels, MEM_callocN, SubsurfModifierData::modifier, NULL, SubsurfModifierData::quality, SubsurfModifierData::renderLevels, ModifierData::runtime, SubsurfRuntimeData::settings, SubsurfModifierData::subdivType, SUBSURF_TYPE_SIMPLE, and SubsurfModifierData::uv_smooth.
Referenced by deformMatrices(), and modifyMesh().
struct Subdiv* BKE_subsurf_modifier_subdiv_descriptor_ensure | ( | struct SubsurfRuntimeData * | runtime_data, |
const struct Mesh * | mesh, | ||
bool | for_draw_code | ||
) |
Main goal of this function is to give usable subdivision surface descriptor which matches settings and topology.
Referenced by deformMatrices(), draw_subdiv_create_requested_buffers(), mesh_wrapper_ensure_subdivision(), and modifyMesh().
bool BKE_subsurf_modifier_use_custom_loop_normals | ( | const struct SubsurfModifierData * | smd, |
const struct Mesh * | mesh | ||
) |
Referenced by modifyMesh().
|
extern |
Definition at line 150 of file subdiv_modifier.c.
Referenced by BKE_subdiv_free(), and DRW_engines_register().