Blender V4.3
draw_common.cc File Reference
#include "DRW_render.hh"
#include "GPU_matrix.hh"
#include "GPU_shader.hh"
#include "GPU_texture.hh"
#include "UI_resources.hh"
#include "BLI_index_range.hh"
#include "BLI_math_color.h"
#include "BKE_colorband.hh"
#include "BKE_global.hh"
#include "BKE_object.hh"
#include "draw_common_c.hh"

Go to the source code of this file.

Macros

#define UI_COLOR_RGBA_FROM_U8(r, g, b, a, v4)    ARRAY_SET_ITEMS(v4, float(r) / 255.0f, float(g) / 255.0f, float(b) / 255.0f, float(a) / 255.0f)
 

Functions

static GPUTexture * DRW_create_weight_colorramp_texture ()
 
void DRW_globals_update ()
 
void DRW_globals_free ()
 
DRWViewDRW_view_create_with_zoffset (const DRWView *parent_view, const RegionView3D *rv3d, float offset)
 
int DRW_object_wire_theme_get (Object *ob, ViewLayer *view_layer, float **r_color)
 
floatDRW_color_background_blend_get (int theme_id)
 
bool DRW_object_is_flat (Object *ob, int *r_axis)
 
bool DRW_object_axis_orthogonal_to_view (Object *ob, int axis)
 
static void DRW_evaluate_weight_to_color (const float weight, float result[4])
 

Variables

DRW_Global G_draw {}
 
static bool weight_ramp_custom = false
 
static ColorBand weight_ramp_copy
 

Macro Definition Documentation

◆ UI_COLOR_RGBA_FROM_U8

#define UI_COLOR_RGBA_FROM_U8 ( r,
g,
b,
a,
v4 )    ARRAY_SET_ITEMS(v4, float(r) / 255.0f, float(g) / 255.0f, float(b) / 255.0f, float(a) / 255.0f)

Definition at line 30 of file draw_common.cc.

Referenced by DRW_globals_update().

Function Documentation

◆ DRW_color_background_blend_get()

float * DRW_color_background_blend_get ( int theme_id)

◆ DRW_create_weight_colorramp_texture()

static GPUTexture * DRW_create_weight_colorramp_texture ( )
static

◆ DRW_evaluate_weight_to_color()

static void DRW_evaluate_weight_to_color ( const float weight,
float result[4] )
static

◆ DRW_globals_free()

void DRW_globals_free ( )

Definition at line 274 of file draw_common.cc.

Referenced by DRW_engines_free().

◆ DRW_globals_update()

void DRW_globals_update ( )

Definition at line 46 of file draw_common.cc.

