Blender V4.3
draw_cache_impl.hh File Reference
#include "BKE_mesh.h"

Go to the source code of this file.

Namespaces

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

Functions

Expose via BKE callbacks
void blender::draw::DRW_curve_batch_cache_dirty_tag (Curve *cu, int mode)
 
void blender::draw::DRW_curve_batch_cache_validate (Curve *cu)
 
void blender::draw::DRW_curve_batch_cache_free (Curve *cu)
 
void blender::draw::DRW_mesh_batch_cache_dirty_tag (Mesh *mesh, eMeshBatchDirtyMode mode)
 
void blender::draw::DRW_mesh_batch_cache_validate (Object &object, Mesh &mesh)
 
void blender::draw::DRW_mesh_batch_cache_free (void *batch_cache)
 
void blender::draw::DRW_lattice_batch_cache_dirty_tag (Lattice *lt, int mode)
 
void blender::draw::DRW_lattice_batch_cache_validate (Lattice *lt)
 
void blender::draw::DRW_lattice_batch_cache_free (Lattice *lt)
 
void blender::draw::DRW_particle_batch_cache_dirty_tag (ParticleSystem *psys, int mode)
 
void blender::draw::DRW_particle_batch_cache_free (ParticleSystem *psys)
 
void blender::draw::DRW_gpencil_batch_cache_dirty_tag (bGPdata *gpd)
 
void blender::draw::DRW_gpencil_batch_cache_free (bGPdata *gpd)
 
void blender::draw::DRW_curves_batch_cache_dirty_tag (Curves *curves, int mode)
 
void blender::draw::DRW_curves_batch_cache_validate (Curves *curves)
 
void blender::draw::DRW_curves_batch_cache_free (Curves *curves)
 
void blender::draw::DRW_pointcloud_batch_cache_dirty_tag (PointCloud *pointcloud, int mode)
 
void blender::draw::DRW_pointcloud_batch_cache_validate (PointCloud *pointcloud)
 
void blender::draw::DRW_pointcloud_batch_cache_free (PointCloud *pointcloud)
 
void blender::draw::DRW_volume_batch_cache_dirty_tag (Volume *volume, int mode)
 
void blender::draw::DRW_volume_batch_cache_validate (Volume *volume)
 
void blender::draw::DRW_volume_batch_cache_free (Volume *volume)
 
void blender::draw::DRW_grease_pencil_batch_cache_dirty_tag (GreasePencil *grase_pencil, int mode)
 
void blender::draw::DRW_grease_pencil_batch_cache_validate (GreasePencil *grase_pencil)
 
void blender::draw::DRW_grease_pencil_batch_cache_free (GreasePencil *grase_pencil)
 
Garbage Collection
void blender::draw::DRW_batch_cache_free_old (Object *ob, int ctime)
 
void blender::draw::DRW_mesh_batch_cache_free_old (Mesh *mesh, int ctime)
 
void blender::draw::DRW_curves_batch_cache_free_old (Curves *curves, int ctime)
 
void blender::draw::DRW_pointcloud_batch_cache_free_old (PointCloud *pointcloud, int ctime)
 
Generic
void blender::draw::DRW_vertbuf_create_wiredata (blender::gpu::VertBuf *vbo, const int vert_len)
 
Curve
void blender::draw::DRW_curve_batch_cache_create_requested (Object *ob, const Scene *scene)
 
int blender::draw::DRW_curve_material_count_get (const Curve *cu)
 
blender::gpu::Batch * blender::draw::DRW_curve_batch_cache_get_wire_edge (Curve *cu)
 
blender::gpu::Batch * blender::draw::DRW_curve_batch_cache_get_wire_edge_viewer_attribute (Curve *cu)
 
blender::gpu::Batch * blender::draw::DRW_curve_batch_cache_get_normal_edge (Curve *cu)
 
blender::gpu::Batch * blender::draw::DRW_curve_batch_cache_get_edit_edges (Curve *cu)
 
blender::gpu::Batch * blender::draw::DRW_curve_batch_cache_get_edit_verts (Curve *cu)
 
Lattice
blender::gpu::Batch * blender::draw::DRW_lattice_batch_cache_get_all_edges (Lattice *lt, bool use_weight, int actdef)
 
blender::gpu::Batch * blender::draw::DRW_lattice_batch_cache_get_all_verts (Lattice *lt)
 
blender::gpu::Batch * blender::draw::DRW_lattice_batch_cache_get_edit_verts (Lattice *lt)
 
Curves
int blender::draw::DRW_curves_material_count_get (const Curves *curves)
 
gpu::VertBuf ** blender::draw::DRW_curves_texture_for_evaluated_attribute (Curves *curves, const char *name, bool *r_is_point_domain)
 
blender::gpu::Batch * blender::draw::DRW_curves_batch_cache_get_edit_points (Curves *curves)
 
blender::gpu::Batch * blender::draw::DRW_curves_batch_cache_get_sculpt_curves_cage (Curves *curves)
 
blender::gpu::Batch * blender::draw::DRW_curves_batch_cache_get_edit_curves_handles (Curves *curves)
 
blender::gpu::Batch * blender::draw::DRW_curves_batch_cache_get_edit_curves_lines (Curves *curves)
 
void blender::draw::DRW_curves_batch_cache_create_requested (Object *ob)
 
PointCloud
int blender::draw::DRW_pointcloud_material_count_get (const PointCloud *pointcloud)
 
gpu::VertBufblender::draw::DRW_pointcloud_position_and_radius_buffer_get (Object *ob)
 
gpu::VertBuf ** blender::draw::DRW_pointcloud_evaluated_attribute (PointCloud *pointcloud, const char *name)
 
