25 const bool use_render_params)
47 if (settings.
level == 0) {
60 if (runtime_data ==
nullptr) {
73 const std::optional<AttributeMetaData> meta_data =
mesh->attributes().lookup_meta_data(
127 const bool for_draw_code)
142 if (is_final_render) {
#define MAX_GPU_SUBDIV_SSBOS
void(* BKE_subsurf_modifier_free_gpu_cache_cb)(blender::bke::subdiv::Subdiv *subdiv)
@ eSubsurfModifierFlag_UseRecursiveSubdivision
@ eSubsurfModifierFlag_UseCrease
@ eSubsurfModifierFlag_UseCustomNormals
Object is a sort of wrapper for general info.
@ USER_GPU_FLAG_SUBDIVISION_EVALUATION
int GPU_max_compute_shader_storage_blocks()
GPUBackendType GPU_backend_get_type()
Read Guarded memory(de)allocation.
void * MEM_callocN(size_t len, const char *str)
FVarLinearInterpolation fvar_interpolation_from_uv_smooth(int uv_smooth)
VtxBoundaryInterpolation vtx_boundary_interpolation_from_subsurf(int boundary_smooth)
Subdiv * update_from_mesh(Subdiv *subdiv, const Settings *settings, const Mesh *mesh)
blender::bke::subdiv::Settings settings
blender::bke::subdiv::Subdiv * subdiv_cpu
blender::bke::subdiv::Subdiv * subdiv_gpu
VtxBoundaryInterpolation vtx_boundary_interpolation
FVarLinearInterpolation fvar_linear_interpolation
bool BKE_subsurf_modifier_can_do_gpu_subdiv(const SubsurfModifierData *smd, const Mesh *mesh)
int BKE_subsurf_modifier_eval_required_mode(bool is_final_render, bool is_edit_mode)
bool BKE_subsurf_modifier_force_disable_gpu_evaluation_for_mesh(const SubsurfModifierData *smd, const Mesh *mesh)
bool BKE_subsurf_modifier_has_split_normals(const SubsurfModifierData *smd, const Mesh *mesh)
bool BKE_subsurf_modifier_runtime_init(SubsurfModifierData *smd, const bool use_render_params)
bool BKE_subsurf_modifier_use_custom_loop_normals(const SubsurfModifierData *smd, const Mesh *mesh)
static bool is_subdivision_evaluation_possible_on_gpu()
subdiv::Settings BKE_subsurf_modifier_settings_init(const SubsurfModifierData *smd, const bool use_render_params)
subdiv::Subdiv * BKE_subsurf_modifier_subdiv_descriptor_ensure(SubsurfRuntimeData *runtime_data, const Mesh *mesh, const bool for_draw_code)