Blender V5.0
BKE_subdiv_modifier.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2021 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9#pragma once
10
11#include "BKE_mesh_types.hh"
12#include "BKE_subdiv.hh"
13
14#include "DNA_mesh_types.h"
15
20#define MAX_GPU_SUBDIV_SSBOS 12
21
22struct Mesh;
23struct Object;
24struct Scene;
26
27namespace blender::bke::subdiv {
28struct Subdiv;
29struct Settings;
30} // namespace blender::bke::subdiv
31
60
62 bool use_render_params);
63
64bool BKE_subsurf_modifier_runtime_init(SubsurfModifierData *smd, bool use_render_params);
65
67 const Mesh *mesh);
69
76 const Mesh *mesh);
83
85{
86 SubsurfRuntimeData *runtime_data = mesh->runtime->subsurf_runtime_data;
87 return runtime_data && runtime_data->has_gpu_subdiv;
88}
89
91
97 SubsurfRuntimeData *runtime_data, const Mesh *mesh, bool for_draw_code);
98
103int BKE_subsurf_modifier_eval_required_mode(bool is_final_render, bool is_edit_mode);
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_use_custom_loop_normals(const SubsurfModifierData *smd, const Mesh *mesh)
blender::bke::subdiv::Settings BKE_subsurf_modifier_settings_init(const SubsurfModifierData *smd, bool use_render_params)
bool BKE_subsurf_modifier_has_gpu_subdiv(const Mesh *mesh)
void(* BKE_subsurf_modifier_free_gpu_cache_cb)(blender::bke::subdiv::Subdiv *subdiv)
bool BKE_subsurf_modifier_runtime_init(SubsurfModifierData *smd, bool use_render_params)
blender::bke::subdiv::Subdiv * BKE_subsurf_modifier_subdiv_descriptor_ensure(SubsurfRuntimeData *runtime_data, const Mesh *mesh, bool for_draw_code)
MeshRuntimeHandle * runtime
blender::bke::subdiv::Settings settings
blender::bke::subdiv::Subdiv * subdiv_cpu
blender::bke::subdiv::Subdiv * subdiv_gpu