blender::gpu::Batch * blender::draw::DRW_pointcloud_batch_cache_get_dots (Object *ob)
 
void blender::draw::DRW_pointcloud_batch_cache_create_requested (Object *ob)
 
Volume
int blender::draw::DRW_volume_material_count_get (const Volume *volume)
 
blender::gpu::Batch * blender::draw::DRW_volume_batch_cache_get_wireframes_face (Volume *volume)
 
blender::gpu::Batch * blender::draw::DRW_volume_batch_cache_get_selection_surface (Volume *volume)
 
Mesh
void blender::draw::DRW_mesh_batch_cache_create_requested (TaskGraph &task_graph, Object &ob, Mesh &mesh, const Scene &scene, bool is_paint_mode, bool use_hide)
 
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_all_verts (Mesh &mesh)
 
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_all_edges (Mesh &mesh)
 
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_loose_edges (Mesh &mesh)
 
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edge_detection (Mesh &mesh, bool *r_is_manifold)
 
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_surface (Mesh &mesh)
 
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_surface_edges (Object &object, Mesh &mesh)
 
blender::gpu::Batch ** blender::draw::DRW_mesh_batch_cache_get_surface_shaded (Object &object, Mesh &mesh, GPUMaterial **gpumat_array, uint gpumat_array_len)
 
blender::gpu::Batch ** blender::draw::DRW_mesh_batch_cache_get_surface_texpaint (Object &object, Mesh &mesh)
 
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_surface_texpaint_single (Object &object, Mesh &mesh)
 
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_surface_vertpaint (Object &object, Mesh &mesh)
 
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_surface_sculpt (Object &object, Mesh &mesh)
 
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_surface_weights (Mesh &mesh)
 
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_sculpt_overlays (Mesh &mesh)
 
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_surface_viewer_attribute (Mesh &mesh)
 
Edit-Mesh Drawing
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edit_triangles (Mesh &mesh)
 
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edit_vertices (Mesh &mesh)
 
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edit_edges (Mesh &mesh)
 
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edit_vert_normals (Mesh &mesh)
 
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edit_loop_normals (Mesh &mesh)
 
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edit_facedots (Mesh &mesh)
 
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edit_skin_roots (Mesh &mesh)
 
Edit-mesh Selection
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_triangles_with_select_id (Mesh &mesh)
 
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_facedots_with_select_id (Mesh &mesh)
 
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edges_with_select_id (Mesh &mesh)
 
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_verts_with_select_id (Mesh &mesh)
 
Object Mode Wireframe Overlays
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_wireframes_face (Mesh &mesh)
 
Edit-mesh UV Editor
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edituv_faces_stretch_area (Object &object, Mesh &mesh, float **tot_area, float **tot_uv_area)
 
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edituv_faces_stretch_angle (Object &object, Mesh &mesh)
 
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edituv_faces (Object &object, Mesh &mesh)
 
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edituv_edges (Object &object, Mesh &mesh)
 
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edituv_verts (Object &object, Mesh &mesh)
 
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edituv_facedots (Object &object, Mesh &mesh)
 
For Image UV Editor
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_uv_edges (Object &object, Mesh &mesh)
 
blender::gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edit_mesh_analysis (Mesh &mesh)
 
Particles
blender::gpu::Batch * blender::draw::DRW_particles_batch_cache_get_hair (Object *object, ParticleSystem *psys, ModifierData *md)
 
blender::gpu::Batch * blender::draw::DRW_particles_batch_cache_get_dots (Object *object, ParticleSystem *psys)
 
blender::gpu::Batch * blender::draw::DRW_particles_batch_cache_get_edit_strands (Object *object, ParticleSystem *psys, PTCacheEdit *edit, bool use_weight)
 
blender::gpu::Batch * blender::draw::DRW_particles_batch_cache_get_edit_inner_points (Object *object, ParticleSystem *psys, PTCacheEdit *edit)
 
blender::gpu::Batch * blender::draw::DRW_particles_batch_cache_get_edit_tip_points (Object *object, ParticleSystem *psys, PTCacheEdit *edit)
 

For Direct Data Access

enum  {
  blender::draw::VFLAG_VERT_ACTIVE = 1 << 0 , blender::draw::VFLAG_VERT_SELECTED = 1 << 1 , blender::draw::VFLAG_VERT_SELECTED_BEZT_HANDLE = 1 << 2 , blender::draw::VFLAG_EDGE_ACTIVE = 1 << 3 ,
  blender::draw::VFLAG_EDGE_SELECTED = 1 << 4 , blender::draw::VFLAG_EDGE_SEAM = 1 << 5 , blender::draw::VFLAG_EDGE_SHARP = 1 << 6 , blender::draw::VFLAG_EDGE_FREESTYLE = 1 << 7 ,
  blender::draw::VFLAG_VERT_GPENCIL_BEZT_HANDLE = 1 << 30
}
 
enum  {
  blender::draw::VFLAG_FACE_ACTIVE = 1 << 0 , blender::draw::VFLAG_FACE_SELECTED = 1 << 1 , blender::draw::VFLAG_FACE_FREESTYLE = 1 << 2 , blender::draw::VFLAG_VERT_UV_SELECT = 1 << 3 ,
  blender::draw::VFLAG_VERT_UV_PINNED = 1 << 4 , blender::draw::VFLAG_EDGE_UV_SELECT = 1 << 5 , blender::draw::VFLAG_FACE_UV_ACTIVE = 1 << 6 , blender::draw::VFLAG_FACE_UV_SELECT = 1 << 7
}
 
gpu::VertBufblender::draw::DRW_mesh_batch_cache_pos_vertbuf_get (Mesh &mesh)
 
int blender::draw::DRW_mesh_material_count_get (const Object &object, const Mesh &mesh)