60 if (sculpt_overlays) {
bool BKE_sculptsession_use_pbvh_draw(const struct Object *ob, const struct RegionView3D *rv3d)
A BVH for high poly meshes.
bool pbvh_has_mask(const PBVH *pbvh)
bool pbvh_has_face_sets(PBVH *pbvh)
#define DRW_PASS_CREATE(pass, state)
#define DRW_shgroup_call(shgroup, geom, ob)
void GPU_framebuffer_bind(GPUFrameBuffer *fb)
struct GPUShader GPUShader
struct GPUBatch * DRW_mesh_batch_cache_get_sculpt_overlays(struct Mesh *me)
DefaultFramebufferList * DRW_viewport_framebuffer_list_get(void)
bool DRW_state_is_fbo(void)
const DRWContextState * DRW_context_state_get(void)
void DRW_shgroup_uniform_float_copy(DRWShadingGroup *shgroup, const char *name, const float value)
void DRW_shgroup_call_sculpt(DRWShadingGroup *shgroup, Object *ob, bool use_wire, bool use_mask)
DRWShadingGroup * DRW_shgroup_create(struct GPUShader *shader, DRWPass *pass)
void DRW_draw_pass(DRWPass *pass)
ccl_gpu_kernel_postfix ccl_global float int int int int sh
GPUShader * OVERLAY_shader_sculpt_mask(void)
void OVERLAY_sculpt_cache_populate(OVERLAY_Data *vedata, Object *ob)
void OVERLAY_sculpt_draw(OVERLAY_Data *vedata)
void OVERLAY_sculpt_cache_init(OVERLAY_Data *vedata)
struct RegionView3D * rv3d
struct GPUFrameBuffer * in_front_fb
struct GPUFrameBuffer * default_fb
OVERLAY_StorageList * stl
struct OVERLAY_PrivateData::@257 painting
DRWShadingGroup * sculpt_mask_grp
struct OVERLAY_PrivateData * pd
struct SculptSession * sculpt
float sculpt_mode_mask_opacity
float sculpt_mode_face_sets_opacity