Blender  V3.3
Classes | Macros | Functions
draw_cache.c File Reference
#include "DNA_curve_types.h"
#include "DNA_curves_types.h"
#include "DNA_lattice_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meta_types.h"
#include "DNA_modifier_types.h"
#include "DNA_object_types.h"
#include "DNA_particle_types.h"
#include "DNA_pointcloud_types.h"
#include "DNA_scene_types.h"
#include "DNA_volume_types.h"
#include "UI_resources.h"
#include "BLI_math.h"
#include "BLI_utildefines.h"
#include "BKE_object.h"
#include "BKE_paint.h"
#include "GPU_batch.h"
#include "GPU_batch_utils.h"
#include "GPU_capabilities.h"
#include "MEM_guardedalloc.h"
#include "draw_cache.h"
#include "draw_cache_impl.h"
#include "draw_manager.h"

Go to the source code of this file.

Classes

struct  Vert
 
struct  VertShaded
 
struct  DRWShapeCache
 

Macros

#define NSEGMENTS   32
 
#define CIRCLE_RESOL   64
 
#define NSEGMENTS   8
 
#define NSEGMENTS   12
 
#define NSEGMENTS   24 /* Must be multiple of 2. */
 
#define CIRCLE_RESOL   32
 
#define CIRCLE_RESOL   32
 
#define SPIRAL_RESOL   32
 
#define CIRCLE_RESOL   32
 
#define CIRCLE_RESOL   32
 
#define SIDE_STIPPLE   32
 
#define CIRCLE_RESOL   32
 
#define SIDE_STIPPLE   32
 
#define CIRCLE_RESOL   32
 
#define CIRCLE_RESOL   64
 
#define CIRCLE_RESOL   64
 
#define CIRCLE_RESOL   64
 
#define CIRCLE_RESOL   12
 
#define CIRCLE_RESOL   32
 
Internal Defines
#define VCLASS_LIGHT_AREA_SHAPE   (1 << 0)
 
#define VCLASS_LIGHT_SPOT_SHAPE   (1 << 1)
 
#define VCLASS_LIGHT_SPOT_BLEND   (1 << 2)
 
#define VCLASS_LIGHT_SPOT_CONE   (1 << 3)
 
#define VCLASS_LIGHT_DIST   (1 << 4)
 
#define VCLASS_CAMERA_FRAME   (1 << 5)
 
#define VCLASS_CAMERA_DIST   (1 << 6)
 
#define VCLASS_CAMERA_VOLUME   (1 << 7)
 
#define VCLASS_SCREENSPACE   (1 << 8)
 
#define VCLASS_SCREENALIGNED   (1 << 9)
 
#define VCLASS_EMPTY_SCALED   (1 << 10)
 
#define VCLASS_EMPTY_AXES   (1 << 11)
 
#define VCLASS_EMPTY_AXES_NAME   (1 << 12)
 
#define VCLASS_EMPTY_AXES_SHADOW   (1 << 13)
 
#define VCLASS_EMPTY_SIZE   (1 << 14)
 
#define DRW_SPHERE_SHAPE_LATITUDE_LOW   32
 
#define DRW_SPHERE_SHAPE_LONGITUDE_LOW   24
 
#define DRW_SPHERE_SHAPE_LATITUDE_MEDIUM   64
 
#define DRW_SPHERE_SHAPE_LONGITUDE_MEDIUM   48
 
#define DRW_SPHERE_SHAPE_LATITUDE_HIGH   80
 
#define DRW_SPHERE_SHAPE_LONGITUDE_HIGH   60
 

Functions

void DRW_cdlayer_attr_aliases_add (GPUVertFormat *format, const char *base_name, const CustomData *UNUSED(data), const CustomDataLayer *cl, bool is_active_render, bool is_active_layer)
 
Procedural Batches
GPUBatchdrw_cache_procedural_points_get (void)
 
GPUBatchdrw_cache_procedural_lines_get (void)
 
GPUBatchdrw_cache_procedural_triangles_get (void)
 
Helper functions
static GPUVertFormat extra_vert_format (void)
 
static void UNUSED_FUNCTION() add_fancy_edge (GPUVertBuf *vbo, uint pos_id, uint n1_id, uint n2_id, uint *v_idx, const float co1[3], const float co2[3], const float n1[3], const float n2[3])
 
static GPUVertBufsphere_wire_vbo (const float rad, int flag)
 
GPUBatchDRW_cache_fullscreen_quad_get (void)
 
GPUBatchDRW_cache_quad_get (void)
 
GPUBatchDRW_cache_quad_wires_get (void)
 
GPUBatchDRW_cache_grid_get (void)
 
static void sphere_lat_lon_vert (GPUVertBuf *vbo, int *v_ofs, float lat, float lon)
 
GPUBatchDRW_cache_sphere_get (const eDRWLevelOfDetail level_of_detail)
 
Dummy VBO's

We need a dummy VBO containing the vertex count to draw instances ranges.

GPUBatchDRW_gpencil_dummy_buffer_get (void)
 
Common Object API
Note
Curve and text objects evaluate to the evaluated geometry set's mesh component if they have a surface, so curve objects themselves do not have a surface (the mesh component is presented to render engines as a separate object).
GPUBatchDRW_cache_object_all_edges_get (Object *ob)
 
GPUBatchDRW_cache_object_edge_detection_get (Object *ob, bool *r_is_manifold)
 
GPUBatchDRW_cache_object_face_wireframe_get (Object *ob)
 
GPUBatchDRW_cache_object_loose_edges_get (struct Object *ob)
 
GPUBatchDRW_cache_object_surface_get (Object *ob)
 
GPUVertBufDRW_cache_object_pos_vertbuf_get (Object *ob)
 
int DRW_cache_object_material_count_get (struct Object *ob)
 
GPUBatch ** DRW_cache_object_surface_material_get (struct Object *ob, struct GPUMaterial **gpumat_array, uint gpumat_array_len)
 
Empties
GPUBatchDRW_cache_plain_axes_get (void)
 
GPUBatchDRW_cache_empty_cube_get (void)
 
GPUBatchDRW_cache_single_arrow_get (void)
 
GPUBatchDRW_cache_empty_sphere_get (void)
 
GPUBatchDRW_cache_empty_cone_get (void)
 
GPUBatchDRW_cache_empty_cylinder_get (void)
 
GPUBatchDRW_cache_empty_capsule_body_get (void)
 
GPUBatchDRW_cache_empty_capsule_cap_get (void)
 
GPUBatchDRW_cache_field_wind_get (void)
 
GPUBatchDRW_cache_field_force_get (void)
 
GPUBatchDRW_cache_field_vortex_get (void)
 
GPUBatchDRW_cache_field_curve_get (void)
 
