Blender V4.3
draw_cache.hh File Reference

Go to the source code of this file.

Classes

struct  DRWVolumeGrid
 

Namespaces

namespace  blender
 
namespace  blender::gpu
 
namespace  blender::draw
 

Enumerations

enum  eDRWLevelOfDetail { DRW_LOD_LOW = 0 , DRW_LOD_MEDIUM = 1 , DRW_LOD_HIGH = 2 , DRW_LOD_MAX }
 

Functions

void DRW_shape_cache_free ()
 
blender::gpu::Batch * DRW_cache_cursor_get (bool crosshair_lines)
 
blender::gpu::Batch * DRW_cache_groundline_get ()
 
blender::gpu::Batch * DRW_cache_grid_get ()
 
blender::gpu::Batch * DRW_cache_fullscreen_quad_get ()
 
blender::gpu::Batch * DRW_cache_quad_get ()
 
blender::gpu::Batch * DRW_cache_quad_wires_get ()
 
blender::gpu::Batch * DRW_cache_cube_get ()
 
blender::gpu::Batch * DRW_cache_normal_arrow_get ()
 
blender::gpu::Batch * DRW_cache_sphere_get (eDRWLevelOfDetail level_of_detail)
 
blender::gpu::Batch * DRW_gpencil_dummy_buffer_get ()
 
blender::gpu::Batch * DRW_cache_object_all_edges_get (Object *ob)
 
blender::gpu::Batch * DRW_cache_object_edge_detection_get (Object *ob, bool *r_is_manifold)
 
blender::gpu::Batch * DRW_cache_object_surface_get (Object *ob)
 
blender::gpu::Batch * DRW_cache_object_loose_edges_get (Object *ob)
 
blender::gpu::Batch ** DRW_cache_object_surface_material_get (Object *ob, GPUMaterial **gpumat_array, uint gpumat_array_len)
 
blender::gpu::Batch * DRW_cache_object_face_wireframe_get (const Scene *scene, Object *ob)
 
int DRW_cache_object_material_count_get (const Object *ob)
 
blender::gpu::VertBufDRW_cache_object_pos_vertbuf_get (Object *ob)
 
blender::gpu::Batch * DRW_cache_plain_axes_get ()
 
blender::gpu::Batch * DRW_cache_single_arrow_get ()
 
blender::gpu::Batch * DRW_cache_empty_cube_get ()
 
blender::gpu::Batch * DRW_cache_circle_get ()
 
blender::gpu::Batch * DRW_cache_empty_sphere_get ()
 
blender::gpu::Batch * DRW_cache_empty_cylinder_get ()
 
blender::gpu::Batch * DRW_cache_empty_cone_get ()
 
blender::gpu::Batch * DRW_cache_empty_capsule_cap_get ()
 
blender::gpu::Batch * DRW_cache_empty_capsule_body_get ()
 
blender::gpu::Batch * DRW_cache_field_wind_get ()
 
blender::gpu::Batch * DRW_cache_field_force_get ()
 
blender::gpu::Batch * DRW_cache_field_vortex_get ()
 
blender::gpu::Batch * DRW_cache_field_curve_get ()
 
blender::gpu::Batch * DRW_cache_field_tube_limit_get ()
 
blender::gpu::Batch * DRW_cache_field_cone_limit_get ()
 
blender::gpu::Batch * DRW_cache_field_sphere_limit_get ()
 
blender::gpu::Batch * DRW_cache_light_icon_inner_lines_get ()
 
blender::gpu::Batch * DRW_cache_light_icon_outer_lines_get ()
 
blender::gpu::Batch * DRW_cache_light_icon_sun_rays_get ()
 
blender::gpu::Batch * DRW_cache_light_point_lines_get ()
 
blender::gpu::Batch * DRW_cache_light_sun_lines_get ()
 
blender::gpu::Batch * DRW_cache_light_spot_lines_get ()
 
