Blender  V3.3
Macros | Functions | Variables
draw_common.c File Reference
#include "DRW_render.h"
#include "GPU_matrix.h"
#include "GPU_shader.h"
#include "GPU_texture.h"
#include "UI_resources.h"
#include "BKE_colorband.h"
#include "BKE_global.h"
#include "BKE_object.h"
#include "draw_common.h"

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 struct GPUTextureDRW_create_weight_colorramp_texture (void)
 
void DRW_globals_update (void)
 
void DRW_globals_free (void)
 
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

struct DRW_Global G_draw = {{{0}}}
 
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 26 of file draw_common.c.

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 ( void  )
static

Definition at line 477 of file draw_common.c.

References DRW_evaluate_weight_to_color(), GPU_SRGB8_A8, and GPU_texture_create_1d().

Referenced by DRW_globals_update().

◆ 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 ( void  )

Definition at line 251 of file draw_common.c.

Referenced by DRW_engines_free().

◆ DRW_globals_update()

void DRW_globals_update ( void  )

Definition at line 39 of file draw_common.c.

References CBData::a, CBData::b, BKE_colorband_evaluate_table_rgba(), DRW_Global::block, DRW_Global::block_ubo, color, GlobalsUboStorage::color_active, GlobalsUboStorage::color_active_spline, GlobalsUboStorage::color_background, GlobalsUboStorage::color_background_gradient, 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_spline_ik, GlobalsUboStorage::color_bone_pose_target, 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_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_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_v3_v3(), copy_v4_fl4(), ColorBand::data, dot_v3v3(), DRW_create_weight_colorramp_texture(), DRW_TEXTURE_FREE_SAFE, DRW_viewport_pixelsize_get(), DRW_viewport_screenvecs_get(), DRW_viewport_size_get(), float(), CBData::g, G_draw, GPU_RGBA8, GPU_texture_create_1d(), GPU_uniformbuf_create_ex(), GPU_uniformbuf_update(), interp_v4_v4v4(), invert_v2(), M_SQRT1_2, M_SQRT2, max_ff(), MEM_freeN, NULL, GlobalsUboStorage::pixel_fac, CBData::pos, CBData::r, DRW_Global::ramp, GlobalsUboStorage::screen_vecs, 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_SEAM, TH_EDGE_SELECT, TH_EDGE_SHARP, TH_EDITMESH_ACTIVE, TH_EMPTY, TH_FACE, TH_FACE_BACK, TH_FACE_DOT, TH_FACE_FRONT, TH_FACE_SELECT, TH_FACEDOT_SIZE, 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, 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()

bool DRW_object_is_flat ( Object ob,
int *  r_axis 
)

◆ DRW_object_wire_theme_get()

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

◆ DRW_view_create_with_zoffset()

DRWView* DRW_view_create_with_zoffset ( const DRWView parent_view,
const RegionView3D rv3d,
float  offset 
)

Variable Documentation

◆ G_draw

struct DRW_Global G_draw = {{{0}}}

Colors & Constant.

Definition at line 1 of file draw_common.c.

Referenced by bone_locked_color_shade(), camera_stereoscopy_extra(), camera_view3d_reconstruction(), draw_axes(), draw_bone_line(), 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(), 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_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_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(), select_cache_init(), set_pchan_color(), and workbench_update_world_ubo().

◆ weight_ramp_copy

ColorBand weight_ramp_copy
static

Definition at line 35 of file draw_common.c.

Referenced by DRW_globals_update().

◆ weight_ramp_custom

bool weight_ramp_custom = false
static

Definition at line 34 of file draw_common.c.

Referenced by DRW_globals_update().