GPUBatchDRW_cache_field_tube_limit_get (void)
 
GPUBatchDRW_cache_field_cone_limit_get (void)
 
GPUBatchDRW_cache_field_sphere_limit_get (void)
 
Speaker
GPUBatchDRW_cache_speaker_get (void)
 
Probe
GPUBatchDRW_cache_lightprobe_cube_get (void)
 
GPUBatchDRW_cache_lightprobe_grid_get (void)
 
GPUBatchDRW_cache_lightprobe_planar_get (void)
 
Camera
GPUBatchDRW_cache_camera_frame_get (void)
 
GPUBatchDRW_cache_camera_volume_get (void)
 
GPUBatchDRW_cache_camera_volume_wire_get (void)
 
GPUBatchDRW_cache_camera_tria_wire_get (void)
 
GPUBatchDRW_cache_camera_tria_get (void)
 
GPUBatchDRW_cache_camera_distances_get (void)
 
Meshes
GPUBatchDRW_cache_mesh_all_verts_get (Object *ob)
 
GPUBatchDRW_cache_mesh_all_edges_get (Object *ob)
 
GPUBatchDRW_cache_mesh_loose_edges_get (Object *ob)
 
GPUBatchDRW_cache_mesh_edge_detection_get (Object *ob, bool *r_is_manifold)
 
GPUBatchDRW_cache_mesh_surface_get (Object *ob)
 
GPUBatchDRW_cache_mesh_surface_edges_get (Object *ob)
 
GPUBatch ** DRW_cache_mesh_surface_shaded_get (Object *ob, struct GPUMaterial **gpumat_array, uint gpumat_array_len)
 
GPUBatch ** DRW_cache_mesh_surface_texpaint_get (Object *ob)
 
GPUBatchDRW_cache_mesh_surface_texpaint_single_get (Object *ob)
 
GPUBatchDRW_cache_mesh_surface_vertpaint_get (Object *ob)
 
GPUBatchDRW_cache_mesh_surface_sculptcolors_get (Object *ob)
 
GPUBatchDRW_cache_mesh_surface_weights_get (Object *ob)
 
GPUBatchDRW_cache_mesh_face_wireframe_get (Object *ob)
 
GPUBatchDRW_cache_mesh_surface_mesh_analysis_get (Object *ob)
 
Curve
GPUBatchDRW_cache_curve_edge_wire_get (Object *ob)
 
GPUBatchDRW_cache_curve_edge_normal_get (Object *ob)
 
GPUBatchDRW_cache_curve_edge_overlay_get (Object *ob)
 
GPUBatchDRW_cache_curve_vert_overlay_get (Object *ob)
 
MetaBall
GPUBatchDRW_cache_mball_surface_get (Object *ob)
 
GPUBatchDRW_cache_mball_edge_detection_get (Object *ob, bool *r_is_manifold)
 
GPUBatchDRW_cache_mball_face_wireframe_get (Object *ob)
 
GPUBatch ** DRW_cache_mball_surface_shaded_get (Object *ob, struct GPUMaterial **gpumat_array, uint gpumat_array_len)
 
Font
GPUBatchDRW_cache_text_edge_wire_get (Object *ob)
 
Surface
GPUBatchDRW_cache_surf_edge_wire_get (Object *ob)
 
Lattice
GPUBatchDRW_cache_lattice_verts_get (Object *ob)
 
GPUBatchDRW_cache_lattice_wire_get (Object *ob, bool use_weight)
 
GPUBatchDRW_cache_lattice_vert_overlay_get (Object *ob)
 
PointCloud
GPUBatchDRW_cache_pointcloud_get_dots (Object *object)
 
GPUBatchDRW_cache_pointcloud_surface_get (Object *object)
 
Volume
GPUBatchDRW_cache_volume_face_wireframe_get (Object *ob)
 
GPUBatchDRW_cache_volume_selection_surface_get (Object *ob)
 
Particles
GPUBatchDRW_cache_particles_get_hair (Object *object, ParticleSystem *psys, ModifierData *md)
 
GPUBatchDRW_cache_particles_get_dots (Object *object, ParticleSystem *psys)
 
GPUBatchDRW_cache_particles_get_edit_strands (Object *object, ParticleSystem *psys, struct PTCacheEdit *edit, bool use_weight)
 
GPUBatchDRW_cache_particles_get_edit_inner_points (Object *object, ParticleSystem *psys, struct PTCacheEdit *edit)
 
GPUBatchDRW_cache_particles_get_edit_tip_points (Object *object, ParticleSystem *psys, struct PTCacheEdit *edit)
 
GPUBatchDRW_cache_particles_get_prim (int type)
 
GPUBatchDRW_cache_cursor_get (bool crosshair_lines)
 
Batch Cache Implementation (common)
void drw_batch_cache_validate (Object *ob)
 
void drw_batch_cache_generate_requested (Object *ob)
 
void drw_batch_cache_generate_requested_evaluated_mesh_or_curve (Object *ob)
 
void drw_batch_cache_generate_requested_delayed (Object *ob)
 
void DRW_batch_cache_free_old (Object *ob, int ctime)
 

Lights

#define DIAMOND_NSEGMENTS   4
 
#define INNER_NSEGMENTS   8
 
#define OUTER_NSEGMENTS   10
 
#define CIRCLE_NSEGMENTS   32
 
static float light_distance_z_get (char axis, const bool start)
 
GPUBatchDRW_cache_groundline_get (void)
 
GPUBatchDRW_cache_light_point_lines_get (void)
 
GPUBatchDRW_cache_light_sun_lines_get (void)
 
GPUBatchDRW_cache_light_spot_lines_get (void)
 
GPUBatchDRW_cache_light_spot_volume_get (void)
 
GPUBatchDRW_cache_light_area_disk_lines_get (void)
 
GPUBatchDRW_cache_light_area_square_lines_get (void)
 

Armature Bones

#define COL_WIRE   (1 << 0)
 
#define COL_HEAD   (1 << 1)
 
#define COL_TAIL   (1 << 2)
 
#define COL_BONE   (1 << 3)
 
#define POS_HEAD   (1 << 4)
 
#define POS_TAIL   (1 << 5)
 
#define POS_BONE   (1 << 6)
 
#define S_X   0.0215f
 
#define S_Y   0.025f
 
#define X_LEN   (sizeof(x_axis_name) / (sizeof(float[2])))
 
#define S_X   0.0175f
 
#define S_Y   0.025f
 
#define Y_LEN   (sizeof(y_axis_name) / (sizeof(float[2])))
 
#define S_X   0.02f
 
#define S_Y   0.025f
 
#define Z_LEN   (sizeof(z_axis_name) / (sizeof(float[2])))
 
#define S_X   0.007f
 
#define S_Y   0.007f
 