References CBData::a, CBData::b, BKE_colorband_evaluate_table_rgba(), DRW_Global::block, DRW_Global::block_ubo, RegionView3D::clip, GlobalsUboStorage::clip_planes, GlobalsUboStorage::color_active, GlobalsUboStorage::color_active_spline, GlobalsUboStorage::color_after_frame, GlobalsUboStorage::color_background, GlobalsUboStorage::color_background_gradient, GlobalsUboStorage::color_before_frame, GlobalsUboStorage::color_bone_active, GlobalsUboStorage::color_bone_active_unsel, GlobalsUboStorage::color_bone_ik_line, GlobalsUboStorage::color_bone_ik_line_no_target, GlobalsUboStorage::color_bone_ik_line_spline, GlobalsUboStorage::color_bone_locked, GlobalsUboStorage::color_bone_pose, GlobalsUboStorage::color_bone_pose_active, GlobalsUboStorage::color_bone_pose_active_unsel, GlobalsUboStorage::color_bone_pose_constraint, GlobalsUboStorage::color_bone_pose_ik, GlobalsUboStorage::color_bone_pose_no_target, GlobalsUboStorage::color_bone_pose_spline_ik, GlobalsUboStorage::color_bone_select, GlobalsUboStorage::color_bone_solid, GlobalsUboStorage::color_camera, GlobalsUboStorage::color_camera_path, GlobalsUboStorage::color_checker_primary, GlobalsUboStorage::color_checker_secondary, GlobalsUboStorage::color_clipping_border, GlobalsUboStorage::color_current_frame, GlobalsUboStorage::color_deselect, GlobalsUboStorage::color_edge_bweight, GlobalsUboStorage::color_edge_crease, GlobalsUboStorage::color_edge_face_select, GlobalsUboStorage::color_edge_freestyle, GlobalsUboStorage::color_edge_mode_select, GlobalsUboStorage::color_edge_seam, GlobalsUboStorage::color_edge_select, GlobalsUboStorage::color_edge_sharp, GlobalsUboStorage::color_edit_mesh_active, GlobalsUboStorage::color_edit_mesh_middle, GlobalsUboStorage::color_empty, GlobalsUboStorage::color_face, GlobalsUboStorage::color_face_back, GlobalsUboStorage::color_face_freestyle, GlobalsUboStorage::color_face_front, GlobalsUboStorage::color_face_mode_select, GlobalsUboStorage::color_face_retopology, GlobalsUboStorage::color_face_select, GlobalsUboStorage::color_facedot, GlobalsUboStorage::color_gpencil_vertex, GlobalsUboStorage::color_gpencil_vertex_select, GlobalsUboStorage::color_grid, GlobalsUboStorage::color_grid_axis_x, GlobalsUboStorage::color_grid_axis_y, GlobalsUboStorage::color_grid_axis_z, GlobalsUboStorage::color_grid_emphasis, GlobalsUboStorage::color_handle_align, GlobalsUboStorage::color_handle_auto, GlobalsUboStorage::color_handle_autoclamp, GlobalsUboStorage::color_handle_free, GlobalsUboStorage::color_handle_sel_align, GlobalsUboStorage::color_handle_sel_auto, GlobalsUboStorage::color_handle_sel_autoclamp, GlobalsUboStorage::color_handle_sel_free, GlobalsUboStorage::color_handle_sel_vect, GlobalsUboStorage::color_handle_vect, GlobalsUboStorage::color_library, GlobalsUboStorage::color_library_select, GlobalsUboStorage::color_light, GlobalsUboStorage::color_light_no_alpha, GlobalsUboStorage::color_lnormal, GlobalsUboStorage::color_mball_radius, GlobalsUboStorage::color_mball_radius_select, GlobalsUboStorage::color_mball_stiffness, GlobalsUboStorage::color_mball_stiffness_select, GlobalsUboStorage::color_normal, GlobalsUboStorage::color_nurb_sel_uline, GlobalsUboStorage::color_nurb_sel_vline, GlobalsUboStorage::color_nurb_uline, GlobalsUboStorage::color_nurb_vline, GlobalsUboStorage::color_outline, GlobalsUboStorage::color_select, GlobalsUboStorage::color_skinroot, GlobalsUboStorage::color_speaker, GlobalsUboStorage::color_text, GlobalsUboStorage::color_text_hi, GlobalsUboStorage::color_transform, GlobalsUboStorage::color_uv_shadow, GlobalsUboStorage::color_vertex, GlobalsUboStorage::color_vertex_missing_data, GlobalsUboStorage::color_vertex_select, GlobalsUboStorage::color_vertex_unreferenced, GlobalsUboStorage::color_vnormal, GlobalsUboStorage::color_wire, GlobalsUboStorage::color_wire_edit, copy_v2_v2(), copy_v3_fl(), copy_v4_fl4(), ColorBand::data, dot_v3v3(), DRW_context_state_get(), DRW_create_weight_colorramp_texture(), DRW_TEXTURE_FREE_SAFE, DRW_viewport_pixelsize_get(), DRW_viewport_size_get(), float, GlobalsUboStorage::fresnel_mix_edit, CBData::g, G_draw, GPU_RGBA8, GPU_texture_create_1d(), GPU_TEXTURE_USAGE_SHADER_READ, GPU_uniformbuf_create_ex(), GPU_uniformbuf_update(), interp_v4_v4v4(), invert_v2(), M_SQRT1_2, M_SQRT2, max_ff(), MEM_freeN(), GlobalsUboStorage::pixel_fac, CBData::pos, CBData::r, DRW_Global::ramp, DRWContextState::rv3d, RV3D_BOXCLIP, RV3D_LOCK_FLAGS, GlobalsUboStorage::size_checker, GlobalsUboStorage::size_edge, GlobalsUboStorage::size_edge_fix, GlobalsUboStorage::size_face_dot, GlobalsUboStorage::size_light_center, GlobalsUboStorage::size_light_circle, GlobalsUboStorage::size_light_circle_shadow, GlobalsUboStorage::size_object_center, GlobalsUboStorage::size_pixel, GlobalsUboStorage::size_vertex, GlobalsUboStorage::size_vertex_gpencil, GlobalsUboStorage::size_viewport, srgb_to_linearrgb_v4(), TH_ACTIVE, TH_ACTIVE_SPLINE, TH_AXIS_X, TH_AXIS_Y, TH_AXIS_Z, TH_BACK, TH_BACK_GRAD, TH_BONE_LOCKED_WEIGHT, TH_BONE_POSE, TH_BONE_POSE_ACTIVE, TH_BONE_SOLID, TH_CAMERA, TH_CAMERA_PATH, TH_CFRAME, TH_EDGE_BEVEL, TH_EDGE_CREASE, TH_EDGE_FACESEL, TH_EDGE_MODE_SELECT, TH_EDGE_SEAM, TH_EDGE_SELECT, TH_EDGE_SHARP, TH_EDGE_WIDTH, TH_EDITMESH_ACTIVE, TH_EMPTY, TH_FACE, TH_FACE_BACK, TH_FACE_DOT, TH_FACE_FRONT, TH_FACE_MODE_SELECT, TH_FACE_RETOPOLOGY, TH_FACE_SELECT, TH_FACEDOT_SIZE, TH_FRAME_AFTER, TH_FRAME_BEFORE, TH_FREESTYLE_EDGE_MARK, TH_FREESTYLE_FACE_MARK, TH_GP_VERTEX, TH_GP_VERTEX_SELECT, TH_GP_VERTEX_SIZE, TH_GRID, TH_HANDLE_ALIGN, TH_HANDLE_AUTO, TH_HANDLE_AUTOCLAMP, TH_HANDLE_FREE, TH_HANDLE_SEL_ALIGN, TH_HANDLE_SEL_AUTO, TH_HANDLE_SEL_AUTOCLAMP, TH_HANDLE_SEL_FREE, TH_HANDLE_SEL_VECT, TH_HANDLE_VECT, TH_LIGHT, TH_LNORMAL, TH_NORMAL, TH_NURB_SEL_ULINE, TH_NURB_SEL_VLINE, TH_NURB_ULINE, TH_NURB_VLINE, TH_OBCENTER_DIA, TH_SELECT, TH_SKIN_ROOT, TH_SPEAKER, TH_TEXT, TH_TEXT_HI, TH_TRANSFORM, TH_TRANSPARENT_CHECKER_PRIMARY, TH_TRANSPARENT_CHECKER_SECONDARY, TH_TRANSPARENT_CHECKER_SIZE, TH_UV_SHADOW, TH_V3D_CLIPPING_BORDER, TH_VERTEX, TH_VERTEX_SELECT, TH_VERTEX_SIZE, TH_VERTEX_UNREFERENCED, TH_VNORMAL, TH_WIRE, TH_WIRE_EDIT, ColorBand::tot, UBO_LAST_COLOR, UI_COLOR_RGBA_FROM_U8, UI_GetThemeColor4fv(), UI_GetThemeColorBlendShade3fv(), UI_GetThemeColorBlendShade4fv(), UI_GetThemeColorShade4fv(), UI_GetThemeColorShadeAlpha4fv(), UI_GetThemeValuef(), USER_CUSTOM_RANGE, USER_GPU_FLAG_FRESNEL_EDIT, DRW_Global::weight_ramp, weight_ramp_copy, weight_ramp_custom, and zero_v4().

