32 !res.is_selection() && !
state.is_depth_only_drawing;
53 state.clipping_plane_count);
68 const bool draw_surface = (ob_ref.object->dt >=
OB_WIRE) &&
69 (renderable || (ob_ref.object->dt ==
OB_WIRE));
70 const bool draw_facing = draw_surface && (ob_ref.object->dt >=
OB_SOLID);
75 !
state.is_image_render;
77 if (use_sculpt_pbvh) {
78 ResourceHandle handle = manager.resource_handle_for_sculpt(ob_ref);
87 ps_.
draw(geom, manager.unique_handle(ob_ref));
98 manager.generate_commands(ps_,
view);
108 manager.submit_only(ps_,
view);
bool BKE_sculptsession_use_pbvh_draw(const Object *ob, const RegionView3D *rv3d)
@ V3D_SHADING_BACKFACE_CULLING
void GPU_framebuffer_bind(GPUFrameBuffer *fb)
void draw(gpu::Batch *batch, uint instance_len=-1, uint vertex_len=-1, uint vertex_first=-1, ResourceHandleRange handle={0}, uint custom_id=0)
void state_set(DRWState state, int clip_plane_count=0)
void bind_ubo(const char *name, GPUUniformBuf *buffer)
void shader_set(GPUShader *shader)
void draw(Framebuffer &framebuffer, Manager &manager, View &view) final
void pre_draw(Manager &manager, View &view) final
void begin_sync(Resources &res, const State &state) final
void object_sync(Manager &manager, const ObjectRef &ob_ref, Resources &, const State &state) final
bool DRW_object_is_renderable(const Object *ob)
#define DRW_CLIPPING_UBO_SLOT
#define OVERLAY_GLOBALS_SLOT
@ DRW_STATE_DEPTH_LESS_EQUAL
Vector< SculptBatch > sculpt_batches_get(const Object *ob, SculptBatchFeature features)
gpu::Batch * DRW_cache_object_surface_get(Object *ob)