#define MARKER_LEN   (sizeof(axis_marker) / (sizeof(float[2])))
 
#define MARKER_FILL_LAYER   6
 
#define set_vert(a, b, quarter)
 
static const float bone_octahedral_verts [6][3]
 
static const float bone_octahedral_smooth_normals [6][3]
 
static const uint bone_octahedral_solid_tris [8][3]
 
static const uint bone_octahedral_wire_lines_adjacency [12][4]
 
static const float bone_octahedral_solid_normals [8][3]
 
static float x_axis_name [4][2]
 
static float y_axis_name [6][2]
 
static float z_axis_name [10][2]
 
static float axis_marker [8][2]
 
static const float staticSine [16]
 
GPUBatchDRW_cache_bone_octahedral_get (void)
 
GPUBatchDRW_cache_bone_octahedral_wire_get (void)
 
GPUBatchDRW_cache_bone_box_get (void)
 
GPUBatchDRW_cache_bone_box_wire_get (void)
 
static void benv_lat_lon_to_co (const float lat, const float lon, float r_nor[3])
 
GPUBatchDRW_cache_bone_envelope_solid_get (void)
 
GPUBatchDRW_cache_bone_envelope_outline_get (void)
 
GPUBatchDRW_cache_bone_point_get (void)
 
GPUBatchDRW_cache_bone_point_wire_outline_get (void)
 
GPUBatchDRW_cache_bone_stick_get (void)
 
GPUBatchDRW_cache_bone_arrows_get (void)
 
GPUBatchDRW_cache_bone_dof_sphere_get (void)
 
GPUBatchDRW_cache_bone_dof_lines_get (void)
 

Internal Types

typedef struct Vert Vert
 
typedef struct VertShaded VertShaded
 
static struct DRWShapeCache SHC = {NULL}
 
void DRW_shape_cache_free (void)
 

Common

static const float bone_box_verts [8][3]
 
static const float bone_box_smooth_normals [8][3]
 
static const uint bone_box_wire [24]
 
static const uint bone_box_solid_tris [12][3]
 
static const uint bone_box_wire_lines_adjacency [12][4]
 
static const float bone_box_solid_normals [12][3]
 
static void circle_verts (GPUVertBuf *vbo, int *vert_idx, int segments, float radius, float z, int flag)
 
static void circle_dashed_verts (GPUVertBuf *vbo, int *vert_idx, int segments, float radius, float z, int flag)
 
GPUBatchDRW_cache_cube_get (void)
 
GPUBatchDRW_cache_circle_get (void)
 
GPUBatchDRW_cache_normal_arrow_get (void)
 

Macro Definition Documentation

◆ CIRCLE_NSEGMENTS

#define CIRCLE_NSEGMENTS   32

Definition at line 1454 of file draw_cache.c.

◆ CIRCLE_RESOL [1/12]

#define CIRCLE_RESOL   64

◆ CIRCLE_RESOL [2/12]

#define CIRCLE_RESOL   32

◆ CIRCLE_RESOL [3/12]

#define CIRCLE_RESOL   32

◆ CIRCLE_RESOL [4/12]

#define CIRCLE_RESOL   32

◆ CIRCLE_RESOL [5/12]

#define CIRCLE_RESOL   32

◆ CIRCLE_RESOL [6/12]

#define CIRCLE_RESOL   32

◆ CIRCLE_RESOL [7/12]

#define CIRCLE_RESOL   32

◆ CIRCLE_RESOL [8/12]

#define CIRCLE_RESOL   64

◆ CIRCLE_RESOL [9/12]

#define CIRCLE_RESOL   64

◆ CIRCLE_RESOL [10/12]

#define CIRCLE_RESOL   64

◆ CIRCLE_RESOL [11/12]

#define CIRCLE_RESOL   12

◆ CIRCLE_RESOL [12/12]

#define CIRCLE_RESOL   32

◆ COL_BONE

#define COL_BONE   (1 << 3)

Definition at line 2369 of file draw_cache.c.

◆ COL_HEAD

#define COL_HEAD   (1 << 1)

Definition at line 2367 of file draw_cache.c.

◆ COL_TAIL

#define COL_TAIL   (1 << 2)

Definition at line 2368 of file draw_cache.c.

◆ COL_WIRE

#define COL_WIRE   (1 << 0)

Definition at line 2366 of file draw_cache.c.

◆ DIAMOND_NSEGMENTS

#define DIAMOND_NSEGMENTS   4

Definition at line 1451 of file draw_cache.c.

◆ DRW_SPHERE_SHAPE_LATITUDE_HIGH

#define DRW_SPHERE_SHAPE_LATITUDE_HIGH   80

Definition at line 68 of file draw_cache.c.

◆ DRW_SPHERE_SHAPE_LATITUDE_LOW

#define DRW_SPHERE_SHAPE_LATITUDE_LOW   32

Definition at line 62 of file draw_cache.c.

◆ DRW_SPHERE_SHAPE_LATITUDE_MEDIUM

#define DRW_SPHERE_SHAPE_LATITUDE_MEDIUM   64

Definition at line 65 of file draw_cache.c.

◆ DRW_SPHERE_SHAPE_LONGITUDE_HIGH

#define DRW_SPHERE_SHAPE_LONGITUDE_HIGH   60

Definition at line 69 of file draw_cache.c.

◆ DRW_SPHERE_SHAPE_LONGITUDE_LOW

#define DRW_SPHERE_SHAPE_LONGITUDE_LOW   24

Definition at line 63 of file draw_cache.c.

◆ DRW_SPHERE_SHAPE_LONGITUDE_MEDIUM

#define DRW_SPHERE_SHAPE_LONGITUDE_MEDIUM   48

Definition at line 66 of file draw_cache.c.

◆ INNER_NSEGMENTS

#define INNER_NSEGMENTS   8

Definition at line 1452 of file draw_cache.c.

◆ MARKER_FILL_LAYER

#define MARKER_FILL_LAYER   6

Definition at line 2514 of file draw_cache.c.

◆ MARKER_LEN

#define MARKER_LEN   (sizeof(axis_marker) / (sizeof(float[2])))

Definition at line 2513 of file draw_cache.c.

◆ NSEGMENTS [1/4]

#define NSEGMENTS   32

◆ NSEGMENTS [2/4]

#define NSEGMENTS   8

◆ NSEGMENTS [3/4]

#define NSEGMENTS   12

◆ NSEGMENTS [4/4]

#define NSEGMENTS   24 /* Must be multiple of 2. */

◆ OUTER_NSEGMENTS

#define OUTER_NSEGMENTS   10

Definition at line 1453 of file draw_cache.c.

◆ POS_BONE

#define POS_BONE   (1 << 6)

Definition at line 2373 of file draw_cache.c.