Referenced by DRW_draw_depth_loop(), DRW_draw_render_loop_2d_ex(), DRW_draw_render_loop_ex(), DRW_draw_select_id(), and DRW_draw_select_loop().

◆ DRW_object_axis_orthogonal_to_view()

bool DRW_object_axis_orthogonal_to_view ( Object * ob,
int axis )

◆ DRW_object_is_flat()

◆ DRW_object_wire_theme_get()

int DRW_object_wire_theme_get ( Object * ob,
ViewLayer * view_layer,
float ** r_color )

◆ DRW_view_create_with_zoffset()

Variable Documentation

◆ G_draw

DRW_Global G_draw {}

Colors & Constant.

Definition at line 37 of file draw_common.cc.

Referenced by basic_cache_init(), bone_locked_color_shade(), camera_stereoscopy_extra(), camera_view3d_reconstruction(), draw_axes(), ArmatureBoneDrawStrategyLine::draw_bone(), draw_points(), DRW_engines_free(), DRW_globals_update(), drw_manager_init(), DRW_object_wire_theme_get(), drw_shgroup_bone_ik_lines(), drw_shgroup_bone_ik_no_target_lines(), drw_shgroup_bone_ik_spline_lines(), drw_shgroup_bone_relationship_lines(), drw_shgroup_init(), drw_update_view(), edit_text_cache_populate_boxes(), get_bone_hint_color(), get_bone_solid_color(), get_bone_solid_with_consts_color(), get_bone_wire_color(), get_pchan_color_constraint(), get_pchan_color_solid(), get_pchan_color_wire(), blender::draw::overlay::Instance::init(), blender::workbench::SceneResources::init(), OVERLAY_antialiasing_cache_init(), OVERLAY_antialiasing_init(), OVERLAY_armature_cache_init(), OVERLAY_background_cache_init(), OVERLAY_edit_curve_cache_init(), OVERLAY_edit_curves_cache_init(), OVERLAY_edit_gpencil_legacy_cache_init(), OVERLAY_edit_grease_pencil_cache_init(), OVERLAY_edit_lattice_cache_init(), OVERLAY_edit_mesh_cache_init(), OVERLAY_edit_metaball_cache_populate(), OVERLAY_edit_particle_cache_init(), OVERLAY_edit_text_cache_init(), OVERLAY_edit_uv_cache_init(), OVERLAY_extra_cache_init(), OVERLAY_facing_cache_init(), OVERLAY_gpencil_legacy_cache_init(), OVERLAY_grease_pencil_cache_init(), OVERLAY_grid_cache_init(), OVERLAY_metaball_cache_init(), OVERLAY_mode_transfer_cache_populate(), OVERLAY_motion_path_cache_init(), OVERLAY_outline_cache_init(), OVERLAY_paint_cache_init(), OVERLAY_particle_cache_init(), OVERLAY_relationship_lines(), OVERLAY_wireframe_cache_init(), and select_cache_init().

◆ weight_ramp_copy

ColorBand weight_ramp_copy
static

Definition at line 40 of file draw_common.cc.

Referenced by DRW_globals_update().

◆ weight_ramp_custom

bool weight_ramp_custom = false
static

Definition at line 39 of file draw_common.cc.

Referenced by DRW_globals_update().