blender::gpu::Batch * DRW_cache_light_area_disk_lines_get ()
 
blender::gpu::Batch * DRW_cache_light_area_square_lines_get ()
 
blender::gpu::Batch * DRW_cache_light_spot_volume_get ()
 
blender::gpu::Batch * DRW_cache_camera_frame_get ()
 
blender::gpu::Batch * DRW_cache_camera_volume_get ()
 
blender::gpu::Batch * DRW_cache_camera_volume_wire_get ()
 
blender::gpu::Batch * DRW_cache_camera_tria_wire_get ()
 
blender::gpu::Batch * DRW_cache_camera_tria_get ()
 
blender::gpu::Batch * DRW_cache_camera_distances_get ()
 
blender::gpu::Batch * DRW_cache_speaker_get ()
 
blender::gpu::Batch * DRW_cache_lightprobe_cube_get ()
 
blender::gpu::Batch * DRW_cache_lightprobe_grid_get ()
 
blender::gpu::Batch * DRW_cache_lightprobe_planar_get ()
 
blender::gpu::Batch * DRW_cache_bone_octahedral_get ()
 
blender::gpu::Batch * DRW_cache_bone_octahedral_wire_get ()
 
blender::gpu::Batch * DRW_cache_bone_box_get ()
 
blender::gpu::Batch * DRW_cache_bone_box_wire_get ()
 
blender::gpu::Batch * DRW_cache_bone_envelope_solid_get ()
 
blender::gpu::Batch * DRW_cache_bone_envelope_outline_get ()
 
blender::gpu::Batch * DRW_cache_bone_point_get ()
 
blender::gpu::Batch * DRW_cache_bone_point_wire_outline_get ()
 
blender::gpu::Batch * DRW_cache_bone_stick_get ()
 
blender::gpu::Batch * DRW_cache_bone_arrows_get ()
 
blender::gpu::Batch * DRW_cache_bone_dof_sphere_get ()
 
blender::gpu::Batch * DRW_cache_bone_dof_lines_get ()
 
blender::gpu::Batch * DRW_cache_mesh_all_verts_get (Object *ob)
 
blender::gpu::Batch * DRW_cache_mesh_all_edges_get (Object *ob)
 
blender::gpu::Batch * DRW_cache_mesh_loose_edges_get (Object *ob)
 
blender::gpu::Batch * DRW_cache_mesh_edge_detection_get (Object *ob, bool *r_is_manifold)
 
blender::gpu::Batch * DRW_cache_mesh_surface_get (Object *ob)
 
blender::gpu::Batch * DRW_cache_mesh_surface_edges_get (Object *ob)
 
blender::gpu::Batch ** DRW_cache_mesh_surface_shaded_get (Object *ob, GPUMaterial **gpumat_array, uint gpumat_array_len)
 
blender::gpu::Batch ** DRW_cache_mesh_surface_texpaint_get (Object *ob)
 
blender::gpu::Batch * DRW_cache_mesh_surface_texpaint_single_get (Object *ob)
 
blender::gpu::Batch * DRW_cache_mesh_surface_vertpaint_get (Object *ob)
 
blender::gpu::Batch * DRW_cache_mesh_surface_sculptcolors_get (Object *ob)
 
blender::gpu::Batch * DRW_cache_mesh_surface_weights_get (Object *ob)
 
blender::gpu::Batch * DRW_cache_mesh_surface_mesh_analysis_get (Object *ob)
 
blender::gpu::Batch * DRW_cache_mesh_face_wireframe_get (Object *ob)
 
blender::gpu::Batch * DRW_cache_mesh_surface_viewer_attribute_get (Object *ob)
 
blender::gpu::Batch * DRW_cache_curve_edge_wire_get (Object *ob)
 
blender::gpu::Batch * DRW_cache_curve_edge_wire_viewer_attribute_get (Object *ob)
 
