Blender V4.3
draw_common_c.hh File Reference

Go to the source code of this file.

Classes

struct  DRW_Global
 

Namespaces

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

Functions

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)
 
DRWShadingGroupDRW_shgroup_hair_create_sub (Object *object, ParticleSystem *psys, ModifierData *md, DRWShadingGroup *shgrp, GPUMaterial *gpu_material)
 
blender::gpu::VertBufDRW_hair_pos_buffer_get (Object *object, ParticleSystem *psys, ModifierData *md)
 
void DRW_hair_duplimat_get (Object *object, ParticleSystem *psys, ModifierData *md, float(*dupli_mat)[4])
 
void DRW_hair_init ()
 
void DRW_hair_update ()
 
void DRW_hair_free ()
 
gpu::VertBufblender::draw::DRW_curves_pos_buffer_get (Object *object)
 
DRWShadingGroupblender::draw::DRW_shgroup_curves_create_sub (Object *object, DRWShadingGroup *shgrp, GPUMaterial *gpu_material)
 
void blender::draw::DRW_curves_init (DRWData *drw_data)
 
void blender::draw::DRW_curves_ubos_pool_free (CurvesUniformBufPool *pool)
 
void blender::draw::DRW_curves_update ()
 
void blender::draw::DRW_curves_free ()
 
DRWShadingGroupblender::draw::DRW_shgroup_pointcloud_create_sub (Object *object, DRWShadingGroup *shgrp_parent, GPUMaterial *gpu_material)
 
void blender::draw::DRW_pointcloud_init ()
 
void blender::draw::DRW_pointcloud_free ()
 
DRWShadingGroupDRW_shgroup_volume_create_sub (Scene *scene, Object *ob, DRWShadingGroup *shgrp, GPUMaterial *gpu_material)
 
void DRW_volume_init (DRWData *drw_data)
 
void DRW_volume_ubos_pool_free (void *pool)
 
void DRW_volume_free ()
 
void DRW_smoke_ensure (FluidModifierData *fmd, int highres)
 
void DRW_smoke_ensure_coba_field (FluidModifierData *fmd)
 
void DRW_smoke_ensure_velocity (FluidModifierData *fmd)
 
void DRW_fluid_ensure_flags (FluidModifierData *fmd)
 
void DRW_fluid_ensure_range_field (FluidModifierData *fmd)
 
void DRW_smoke_free (FluidModifierData *fmd)
 
void DRW_smoke_init (DRWData *drw_data)
 
void DRW_smoke_exit (DRWData *drw_data)
 

Variables

DRW_Global G_draw
 

Function Documentation

◆ DRW_color_background_blend_get()

float * DRW_color_background_blend_get ( int theme_id)

◆ DRW_fluid_ensure_flags()

◆ DRW_fluid_ensure_range_field()

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

◆ DRW_hair_free()

void DRW_hair_free ( )

Definition at line 259 of file draw_hair.cc.

References g_dummy_curves_info, g_dummy_vbo, and GPU_VERTBUF_DISCARD_SAFE.

Referenced by blender::draw::DRW_curves_free().

◆ DRW_hair_init()

void DRW_hair_init ( )

◆ DRW_hair_pos_buffer_get()

◆ DRW_hair_update()

void DRW_hair_update ( )

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

◆ DRW_shgroup_volume_create_sub()

DRWShadingGroup * DRW_shgroup_volume_create_sub ( Scene * scene,
Object * ob,
DRWShadingGroup * shgrp,
GPUMaterial * gpu_material )

Add attributes bindings of volume grids to an existing shading group. No draw call is added so the caller can decide how to use the data.

Returns
nullptr if there is nothing to draw.

Definition at line 261 of file draw_volume.cc.

References drw_volume_object_grids_init(), drw_volume_object_mesh_init(), drw_volume_world_grids_init(), GPU_material_attributes(), OB_VOLUME, and Object::type.

◆ DRW_smoke_ensure()

◆ DRW_smoke_ensure_coba_field()

◆ DRW_smoke_ensure_velocity()

◆ DRW_smoke_exit()

◆ DRW_smoke_free()

void DRW_smoke_free ( FluidModifierData * fmd)

◆ DRW_smoke_init()

◆ DRW_view_create_with_zoffset()

◆ DRW_volume_free()

void DRW_volume_free ( )

Definition at line 83 of file draw_volume.cc.

References g_data, and GPU_TEXTURE_FREE_SAFE.

Referenced by DRW_engines_free().

◆ DRW_volume_init()

◆ DRW_volume_ubos_pool_free()

void DRW_volume_ubos_pool_free ( void * pool)

Definition at line 66 of file draw_volume.cc.

Referenced by DRW_viewport_data_free().

Variable Documentation

◆ G_draw

DRW_Global G_draw
extern

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().