◆ POS_HEAD

#define POS_HEAD   (1 << 4)

Definition at line 2371 of file draw_cache.c.

◆ POS_TAIL

#define POS_TAIL   (1 << 5)

Definition at line 2372 of file draw_cache.c.

◆ S_X [1/4]

#define S_X   0.0215f

Definition at line 2490 of file draw_cache.c.

◆ S_X [2/4]

#define S_X   0.0175f

Definition at line 2490 of file draw_cache.c.

◆ S_X [3/4]

#define S_X   0.02f

Definition at line 2490 of file draw_cache.c.

◆ S_X [4/4]

#define S_X   0.007f

Definition at line 2490 of file draw_cache.c.

◆ S_Y [1/4]

#define S_Y   0.025f

Definition at line 2491 of file draw_cache.c.

◆ S_Y [2/4]

#define S_Y   0.025f

Definition at line 2491 of file draw_cache.c.

◆ S_Y [3/4]

#define S_Y   0.025f

Definition at line 2491 of file draw_cache.c.

◆ S_Y [4/4]

#define S_Y   0.007f

Definition at line 2491 of file draw_cache.c.

◆ set_vert

#define set_vert (   a,
  b,
  quarter 
)
Value:
{ \
copy_v2_fl2(pos, (quarter % 2 == 0) ? -(a) : (a), (quarter < 2) ? -(b) : (b)); \
GPU_vertbuf_attr_set(vbo, attr_id.pos, v++, pos); \
} \
((void)0)
ATTR_WARN_UNUSED_RESULT const BMVert * v
SyclQueue void void size_t num_bytes void
uint pos
struct @653::@656 attr_id
static unsigned a[3]
Definition: RandGen.cpp:78
static const pxr::TfToken b("b", pxr::TfToken::Immortal)

Definition at line 2577 of file draw_cache.c.

◆ SIDE_STIPPLE [1/2]

#define SIDE_STIPPLE   32

◆ SIDE_STIPPLE [2/2]

#define SIDE_STIPPLE   32

◆ SPIRAL_RESOL

#define SPIRAL_RESOL   32

◆ VCLASS_CAMERA_DIST

#define VCLASS_CAMERA_DIST   (1 << 6)

Definition at line 48 of file draw_cache.c.

◆ VCLASS_CAMERA_FRAME

#define VCLASS_CAMERA_FRAME   (1 << 5)

Definition at line 47 of file draw_cache.c.

◆ VCLASS_CAMERA_VOLUME

#define VCLASS_CAMERA_VOLUME   (1 << 7)

Definition at line 49 of file draw_cache.c.

◆ VCLASS_EMPTY_AXES

#define VCLASS_EMPTY_AXES   (1 << 11)

Definition at line 55 of file draw_cache.c.

◆ VCLASS_EMPTY_AXES_NAME

#define VCLASS_EMPTY_AXES_NAME   (1 << 12)

Definition at line 56 of file draw_cache.c.

◆ VCLASS_EMPTY_AXES_SHADOW

#define VCLASS_EMPTY_AXES_SHADOW   (1 << 13)

Definition at line 57 of file draw_cache.c.

◆ VCLASS_EMPTY_SCALED

#define VCLASS_EMPTY_SCALED   (1 << 10)

Definition at line 54 of file draw_cache.c.

◆ VCLASS_EMPTY_SIZE

#define VCLASS_EMPTY_SIZE   (1 << 14)

Definition at line 58 of file draw_cache.c.

◆ VCLASS_LIGHT_AREA_SHAPE

#define VCLASS_LIGHT_AREA_SHAPE   (1 << 0)

Definition at line 41 of file draw_cache.c.

◆ VCLASS_LIGHT_DIST

#define VCLASS_LIGHT_DIST   (1 << 4)

Definition at line 45 of file draw_cache.c.

◆ VCLASS_LIGHT_SPOT_BLEND

#define VCLASS_LIGHT_SPOT_BLEND   (1 << 2)

Definition at line 43 of file draw_cache.c.

◆ VCLASS_LIGHT_SPOT_CONE

#define VCLASS_LIGHT_SPOT_CONE   (1 << 3)

Definition at line 44 of file draw_cache.c.

◆ VCLASS_LIGHT_SPOT_SHAPE

#define VCLASS_LIGHT_SPOT_SHAPE   (1 << 1)

Definition at line 42 of file draw_cache.c.

◆ VCLASS_SCREENALIGNED

#define VCLASS_SCREENALIGNED   (1 << 9)

Definition at line 52 of file draw_cache.c.

◆ VCLASS_SCREENSPACE

#define VCLASS_SCREENSPACE   (1 << 8)

Definition at line 51 of file draw_cache.c.

◆ X_LEN

#define X_LEN   (sizeof(x_axis_name) / (sizeof(float[2])))

Definition at line 2454 of file draw_cache.c.

◆ Y_LEN

#define Y_LEN   (sizeof(y_axis_name) / (sizeof(float[2])))

Definition at line 2468 of file draw_cache.c.

◆ Z_LEN

#define Z_LEN   (sizeof(z_axis_name) / (sizeof(float[2])))

Definition at line 2486 of file draw_cache.c.

Typedef Documentation

◆ Vert

typedef struct Vert Vert

◆ VertShaded

typedef struct VertShaded VertShaded

Function Documentation

◆ add_fancy_edge()

static void UNUSED_FUNCTION() add_fancy_edge ( GPUVertBuf vbo,
uint  pos_id,
uint  n1_id,
uint  n2_id,
uint v_idx,
const float  co1[3],
const float  co2[3],
const float  n1[3],
const float  n2[3] 
)
static

Definition at line 225 of file draw_cache.c.

References GPU_vertbuf_attr_set().

◆ benv_lat_lon_to_co()

static void benv_lat_lon_to_co ( const float  lat,
const float  lon,
float  r_nor[3] 
)
static

Definition at line 2150 of file draw_cache.c.

References cosf, and sinf.

Referenced by DRW_cache_bone_envelope_solid_get().

◆ circle_dashed_verts()

static void circle_dashed_verts ( GPUVertBuf vbo,
int *  vert_idx,
int  segments,
float  radius,
float  z,
int  flag 
)
static

◆ circle_verts()

static void circle_verts ( GPUVertBuf vbo,
int *  vert_idx,
int  segments,
float  radius,
float  z,
int  flag 
)
static

◆ DRW_batch_cache_free_old()

void DRW_batch_cache_free_old ( Object ob,
int  ctime 
)

◆ drw_batch_cache_generate_requested()

void drw_batch_cache_generate_requested ( Object ob)

◆ drw_batch_cache_generate_requested_delayed()

void drw_batch_cache_generate_requested_delayed ( Object ob)
Warning
Only evaluated mesh data is handled by this delayed generation.