blender::gpu::Batch * DRW_cache_curve_edge_normal_get (Object *ob)
 
blender::gpu::Batch * DRW_cache_curve_edge_overlay_get (Object *ob)
 
blender::gpu::Batch * DRW_cache_curve_vert_overlay_get (Object *ob)
 
blender::gpu::Batch * DRW_cache_text_edge_wire_get (Object *ob)
 
blender::gpu::Batch * DRW_cache_surf_edge_wire_get (Object *ob)
 
blender::gpu::Batch * DRW_cache_lattice_verts_get (Object *ob)
 
blender::gpu::Batch * DRW_cache_lattice_wire_get (Object *ob, bool use_weight)
 
blender::gpu::Batch * DRW_cache_lattice_vert_overlay_get (Object *ob)
 
blender::gpu::Batch * DRW_cache_particles_get_hair (Object *object, ParticleSystem *psys, ModifierData *md)
 
blender::gpu::Batch * DRW_cache_particles_get_dots (Object *object, ParticleSystem *psys)
 
blender::gpu::Batch * DRW_cache_particles_get_edit_strands (Object *object, ParticleSystem *psys, PTCacheEdit *edit, bool use_weight)
 
blender::gpu::Batch * DRW_cache_particles_get_edit_inner_points (Object *object, ParticleSystem *psys, PTCacheEdit *edit)
 
blender::gpu::Batch * DRW_cache_particles_get_edit_tip_points (Object *object, ParticleSystem *psys, PTCacheEdit *edit)
 
blender::gpu::Batch * DRW_cache_particles_get_prim (int type)
 
blender::gpu::Batch * DRW_cache_curves_surface_get (Object *ob)
 
blender::gpu::Batch ** DRW_cache_curves_surface_shaded_get (Object *ob, GPUMaterial **gpumat_array, uint gpumat_array_len)
 
blender::gpu::Batch * DRW_cache_curves_face_wireframe_get (Object *ob)
 
blender::gpu::Batch * DRW_cache_curves_edge_detection_get (Object *ob, bool *r_is_manifold)
 
DRWVolumeGridblender::draw::DRW_volume_batch_cache_get_grid (Volume *volume, const bke::VolumeGridData *volume_grid)
 
blender::gpu::Batch * blender::draw::DRW_cache_volume_face_wireframe_get (Object *ob)
 
blender::gpu::Batch * blender::draw::DRW_cache_volume_selection_surface_get (Object *ob)
 
blender::gpu::Batch * blender::draw::DRW_cache_grease_pencil_get (const Scene *scene, Object *ob)
 
blender::gpu::Batch * blender::draw::DRW_cache_grease_pencil_edit_points_get (const Scene *scene, Object *ob)
 
blender::gpu::Batch * blender::draw::DRW_cache_grease_pencil_edit_lines_get (const Scene *scene, Object *ob)
 
gpu::VertBufblender::draw::DRW_cache_grease_pencil_position_buffer_get (const Scene *scene, Object *ob)
 
gpu::VertBufblender::draw::DRW_cache_grease_pencil_color_buffer_get (const Scene *scene, Object *ob)
 
blender::gpu::Batch * blender::draw::DRW_cache_grease_pencil_weight_points_get (const Scene *scene, Object *ob)
 
blender::gpu::Batch * blender::draw::DRW_cache_grease_pencil_weight_lines_get (const Scene *scene, Object *ob)
 
blender::gpu::Batch * blender::draw::DRW_cache_grease_pencil_face_wireframe_get (const Scene *scene, Object *ob)
 
Sbuffer stroke batches.
void blender::draw::DRW_cache_gpencil_sbuffer_clear (Object *ob)
 

Enumeration Type Documentation

◆ eDRWLevelOfDetail

Shape resolution level of detail.

Enumerator
DRW_LOD_LOW 
DRW_LOD_MEDIUM 
DRW_LOD_HIGH 
DRW_LOD_MAX 