Definition at line 3392 of file draw_cache.c.

References BLI_gset_add(), DRWManager::delayed_extraction, and DST.

Referenced by drw_shgroup_bone_custom_mesh_wire(), drw_shgroup_bone_custom_solid_mesh(), and drw_shgroup_custom_bone_curve().

◆ drw_batch_cache_generate_requested_evaluated_mesh_or_curve()

void drw_batch_cache_generate_requested_evaluated_mesh_or_curve ( Object ob)

◆ drw_batch_cache_validate()

void drw_batch_cache_validate ( Object ob)

◆ DRW_cache_bone_arrows_get()

GPUBatch* DRW_cache_bone_arrows_get ( void  )

◆ DRW_cache_bone_box_get()

GPUBatch* DRW_cache_bone_box_get ( void  )

◆ DRW_cache_bone_box_wire_get()

GPUBatch* DRW_cache_bone_box_wire_get ( void  )

◆ DRW_cache_bone_dof_lines_get()

GPUBatch* DRW_cache_bone_dof_lines_get ( void  )

◆ DRW_cache_bone_dof_sphere_get()

GPUBatch* DRW_cache_bone_dof_sphere_get ( void  )

◆ DRW_cache_bone_envelope_outline_get()

GPUBatch* DRW_cache_bone_envelope_outline_get ( void  )

◆ DRW_cache_bone_envelope_solid_get()

GPUBatch* DRW_cache_bone_envelope_solid_get ( void  )

◆ DRW_cache_bone_octahedral_get()

GPUBatch* DRW_cache_bone_octahedral_get ( void  )

◆ DRW_cache_bone_octahedral_wire_get()

GPUBatch* DRW_cache_bone_octahedral_wire_get ( void  )

◆ DRW_cache_bone_point_get()

GPUBatch* DRW_cache_bone_point_get ( void  )

◆ DRW_cache_bone_point_wire_outline_get()

GPUBatch* DRW_cache_bone_point_wire_outline_get ( void  )

◆ DRW_cache_bone_stick_get()

GPUBatch* DRW_cache_bone_stick_get ( void  )

◆ DRW_cache_camera_distances_get()

GPUBatch* DRW_cache_camera_distances_get ( void  )

◆ DRW_cache_camera_frame_get()

GPUBatch* DRW_cache_camera_frame_get ( void  )

◆ DRW_cache_camera_tria_get()

GPUBatch* DRW_cache_camera_tria_get ( void  )

◆ DRW_cache_camera_tria_wire_get()

GPUBatch* DRW_cache_camera_tria_wire_get ( void  )

◆ DRW_cache_camera_volume_get()

GPUBatch* DRW_cache_camera_volume_get ( void  )

◆ DRW_cache_camera_volume_wire_get()

GPUBatch* DRW_cache_camera_volume_wire_get ( void  )

◆ DRW_cache_circle_get()

GPUBatch* DRW_cache_circle_get ( void  )

◆ DRW_cache_cube_get()

GPUBatch* DRW_cache_cube_get ( void  )

◆ DRW_cache_cursor_get()

GPUBatch* DRW_cache_cursor_get ( bool  crosshair_lines)

◆ DRW_cache_curve_edge_normal_get()

GPUBatch* DRW_cache_curve_edge_normal_get ( Object ob)

◆ DRW_cache_curve_edge_overlay_get()

GPUBatch* DRW_cache_curve_edge_overlay_get ( Object ob)

◆ DRW_cache_curve_edge_wire_get()

GPUBatch* DRW_cache_curve_edge_wire_get ( Object ob)

◆ DRW_cache_curve_vert_overlay_get()

GPUBatch* DRW_cache_curve_vert_overlay_get ( Object ob)

◆ DRW_cache_empty_capsule_body_get()

GPUBatch* DRW_cache_empty_capsule_body_get ( void  )

◆ DRW_cache_empty_capsule_cap_get()

GPUBatch* DRW_cache_empty_capsule_cap_get ( void  )

◆ DRW_cache_empty_cone_get()

GPUBatch* DRW_cache_empty_cone_get ( void  )

◆ DRW_cache_empty_cube_get()

GPUBatch* DRW_cache_empty_cube_get ( void  )

◆ DRW_cache_empty_cylinder_get()

GPUBatch* DRW_cache_empty_cylinder_get ( void  )

◆ DRW_cache_empty_sphere_get()

GPUBatch* DRW_cache_empty_sphere_get ( void  )

◆ DRW_cache_field_cone_limit_get()

GPUBatch* DRW_cache_field_cone_limit_get ( void  )

◆ DRW_cache_field_curve_get()

GPUBatch* DRW_cache_field_curve_get ( void  )

◆ DRW_cache_field_force_get()

GPUBatch* DRW_cache_field_force_get ( void  )

◆ DRW_cache_field_sphere_limit_get()

GPUBatch* DRW_cache_field_sphere_limit_get ( void  )

◆ DRW_cache_field_tube_limit_get()

GPUBatch* DRW_cache_field_tube_limit_get ( void  )

◆ DRW_cache_field_vortex_get()

GPUBatch* DRW_cache_field_vortex_get ( void  )

◆ DRW_cache_field_wind_get()

GPUBatch* DRW_cache_field_wind_get ( void  )

◆ DRW_cache_fullscreen_quad_get()

GPUBatch* DRW_cache_fullscreen_quad_get ( void  )

◆ DRW_cache_grid_get()

GPUBatch* DRW_cache_grid_get ( void  )

◆ DRW_cache_groundline_get()

GPUBatch* DRW_cache_groundline_get ( void  )

◆ DRW_cache_lattice_vert_overlay_get()

GPUBatch* DRW_cache_lattice_vert_overlay_get ( Object ob)

◆ DRW_cache_lattice_verts_get()

GPUBatch* DRW_cache_lattice_verts_get ( Object ob)

◆ DRW_cache_lattice_wire_get()

GPUBatch* DRW_cache_lattice_wire_get ( Object ob,
bool  use_weight 
)

◆ DRW_cache_light_area_disk_lines_get()

GPUBatch* DRW_cache_light_area_disk_lines_get ( void  )

◆ DRW_cache_light_area_square_lines_get()

GPUBatch* DRW_cache_light_area_square_lines_get ( void  )

◆ DRW_cache_light_point_lines_get()

GPUBatch* DRW_cache_light_point_lines_get ( void  )

◆ DRW_cache_light_spot_lines_get()

GPUBatch* DRW_cache_light_spot_lines_get ( void  )

◆ DRW_cache_light_spot_volume_get()

GPUBatch* DRW_cache_light_spot_volume_get ( void  )

◆ DRW_cache_light_sun_lines_get()

GPUBatch* DRW_cache_light_sun_lines_get ( void  )

◆ DRW_cache_lightprobe_cube_get()

GPUBatch* DRW_cache_lightprobe_cube_get ( void  )

◆ DRW_cache_lightprobe_grid_get()

GPUBatch* DRW_cache_lightprobe_grid_get ( void  )

◆ DRW_cache_lightprobe_planar_get()

GPUBatch* DRW_cache_lightprobe_planar_get ( void  )

◆ DRW_cache_mball_edge_detection_get()

GPUBatch* DRW_cache_mball_edge_detection_get ( Object ob,
bool r_is_manifold 
)

◆ DRW_cache_mball_face_wireframe_get()

GPUBatch* DRW_cache_mball_face_wireframe_get ( Object ob)

◆ DRW_cache_mball_surface_get()

GPUBatch* DRW_cache_mball_surface_get ( Object ob)

◆ DRW_cache_mball_surface_shaded_get()

GPUBatch** DRW_cache_mball_surface_shaded_get ( Object ob,
struct GPUMaterial **  gpumat_array,
uint  gpumat_array_len 
)

◆ DRW_cache_mesh_all_edges_get()

GPUBatch* DRW_cache_mesh_all_edges_get ( Object ob)

◆ DRW_cache_mesh_all_verts_get()

GPUBatch* DRW_cache_mesh_all_verts_get ( Object ob)

◆ DRW_cache_mesh_edge_detection_get()

GPUBatch* DRW_cache_mesh_edge_detection_get ( Object ob,
bool r_is_manifold 
)

◆ DRW_cache_mesh_face_wireframe_get()

GPUBatch* DRW_cache_mesh_face_wireframe_get ( Object ob)

◆ DRW_cache_mesh_loose_edges_get()

GPUBatch* DRW_cache_mesh_loose_edges_get ( Object ob)

◆ DRW_cache_mesh_surface_edges_get()

GPUBatch* DRW_cache_mesh_surface_edges_get ( Object ob)

◆ DRW_cache_mesh_surface_get()

GPUBatch* DRW_cache_mesh_surface_get ( Object ob)

◆ DRW_cache_mesh_surface_mesh_analysis_get()

GPUBatch* DRW_cache_mesh_surface_mesh_analysis_get ( Object ob)

◆ DRW_cache_mesh_surface_sculptcolors_get()

GPUBatch* DRW_cache_mesh_surface_sculptcolors_get ( Object ob)

◆ DRW_cache_mesh_surface_shaded_get()

GPUBatch** DRW_cache_mesh_surface_shaded_get ( struct Object ob,
struct GPUMaterial **  gpumat_array,
uint  gpumat_array_len 
)

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

Definition at line 2870 of file draw_cache.c.

References BLI_assert, Object::data, DRW_mesh_batch_cache_get_surface_shaded(), OB_MESH, and Object::type.

Referenced by DRW_cache_object_surface_material_get().

◆ DRW_cache_mesh_surface_texpaint_get()

GPUBatch** DRW_cache_mesh_surface_texpaint_get ( struct Object ob)

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

Definition at line 2878 of file draw_cache.c.

References BLI_assert, Object::data, DRW_mesh_batch_cache_get_surface_texpaint(), OB_MESH, and Object::type.

Referenced by workbench_cache_common_populate(), and workbench_cache_texpaint_populate().

◆ DRW_cache_mesh_surface_texpaint_single_get()

GPUBatch* DRW_cache_mesh_surface_texpaint_single_get ( Object ob)

◆ DRW_cache_mesh_surface_vertpaint_get()

GPUBatch* DRW_cache_mesh_surface_vertpaint_get ( Object ob)

◆ DRW_cache_mesh_surface_weights_get()

GPUBatch* DRW_cache_mesh_surface_weights_get ( Object ob)

◆ DRW_cache_normal_arrow_get()

GPUBatch* DRW_cache_normal_arrow_get ( void  )

◆ DRW_cache_object_all_edges_get()

GPUBatch* DRW_cache_object_all_edges_get ( Object ob)

Definition at line 800 of file draw_cache.c.

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

Referenced by basic_cache_populate().

◆ DRW_cache_object_edge_detection_get()

GPUBatch* DRW_cache_object_edge_detection_get ( Object ob,
bool r_is_manifold 
)

◆ DRW_cache_object_face_wireframe_get()

GPUBatch* DRW_cache_object_face_wireframe_get ( Object ob)

◆ DRW_cache_object_loose_edges_get()

GPUBatch* DRW_cache_object_loose_edges_get ( struct Object ob)

◆ DRW_cache_object_material_count_get()

int DRW_cache_object_material_count_get ( struct Object ob)

◆ DRW_cache_object_pos_vertbuf_get()

GPUVertBuf* DRW_cache_object_pos_vertbuf_get ( struct Object ob)

◆ DRW_cache_object_surface_get()

GPUBatch* DRW_cache_object_surface_get ( Object ob)

◆ DRW_cache_object_surface_material_get()

GPUBatch** DRW_cache_object_surface_material_get ( struct Object ob,
struct GPUMaterial **  gpumat_array,
uint  gpumat_array_len 
)

◆ DRW_cache_particles_get_dots()

GPUBatch* DRW_cache_particles_get_dots ( Object object,
ParticleSystem psys 
)

Definition at line 3098 of file draw_cache.c.

References DRW_particles_batch_cache_get_dots().

Referenced by OVERLAY_particle_cache_populate().

◆ DRW_cache_particles_get_edit_inner_points()

GPUBatch* DRW_cache_particles_get_edit_inner_points ( Object object,
ParticleSystem psys,
struct PTCacheEdit edit 
)

◆ DRW_cache_particles_get_edit_strands()

GPUBatch* DRW_cache_particles_get_edit_strands ( Object object,
ParticleSystem psys,
struct PTCacheEdit edit,
bool  use_weight 
)

◆ DRW_cache_particles_get_edit_tip_points()

GPUBatch* DRW_cache_particles_get_edit_tip_points ( Object object,
ParticleSystem psys,
struct PTCacheEdit edit 
)

◆ DRW_cache_particles_get_hair()

GPUBatch* DRW_cache_particles_get_hair ( Object object,
ParticleSystem psys,
ModifierData md 
)

◆ DRW_cache_particles_get_prim()

GPUBatch* DRW_cache_particles_get_prim ( int  type)

◆ DRW_cache_plain_axes_get()

GPUBatch* DRW_cache_plain_axes_get ( void  )

◆ DRW_cache_pointcloud_get_dots()

GPUBatch* DRW_cache_pointcloud_get_dots ( Object object)

◆ DRW_cache_pointcloud_surface_get()

GPUBatch* DRW_cache_pointcloud_surface_get ( Object object)

◆ drw_cache_procedural_lines_get()