Definition at line 32 of file draw_cache.hh.

Function Documentation

◆ DRW_cache_bone_arrows_get()

◆ DRW_cache_bone_box_get()

◆ DRW_cache_bone_box_wire_get()

◆ DRW_cache_bone_dof_lines_get()

◆ DRW_cache_bone_dof_sphere_get()

◆ DRW_cache_bone_envelope_outline_get()

◆ DRW_cache_bone_envelope_solid_get()

◆ DRW_cache_bone_octahedral_get()

◆ DRW_cache_bone_octahedral_wire_get()

◆ DRW_cache_bone_point_get()

◆ DRW_cache_bone_point_wire_outline_get()

◆ DRW_cache_bone_stick_get()

◆ DRW_cache_camera_distances_get()

◆ DRW_cache_camera_frame_get()

◆ DRW_cache_camera_tria_get()

◆ DRW_cache_camera_tria_wire_get()

◆ DRW_cache_camera_volume_get()

◆ DRW_cache_camera_volume_wire_get()

◆ DRW_cache_circle_get()

◆ DRW_cache_cube_get()

◆ DRW_cache_cursor_get()

◆ DRW_cache_curve_edge_normal_get()

blender::gpu::Batch * DRW_cache_curve_edge_normal_get ( Object * ob)

◆ DRW_cache_curve_edge_overlay_get()

blender::gpu::Batch * DRW_cache_curve_edge_overlay_get ( Object * ob)

◆ DRW_cache_curve_edge_wire_get()

◆ DRW_cache_curve_edge_wire_viewer_attribute_get()

blender::gpu::Batch * DRW_cache_curve_edge_wire_viewer_attribute_get ( Object * ob)

Definition at line 2971 of file draw_cache.cc.

References BLI_assert, Object::data, OB_CURVES_LEGACY, and Object::type.

Referenced by populate_cache_for_geometry().

◆ DRW_cache_curve_vert_overlay_get()

blender::gpu::Batch * DRW_cache_curve_vert_overlay_get ( Object * ob)

◆ DRW_cache_curves_edge_detection_get()

blender::gpu::Batch * DRW_cache_curves_edge_detection_get ( Object * ob,
bool * r_is_manifold )

◆ DRW_cache_curves_face_wireframe_get()

blender::gpu::Batch * DRW_cache_curves_face_wireframe_get ( Object * ob)

◆ DRW_cache_curves_surface_get()

blender::gpu::Batch * DRW_cache_curves_surface_get ( Object * ob)

◆ DRW_cache_curves_surface_shaded_get()

blender::gpu::Batch ** DRW_cache_curves_surface_shaded_get ( Object * ob,
GPUMaterial ** gpumat_array,
uint gpumat_array_len )

◆ DRW_cache_empty_capsule_body_get()

◆ DRW_cache_empty_capsule_cap_get()

◆ DRW_cache_empty_cone_get()

◆ DRW_cache_empty_cube_get()

◆ DRW_cache_empty_cylinder_get()

◆ DRW_cache_empty_sphere_get()

blender::gpu::Batch * DRW_cache_empty_sphere_get ( )

◆ DRW_cache_field_cone_limit_get()

◆ DRW_cache_field_curve_get()

◆ DRW_cache_field_force_get()

◆ DRW_cache_field_sphere_limit_get()

◆ DRW_cache_field_tube_limit_get()

◆ DRW_cache_field_vortex_get()

◆ DRW_cache_field_wind_get()

◆ DRW_cache_fullscreen_quad_get()

blender::gpu::Batch * DRW_cache_fullscreen_quad_get ( )

◆ DRW_cache_grid_get()

◆ DRW_cache_groundline_get()

◆ DRW_cache_lattice_vert_overlay_get()

blender::gpu::Batch * DRW_cache_lattice_vert_overlay_get ( Object * ob)

◆ DRW_cache_lattice_verts_get()