GPUBatch* drw_cache_procedural_lines_get ( void  )

◆ drw_cache_procedural_points_get()

GPUBatch* drw_cache_procedural_points_get ( void  )

◆ drw_cache_procedural_triangles_get()

GPUBatch* drw_cache_procedural_triangles_get ( void  )

◆ DRW_cache_quad_get()

GPUBatch* DRW_cache_quad_get ( void  )

◆ DRW_cache_quad_wires_get()

GPUBatch* DRW_cache_quad_wires_get ( void  )

◆ DRW_cache_single_arrow_get()

GPUBatch* DRW_cache_single_arrow_get ( void  )

◆ DRW_cache_speaker_get()

GPUBatch* DRW_cache_speaker_get ( void  )

◆ DRW_cache_sphere_get()

GPUBatch* DRW_cache_sphere_get ( const eDRWLevelOfDetail  level_of_detail)

◆ DRW_cache_surf_edge_wire_get()

GPUBatch* DRW_cache_surf_edge_wire_get ( Object ob)

◆ DRW_cache_text_edge_wire_get()

GPUBatch* DRW_cache_text_edge_wire_get ( Object ob)

◆ DRW_cache_volume_face_wireframe_get()

GPUBatch* DRW_cache_volume_face_wireframe_get ( Object ob)

◆ DRW_cache_volume_selection_surface_get()

GPUBatch* DRW_cache_volume_selection_surface_get ( Object ob)

◆ DRW_cdlayer_attr_aliases_add()

void DRW_cdlayer_attr_aliases_add ( GPUVertFormat format,
const char *  base_name,
const CustomData UNUSEDdata,
const CustomDataLayer cl,
bool  is_active_render,
bool  is_active_layer 
)

◆ DRW_gpencil_dummy_buffer_get()

GPUBatch* DRW_gpencil_dummy_buffer_get ( void  )

◆ DRW_shape_cache_free()

void DRW_shape_cache_free ( void  )

Definition at line 153 of file draw_cache.c.

References batch, GPU_BATCH_DISCARD_SAFE, GPUBatch, and SHC.

Referenced by DRW_engines_free().

◆ extra_vert_format()

static GPUVertFormat extra_vert_format ( void  )
static

◆ light_distance_z_get()

static float light_distance_z_get ( char  axis,
const bool  start 
)
static

◆ sphere_lat_lon_vert()

static void sphere_lat_lon_vert ( GPUVertBuf vbo,
int *  v_ofs,
float  lat,
float  lon 
)
static

Definition at line 473 of file draw_cache.c.

References cosf, GPU_vertbuf_vert_set(), sinf, VCLASS_EMPTY_SCALED, x, y, and z.

Referenced by DRW_cache_sphere_get().

◆ sphere_wire_vbo()

static GPUVertBuf* sphere_wire_vbo ( const float  rad,
int  flag 
)
static

Variable Documentation

◆ axis_marker

float axis_marker[8][2]
static
Initial value:
= {
{-S_X, 0.0f},
{0.0f, S_Y},
{0.0f, S_Y},
{S_X, 0.0f},
{S_X, 0.0f},
{0.0f, -S_Y},
{0.0f, -S_Y},
{-S_X, 0.0f}
}
#define S_X
Definition: draw_cache.c:2490
#define S_Y
Definition: draw_cache.c:2491

Definition at line 2492 of file draw_cache.c.

Referenced by DRW_cache_bone_arrows_get().

◆ bone_box_smooth_normals

const float bone_box_smooth_normals[8][3]
static
Initial value:

Definition at line 590 of file draw_cache.c.

Referenced by DRW_cache_bone_box_get().

◆ bone_box_solid_normals

const float bone_box_solid_normals[12][3]
static
Initial value:
= {
{0.0f, -1.0f, 0.0f},
{0.0f, -1.0f, 0.0f},
{1.0f, 0.0f, 0.0f},
{1.0f, 0.0f, 0.0f},
{0.0f, 0.0f, -1.0f},
{0.0f, 0.0f, -1.0f},
{-1.0f, 0.0f, 0.0f},
{-1.0f, 0.0f, 0.0f},
{0.0f, 0.0f, 1.0f},
{0.0f, 0.0f, 1.0f},
{0.0f, 1.0f, 0.0f},
{0.0f, 1.0f, 0.0f},
}

Definition at line 675 of file draw_cache.c.

Referenced by DRW_cache_bone_box_get().

◆ bone_box_solid_tris

const uint bone_box_solid_tris[12][3]
static
Initial value:
= {
{0, 2, 1},
{0, 3, 2},
{0, 1, 5},
{0, 5, 4},
{1, 2, 6},
{1, 6, 5},
{2, 3, 7},
{2, 7, 6},
{3, 0, 4},
{3, 4, 7},
{4, 5, 6},
{4, 6, 7},
}

Definition at line 613 of file draw_cache.c.

Referenced by DRW_cache_bone_box_get(), DRW_cache_camera_volume_get(), and DRW_cache_cube_get().

◆ bone_box_verts

const float bone_box_verts[8][3]
static
Initial value:
= {
{1.0f, 0.0f, 1.0f},
{1.0f, 0.0f, -1.0f},
{-1.0f, 0.0f, -1.0f},
{-1.0f, 0.0f, 1.0f},
{1.0f, 1.0f, 1.0f},
{1.0f, 1.0f, -1.0f},
{-1.0f, 1.0f, -1.0f},
{-1.0f, 1.0f, 1.0f},
}

Definition at line 579 of file draw_cache.c.

Referenced by DRW_cache_bone_box_get(), DRW_cache_camera_volume_get(), DRW_cache_camera_volume_wire_get(), DRW_cache_cube_get(), and DRW_cache_empty_cube_get().

◆ bone_box_wire

const uint bone_box_wire[24]
static
Initial value:
= {
0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 4, 1, 5, 2, 6, 3, 7,
}

Definition at line 601 of file draw_cache.c.

Referenced by DRW_cache_camera_volume_wire_get(), and DRW_cache_empty_cube_get().

◆ bone_box_wire_lines_adjacency

const uint bone_box_wire_lines_adjacency[12][4]
static
Initial value:
= {
{4, 2, 0, 11},
{0, 1, 2, 8},
{2, 4, 1, 14},
{1, 0, 4, 20},
{0, 8, 11, 14},
{2, 14, 8, 20},
{1, 20, 14, 11},
{4, 11, 20, 8},
{20, 0, 11, 2},
{11, 2, 8, 1},
{8, 1, 14, 4},
{14, 4, 20, 0},
}

Store indices of generated verts from bone_box_solid_tris to define adjacency infos. See bone_octahedral_solid_tris for more infos.

Definition at line 637 of file draw_cache.c.