blender::gpu::Batch * DRW_cache_lattice_verts_get ( Object * ob)

Definition at line 3039 of file draw_cache.cc.

References BLI_assert, Object::data, OB_LATTICE, and Object::type.

◆ DRW_cache_lattice_wire_get()

◆ DRW_cache_light_area_disk_lines_get()

◆ DRW_cache_light_area_square_lines_get()

◆ DRW_cache_light_icon_inner_lines_get()

◆ DRW_cache_light_icon_outer_lines_get()

◆ DRW_cache_light_icon_sun_rays_get()

◆ DRW_cache_light_point_lines_get()

◆ DRW_cache_light_spot_lines_get()

◆ DRW_cache_light_spot_volume_get()

◆ DRW_cache_light_sun_lines_get()

◆ DRW_cache_lightprobe_cube_get()

◆ DRW_cache_lightprobe_grid_get()

◆ DRW_cache_lightprobe_planar_get()

◆ DRW_cache_mesh_all_edges_get()

blender::gpu::Batch * DRW_cache_mesh_all_edges_get ( Object * ob)

Definition at line 2856 of file draw_cache.cc.

References BLI_assert, Object::data, OB_MESH, and Object::type.

Referenced by DRW_cache_object_all_edges_get().

◆ DRW_cache_mesh_all_verts_get()

◆ DRW_cache_mesh_edge_detection_get()

blender::gpu::Batch * DRW_cache_mesh_edge_detection_get ( Object * ob,
bool * r_is_manifold )

◆ DRW_cache_mesh_face_wireframe_get()

blender::gpu::Batch * DRW_cache_mesh_face_wireframe_get ( Object * ob)

◆ DRW_cache_mesh_loose_edges_get()

blender::gpu::Batch * DRW_cache_mesh_loose_edges_get ( Object * ob)

◆ DRW_cache_mesh_surface_edges_get()

blender::gpu::Batch * DRW_cache_mesh_surface_edges_get ( Object * ob)

◆ DRW_cache_mesh_surface_get()

◆ DRW_cache_mesh_surface_mesh_analysis_get()

blender::gpu::Batch * DRW_cache_mesh_surface_mesh_analysis_get ( Object * ob)

◆ DRW_cache_mesh_surface_sculptcolors_get()

blender::gpu::Batch * DRW_cache_mesh_surface_sculptcolors_get ( Object * ob)

Definition at line 2922 of file draw_cache.cc.

References BLI_assert, Object::data, OB_MESH, and Object::type.

Referenced by blender::workbench::Instance::mesh_sync().

◆ DRW_cache_mesh_surface_shaded_get()

blender::gpu::Batch ** DRW_cache_mesh_surface_shaded_get ( Object * ob,
GPUMaterial ** gpumat_array,
uint gpumat_array_len )

Return list of batches with length equal to max(1, totcol).

Definition at line 2891 of file draw_cache.cc.

References BLI_assert, Object::data, OB_MESH, and Object::type.

Referenced by DRW_cache_object_surface_material_get(), and blender::draw::overlay::Prepass::object_sync().

◆ DRW_cache_mesh_surface_texpaint_get()

blender::gpu::Batch ** DRW_cache_mesh_surface_texpaint_get ( Object * ob)

Return list of batches with length equal to max(1, totcol).

Definition at line 2901 of file draw_cache.cc.

References BLI_assert, Object::data, OB_MESH, and Object::type.

Referenced by blender::workbench::Instance::mesh_sync().

◆ DRW_cache_mesh_surface_texpaint_single_get()

blender::gpu::Batch * DRW_cache_mesh_surface_texpaint_single_get ( Object * ob)

◆ DRW_cache_mesh_surface_vertpaint_get()

blender::gpu::Batch * DRW_cache_mesh_surface_vertpaint_get ( Object * ob)

Definition at line 2915 of file draw_cache.cc.