Referenced by DRW_cache_bone_box_wire_get().

◆ bone_octahedral_smooth_normals

const float bone_octahedral_smooth_normals[6][3]
static
Initial value:
= {
{0.0f, -1.0f, 0.0f},
{M_SQRT1_2, 0.0f, M_SQRT1_2},
{M_SQRT1_2, 0.0f, -M_SQRT1_2},
{-M_SQRT1_2, 0.0f, -M_SQRT1_2},
{-M_SQRT1_2, 0.0f, M_SQRT1_2},
{0.0f, 1.0f, 0.0f},
}
#define M_SQRT1_2
Definition: BLI_math_base.h:32

Definition at line 1936 of file draw_cache.c.

Referenced by DRW_cache_bone_octahedral_get().

◆ bone_octahedral_solid_normals

const float bone_octahedral_solid_normals[8][3]
static
Initial value:
= {
{M_SQRT1_2, -M_SQRT1_2, 0.00000000f},
{-0.00000000f, -M_SQRT1_2, -M_SQRT1_2},
{-M_SQRT1_2, -M_SQRT1_2, 0.00000000f},
{0.00000000f, -M_SQRT1_2, M_SQRT1_2},
{0.99388373f, 0.11043154f, -0.00000000f},
{0.00000000f, 0.11043154f, -0.99388373f},
{-0.99388373f, 0.11043154f, 0.00000000f},
{0.00000000f, 0.11043154f, 0.99388373f},
}

Definition at line 2018 of file draw_cache.c.

Referenced by DRW_cache_bone_octahedral_get().

◆ bone_octahedral_solid_tris

const uint bone_octahedral_solid_tris[8][3]
static
Initial value:
= {
{2, 1, 0},
{3, 2, 0},
{4, 3, 0},
{1, 4, 0},
{5, 1, 2},
{5, 2, 3},
{5, 3, 4},
{5, 4, 1},
}

Definition at line 1965 of file draw_cache.c.

Referenced by DRW_cache_bone_octahedral_get().

◆ bone_octahedral_verts

const float bone_octahedral_verts[6][3]
static
Initial value:
= {
{0.0f, 0.0f, 0.0f},
{0.1f, 0.1f, 0.1f},
{0.1f, 0.1f, -0.1f},
{-0.1f, 0.1f, -0.1f},
{-0.1f, 0.1f, 0.1f},
{0.0f, 1.0f, 0.0f},
}

Definition at line 1927 of file draw_cache.c.

Referenced by DRW_cache_bone_octahedral_get().

◆ bone_octahedral_wire_lines_adjacency

const uint bone_octahedral_wire_lines_adjacency[12][4]
static
Initial value:
= {
{0, 1, 2, 6},
{0, 12, 1, 6},
{0, 3, 12, 6},
{0, 2, 3, 6},
{1, 6, 2, 3},
{1, 12, 6, 3},
{1, 0, 12, 3},
{1, 2, 0, 3},
{2, 0, 1, 12},
{2, 3, 0, 12},
{2, 6, 3, 12},
{2, 1, 6, 12},
}

Store indices of generated verts from bone_octahedral_solid_tris to define adjacency infos. Example: triangle {2, 1, 0} is adjacent to {3, 2, 0}, {1, 4, 0} and {5, 1, 2}. {2, 1, 0} becomes {0, 1, 2} {3, 2, 0} becomes {3, 4, 5} {1, 4, 0} becomes {9, 10, 11} {5, 1, 2} becomes {12, 13, 14} According to opengl specification it becomes (starting from the first vertex of the first face aka. vertex 2): {0, 12, 1, 10, 2, 3}

Definition at line 1988 of file draw_cache.c.

Referenced by DRW_cache_bone_octahedral_wire_get().

◆ SHC

struct DRWShapeCache SHC = {NULL}
static

Referenced by 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_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(), 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(), DRW_cache_grid_get(), DRW_cache_groundline_get(), DRW_cache_light_area_disk_lines_get(), DRW_cache_light_area_square_lines_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_normal_arrow_get(), DRW_cache_particles_get_prim(), DRW_cache_plain_axes_get(), drw_cache_procedural_lines_get(), drw_cache_procedural_points_get(), drw_cache_procedural_triangles_get(), DRW_cache_quad_get(), DRW_cache_quad_wires_get(), DRW_cache_single_arrow_get(), DRW_cache_speaker_get(), DRW_cache_sphere_get(), DRW_gpencil_dummy_buffer_get(), and DRW_shape_cache_free().

◆ staticSine

const float staticSine[16]
static
Initial value:
= {
0.0f,
0.104528463268f,
0.207911690818f,
0.309016994375f,
0.406736643076f,
0.5f,
0.587785252292f,
0.669130606359f,
0.743144825477f,
0.809016994375f,
0.866025403784f,
0.913545457643f,
0.951056516295f,
0.978147600734f,
0.994521895368f,
1.0f,
}

Definition at line 2558 of file draw_cache.c.

Referenced by DRW_cache_bone_dof_lines_get(), and DRW_cache_bone_dof_sphere_get().

◆ x_axis_name

float x_axis_name[4][2]
static
Initial value:
= {
{0.9f * S_X, 1.0f * S_Y},
{-1.0f * S_X, -1.0f * S_Y},
{-0.9f * S_X, 1.0f * S_Y},
{1.0f * S_X, -1.0f * S_Y},
}

Definition at line 2448 of file draw_cache.c.

Referenced by DRW_cache_bone_arrows_get().

◆ y_axis_name

float y_axis_name[6][2]
static
Initial value:
= {
{-1.0f * S_X, 1.0f * S_Y},
{0.0f * S_X, -0.1f * S_Y},
{1.0f * S_X, 1.0f * S_Y},
{0.0f * S_X, -0.1f * S_Y},
{0.0f * S_X, -0.1f * S_Y},
{0.0f * S_X, -1.0f * S_Y},
}

Definition at line 2460 of file draw_cache.c.

Referenced by DRW_cache_bone_arrows_get().

◆ z_axis_name

float z_axis_name[10][2]
static
Initial value:
= {
{-0.95f * S_X, 1.00f * S_Y},
{0.95f * S_X, 1.00f * S_Y},
{0.95f * S_X, 1.00f * S_Y},
{0.95f * S_X, 0.90f * S_Y},
{0.95f * S_X, 0.90f * S_Y},
{-1.00f * S_X, -0.90f * S_Y},
{-1.00f * S_X, -0.90f * S_Y},
{-1.00f * S_X, -1.00f * S_Y},
{-1.00f * S_X, -1.00f * S_Y},
{1.00f * S_X, -1.00f * S_Y},
}

Definition at line 2474 of file draw_cache.c.

Referenced by DRW_cache_bone_arrows_get().