References BLI_assert, Object::data, OB_MESH, and Object::type.

Referenced by blender::workbench::Instance::mesh_sync().

◆ DRW_cache_mesh_surface_viewer_attribute_get()

blender::gpu::Batch * DRW_cache_mesh_surface_viewer_attribute_get ( Object * ob)

Definition at line 2950 of file draw_cache.cc.

References BLI_assert, Object::data, OB_MESH, and Object::type.

Referenced by populate_cache_for_geometry().

◆ DRW_cache_mesh_surface_weights_get()

blender::gpu::Batch * DRW_cache_mesh_surface_weights_get ( Object * ob)

◆ DRW_cache_normal_arrow_get()

◆ DRW_cache_object_all_edges_get()

blender::gpu::Batch * DRW_cache_object_all_edges_get ( Object * ob)

Definition at line 863 of file draw_cache.cc.

References DRW_cache_mesh_all_edges_get(), OB_MESH, and Object::type.

Referenced by basic_cache_populate().

◆ DRW_cache_object_edge_detection_get()

blender::gpu::Batch * DRW_cache_object_edge_detection_get ( Object * ob,
bool * r_is_manifold )

◆ DRW_cache_object_face_wireframe_get()

blender::gpu::Batch * DRW_cache_object_face_wireframe_get ( const Scene * scene,
Object * ob )

◆ DRW_cache_object_loose_edges_get()

blender::gpu::Batch * DRW_cache_object_loose_edges_get ( Object * ob)

Definition at line 901 of file draw_cache.cc.

References DRW_cache_mesh_loose_edges_get(), OB_MESH, and Object::type.

◆ DRW_cache_object_material_count_get()

◆ DRW_cache_object_pos_vertbuf_get()

blender::gpu::VertBuf * DRW_cache_object_pos_vertbuf_get ( Object * ob)

Returns the vertbuf used by shaded surface batch.

Definition at line 921 of file draw_cache.cc.

References BKE_object_get_evaluated_mesh_no_subsurf_unchecked(), Object::data, OB_MESH, and Object::type.

Referenced by blender::eevee::VelocityModule::step_object_sync().

◆ DRW_cache_object_surface_get()

◆ DRW_cache_object_surface_material_get()

blender::gpu::Batch ** DRW_cache_object_surface_material_get ( Object * ob,
GPUMaterial ** gpumat_array,
uint gpumat_array_len )

◆ DRW_cache_particles_get_dots()

blender::gpu::Batch * DRW_cache_particles_get_dots ( Object * object,
ParticleSystem * psys )

◆ DRW_cache_particles_get_edit_inner_points()

blender::gpu::Batch * DRW_cache_particles_get_edit_inner_points ( Object * object,
ParticleSystem * psys,
PTCacheEdit * edit )

◆ DRW_cache_particles_get_edit_strands()

blender::gpu::Batch * DRW_cache_particles_get_edit_strands ( Object * object,
ParticleSystem * psys,
PTCacheEdit * edit,
bool use_weight )

◆ DRW_cache_particles_get_edit_tip_points()

blender::gpu::Batch * DRW_cache_particles_get_edit_tip_points ( Object * object,
ParticleSystem * psys,
PTCacheEdit * edit )

◆ DRW_cache_particles_get_hair()

◆ DRW_cache_particles_get_prim()

◆ DRW_cache_plain_axes_get()

◆ DRW_cache_quad_get()

◆ DRW_cache_quad_wires_get()

◆ DRW_cache_single_arrow_get()

◆ DRW_cache_speaker_get()

◆ DRW_cache_sphere_get()

◆ DRW_cache_surf_edge_wire_get()

blender::gpu::Batch * DRW_cache_surf_edge_wire_get ( Object * ob)

◆ DRW_cache_text_edge_wire_get()

◆ DRW_gpencil_dummy_buffer_get()

◆ DRW_shape_cache_free()