Blender  V3.3
Functions | Variables
gpu_immediate.cc File Reference
#include "UI_resources.h"
#include "GPU_immediate.h"
#include "GPU_matrix.h"
#include "GPU_texture.h"
#include "gpu_context_private.hh"
#include "gpu_immediate_private.hh"
#include "gpu_shader_private.hh"
#include "gpu_vertex_format_private.h"

Go to the source code of this file.

Functions

void immActivate ()
 
void immDeactivate ()
 
GPUVertFormatimmVertexFormat ()
 
void immBindShader (GPUShader *shader)
 
void immBindBuiltinProgram (eGPUBuiltinShader shader_id)
 
void immUnbindProgram ()
 
GPUShaderimmGetShader ()
 
static bool vertex_count_makes_sense_for_primitive (uint vertex_len, GPUPrimType prim_type)
 
void immBegin (GPUPrimType prim_type, uint vertex_len)
 
void immBeginAtMost (GPUPrimType prim_type, uint vertex_len)
 
GPUBatchimmBeginBatch (GPUPrimType prim_type, uint vertex_len)
 
GPUBatchimmBeginBatchAtMost (GPUPrimType prim_type, uint vertex_len)
 
void immEnd ()
 
static void setAttrValueBit (uint attr_id)
 
void immAttr1f (uint attr_id, float x)
 
void immAttr2f (uint attr_id, float x, float y)
 
void immAttr3f (uint attr_id, float x, float y, float z)
 
void immAttr4f (uint attr_id, float x, float y, float z, float w)
 
void immAttr1u (uint attr_id, uint x)
 
void immAttr2i (uint attr_id, int x, int y)
 
void immAttr2s (uint attr_id, short x, short y)
 
void immAttr2fv (uint attr_id, const float data[2])
 
void immAttr3fv (uint attr_id, const float data[3])
 
void immAttr4fv (uint attr_id, const float data[4])
 
void immAttr3ub (uint attr_id, uchar r, uchar g, uchar b)
 
void immAttr4ub (uint attr_id, uchar r, uchar g, uchar b, uchar a)
 
void immAttr3ubv (uint attr_id, const uchar data[3])
 
void immAttr4ubv (uint attr_id, const uchar data[4])
 
void immAttrSkip (uint attr_id)
 
static void immEndVertex ()
 
void immVertex2f (uint attr_id, float x, float y)
 
void immVertex3f (uint attr_id, float x, float y, float z)
 
void immVertex4f (uint attr_id, float x, float y, float z, float w)
 
void immVertex2i (uint attr_id, int x, int y)
 
void immVertex2s (uint attr_id, short x, short y)
 
void immVertex2fv (uint attr_id, const float data[2])
 
void immVertex3fv (uint attr_id, const float data[3])
 
void immVertex2iv (uint attr_id, const int data[2])
 
void immUniform1f (const char *name, float x)
 
void immUniform2f (const char *name, float x, float y)
 
void immUniform2fv (const char *name, const float data[2])
 
void immUniform3f (const char *name, float x, float y, float z)
 
void immUniform3fv (const char *name, const float data[3])
 
void immUniform4f (const char *name, float x, float y, float z, float w)
 
void immUniform4fv (const char *name, const float data[4])
 
void immUniformArray4fv (const char *name, const float *data, int count)
 
void immUniformMatrix4fv (const char *name, const float data[4][4])
 
void immUniform1i (const char *name, int x)
 
void immBindTexture (const char *name, GPUTexture *tex)
 
void immBindTextureSampler (const char *name, GPUTexture *tex, eGPUSamplerState state)
 
void immBindUniformBuf (const char *name, GPUUniformBuf *ubo)
 
void immUniformColor4f (float r, float g, float b, float a)
 
void immUniformColor4fv (const float rgba[4])
 
void immUniformColor3f (float r, float g, float b)
 
void immUniformColor3fv (const float rgb[3])
 
void immUniformColor3fvAlpha (const float rgb[3], float a)
 
void immUniformColor3ub (uchar r, uchar g, uchar b)
 
void immUniformColor4ub (uchar r, uchar g, uchar b, uchar a)
 
void immUniformColor3ubv (const uchar rgb[3])
 
void immUniformColor3ubvAlpha (const uchar rgb[3], uchar alpha)
 
void immUniformColor4ubv (const uchar rgba[4])
 
void immUniformThemeColor (int color_id)
 
void immUniformThemeColorAlpha (int color_id, float a)
 
void immUniformThemeColor3 (int color_id)
 
void immUniformThemeColorShade (int color_id, int offset)
 
void immUniformThemeColorShadeAlpha (int color_id, int color_offset, int alpha_offset)
 
void immUniformThemeColorBlendShade (int color_id1, int color_id2, float fac, int offset)
 
void immUniformThemeColorBlend (int color_id1, int color_id2, float fac)
 
void immThemeColorShadeAlpha (int colorid, int coloffset, int alphaoffset)
 
Wide line workaround

Some systems do not support wide lines. We workaround this by using specialized shaders.

static void wide_line_workaround_start (GPUPrimType prim_type)
 
static void wide_line_workaround_end ()
 

Variables

static thread_local Immediateimm = nullptr
 

Detailed Description

Mimics old style opengl immediate mode drawing.

Definition in file gpu_immediate.cc.

Function Documentation

◆ immActivate()

void immActivate ( )

◆ immAttr1f()

void immAttr1f ( uint  attr_id,
float  x 
)

◆ immAttr1u()

void immAttr1u ( uint  attr_id,
uint  x 
)

◆ immAttr2f()

void immAttr2f ( uint  attr_id,
float  x,
float  y 
)

◆ immAttr2fv()

void immAttr2fv ( uint  attr_id,
const float  data[2] 
)

Definition at line 404 of file gpu_immediate.cc.

References attr_id, data, and immAttr2f().

◆ immAttr2i()

void immAttr2i ( uint  attr_id,
int  x,
int  y 
)

◆ immAttr2s()

void immAttr2s ( uint  attr_id,
short  x,
short  y 
)

◆ immAttr3f()

void immAttr3f ( uint  attr_id,
float  x,
float  y,
float  z 
)

◆ immAttr3fv()

void immAttr3fv ( uint  attr_id,
const float  data[3] 
)

◆ immAttr3ub()

void immAttr3ub ( uint  attr_id,
uchar  r,
uchar  g,
uchar  b 
)

◆ immAttr3ubv()

void immAttr3ubv ( uint  attr_id,
const uchar  data[3] 
)

Definition at line 456 of file gpu_immediate.cc.

References attr_id, data, and immAttr3ub().

Referenced by draw_dividers(), ui_draw_but_TAB_outline(), and UI_view2d_multi_grid_draw().

◆ immAttr4f()

void immAttr4f ( uint  attr_id,
float  x,
float  y,
float  z,
float  w 
)

◆ immAttr4fv()

void immAttr4fv ( uint  attr_id,
const float  data[4] 
)

◆ immAttr4ub()

void immAttr4ub ( uint  attr_id,
uchar  r,
uchar  g,
uchar  b,
uchar  a 
)

◆ immAttr4ubv()

void immAttr4ubv ( uint  attr_id,
const uchar  data[4] 
)

◆ immAttrSkip()

void immAttrSkip ( uint  attr_id)

◆ immBegin()

void immBegin ( GPUPrimType  prim_type,
uint  vertex_len 
)

Must supply exactly vertex_len vertices.

Definition at line 193 of file gpu_immediate.cc.

References blender::gpu::Immediate::begin(), BLI_assert, blender::gpu::Immediate::enabled_attr_bits, GPU_PRIM_NONE, imm, blender::gpu::Immediate::prim_type, blender::gpu::Immediate::unassigned_attr_bits, vertex_count_makes_sense_for_primitive(), blender::gpu::Immediate::vertex_data, blender::gpu::Immediate::vertex_idx, blender::gpu::Immediate::vertex_len, and wide_line_workaround_start().

Referenced by ANIM_channel_draw(), ANIM_draw_action_framerange(), ANIM_draw_cfra(), ANIM_draw_framerange(), annotation_draw_stabilizer(), annotation_draw_stroke_2d(), annotation_draw_stroke_buffer(), annotation_draw_stroke_point(), arrow_draw_geom(), button2d_draw_intern(), cage2d_draw_box_corners(), cage2d_draw_box_interaction(), cage2d_draw_circle_wire(), cage3d_draw_circle_wire(), clip_draw_dopesheet_main(), clip_draw_sfra_efra(), curve_draw_stroke_3d(), dial_ghostarc_draw_helpline(), dial_ghostarc_draw_incremental_angle(), draw_anti_tria(), draw_azone_arrow(), draw_bezier_handle_lines(), draw_channel_strips(), draw_color_strip_band(), draw_columnheader_columns(), draw_disk_shaded(), draw_display_buffer(), draw_distortion(), draw_dividers(), draw_fcurve_active_vertex(), draw_fcurve_curve(), draw_fcurve_curve_samples(), draw_fcurve_modifier_controls_envelope(), draw_fcurve_sample_control(), draw_image_sample_line(), draw_keyframe(), draw_marker_areas(), draw_marker_line(), draw_marker_outline(), draw_marker_slide_triangle(), draw_marker_slide_zones(), draw_mouse_position(), draw_overlap_frame_indicator(), draw_overshoot_triangle(), draw_parallel_lines(), draw_plane_marker_ex(), draw_plane_marker_image(), draw_seq_background(), draw_single_handle(), draw_spline_points(), draw_track_path_lines(), draw_track_path_points(), draw_tracking_tracks(), draw_tri_point(), draw_view_axis(), draw_waveform_segment(), drawArrow(), drawConstraint(), drawEdgeSlide(), drawFlyPixel(), drawLine(), drawVertSlide(), drawviewborder(), drawviewborder_grid3(), drawviewborder_triangle(), drawWalkPixel(), drw_debug_draw_lines(), DRW_draw_cursor(), dyntopo_detail_size_edit_draw(), dyntopo_detail_size_parallel_lines_draw(), ED_image_draw_cursor(), ED_keylist_draw_list_draw_keys(), ED_mask_draw_frames(), ED_node_draw_snap(), ED_node_socket_draw(), ED_region_draw_mouse_line_cb(), ED_region_grid_draw(), ED_view3d_cursor_snap_draw_util(), EDBM_preselect_edgering_draw(), EDBM_preselect_elem_draw(), gizmo_axis_draw(), gizmo_ruler_draw(), gpencil_brush_cursor_draw(), gpencil_draw_stroke_volumetric_3d(), GPU_viewport_stereo_composite(), blender::ed::sculpt_paint::image::ops::paint::gradient_draw_line(), graph_draw_driver_debug(), graph_main_region_draw(), histogram_draw_one(), imm_draw_box_wire_2d(), imm_draw_box_wire_3d(), imm_draw_circle(), imm_draw_circle_3D(), imm_draw_circle_partial(), imm_draw_circle_partial_3d(), imm_draw_cube_corners_3d(), imm_draw_cube_fill_3d(), imm_draw_cube_wire_3d(), imm_draw_cylinder_fill_3d(), imm_draw_cylinder_fill_normal_3d(), imm_draw_cylinder_wire_3d(), imm_draw_disk_partial(), imm_draw_disk_partial_3d(), imm_draw_point_aspect_2d(), imm_drawcircball(), immBeginAtMost(), immDrawBorderCorners(), immDrawPixelsTexScaledFullSize(), immDrawPixelsTexTiled_scaling_clipping(), immRectf(), immRecti(), knifetool_draw(), knifetool_draw_angle(), knifetool_draw_angle_snapping(), knifetool_draw_orientation_locking(), mask_draw_array(), blender::ed::sculpt_paint::min_distance_edit::min_distance_edit_draw(), move_geom_draw(), nla_action_draw_keyframes(), nla_draw_strip_curves(), blender::ed::space_node::node_composit_backdrop_boxmask(), blender::ed::space_node::node_composit_backdrop_ellipsemask(), blender::ed::space_node::node_composit_backdrop_viewer(), blender::ed::space_node::node_draw_hidden(), blender::ed::space_node::node_draw_sockets(), outliner_back(), outliner_draw_hierarchy_line(), outliner_draw_separator(), outliner_draw_struct_marks(), paint_cursor_pose_brush_segments_draw(), paint_draw_cursor_overlay(), paint_draw_curve_cursor(), paint_draw_line_cursor(), paint_draw_smooth_cursor(), paint_draw_tex_overlay(), playanim_toscreen(), radial_control_paint_cursor(), radial_control_paint_curve(), radial_control_paint_tex(), screen_draw_split_preview(), screen_preview_draw_areas(), SCULPT_boundary_edges_preview_draw(), SCULPT_boundary_pivot_line_preview_draw(), SCULPT_cloth_plane_falloff_preview_draw(), sculpt_geometry_preview_lines_draw(), SCULPT_multiplane_scrape_preview_draw(), seq_draw_image_origin_and_outline(), seq_draw_sfra_efra(), sequencer_draw_display_buffer(), transform_draw_cursor_draw(), UI_draw_box_shadow(), ui_draw_but_COLORBAND(), ui_draw_but_CURVE(), ui_draw_but_curve_grid(), ui_draw_but_CURVEPROFILE(), ui_draw_but_HISTOGRAM(), ui_draw_but_HSVCIRCLE(), ui_draw_colorband_handle(), ui_draw_colorband_handle_box(), ui_draw_colorband_handle_tri(), ui_draw_colorband_handle_tri_hlight(), ui_draw_gradient(), ui_draw_popover_back_impl(), ui_draw_separator(), UI_view2d_dot_grid_draw(), vectorscope_draw_target(), vicon_keytype_draw_wrapper(), voxel_size_edit_draw(), voxel_size_parallel_lines_draw(), widget_draw_vertex_buffer(), widget_swatch(), wm_gesture_draw_cross(), wm_gesture_draw_lasso(), wm_gesture_draw_line(), wm_gesture_draw_line_active_side(), wm_gizmo_vec_draw(), wm_software_cursor_draw_bitmap(), wm_stereo3d_draw_sidebyside(), wm_stereo3d_draw_topbottom(), wm_xr_controller_aim_draw(), and wm_xr_raycast_draw().

◆ immBeginAtMost()

void immBeginAtMost ( GPUPrimType  prim_type,
uint  max_vertex_len 
)

◆ immBeginBatch()

GPUBatch* immBeginBatch ( GPUPrimType  prim_type,
uint  vertex_len 
)

◆ immBeginBatchAtMost()

GPUBatch* immBeginBatchAtMost ( GPUPrimType  prim_type,
uint  vertex_len 
)

Definition at line 236 of file gpu_immediate.cc.

References BLI_assert, imm, immBeginBatch(), and blender::gpu::Immediate::strict_vertex_len.

Referenced by knifetool_draw().

◆ immBindBuiltinProgram()

void immBindBuiltinProgram ( eGPUBuiltinShader  shader_id)

Extend immBindShader to use Blender’s library of built-in shader programs. Use immUnbindProgram() when done.

Definition at line 60 of file gpu_immediate.cc.

References blender::gpu::Immediate::builtin_shader_bound, GPU_shader_get_builtin_shader(), imm, and immBindShader().

Referenced by acf_generic_channel_backdrop(), acf_generic_dataexpand_backdrop(), ANIM_channel_draw(), ANIM_draw_action_framerange(), ANIM_draw_cfra(), ANIM_draw_framerange(), ANIM_draw_previewrange(), annotation_draw_eraser(), annotation_draw_stabilizer(), annotation_draw_stroke_2d(), annotation_draw_stroke_3d(), annotation_draw_stroke_buffer(), annotation_draw_stroke_point(), arrow_draw_geom(), brush_drawcursor(), button2d_draw_intern(), button2d_geom_draw_backdrop(), cage2d_draw_box_corners(), cage2d_draw_box_interaction(), cage2d_draw_circle_handles(), cage2d_draw_circle_wire(), cage3d_draw_box_corners(), cage3d_draw_box_interaction(), cage3d_draw_circle_handles(), cage3d_draw_circle_wire(), clip_draw_dopesheet_channels(), clip_draw_dopesheet_main(), clip_draw_graph(), clip_draw_sfra_efra(), console_textview_draw_cursor(), cursor_box_draw(), curve_draw_stroke_3d(), dial_geom_draw(), dial_ghostarc_draw(), dial_ghostarc_draw_helpline(), dial_ghostarc_draw_incremental_angle(), draw_anti_tria(), draw_azone_arrow(), draw_background(), draw_cache_view(), draw_channel_strips(), draw_columnheader_background(), draw_columnheader_columns(), draw_current_frame(), draw_disk_shaded(), draw_display_buffer(), draw_distortion(), draw_dividers(), draw_effect_inputs_highlight(), draw_fcurve(), draw_fcurve_handle_vertices(), draw_fcurve_handles(), draw_fcurve_keyframe_vertices(), draw_fcurve_modifier_controls_envelope(), draw_fcurve_samples(), draw_image_cache(), draw_image_sample_line(), draw_marker_areas(), draw_marker_line(), draw_markers_background(), draw_mouse_position(), draw_movieclip_cache(), draw_movieclip_muted(), draw_nla_main_data(), blender::ed::space_node::draw_nodespace_back_pix(), draw_overlap_frame_indicator(), draw_overshoot_triangle(), draw_parallel_lines(), draw_plane_marker_ex(), draw_plane_marker_image(), draw_render_info(), draw_seq_in_view(), draw_seq_invalid(), draw_seq_locked(), draw_seq_strip(), draw_seq_strips(), draw_seq_timeline_channels(), draw_single_handle(), draw_spline_points(), blender::ed::spreadsheet::draw_spreadsheet_in_region(), draw_stabilization_border(), draw_track_path(), draw_tracking_tracks(), draw_view_axis(), draw_waveform_segment(), drawConstraint(), drawEdgeSlide(), drawFlyPixel(), drawLine(), drawmeta_contents(), drawPropCircle(), drawrenderborder(), drawSnapping(), drawVertSlide(), drawviewborder(), drawWalkPixel(), drw_debug_draw_lines(), DRW_draw_cursor(), dyntopo_detail_size_edit_draw(), ED_gpencil_brush_draw_eraser(), ED_image_draw_cursor(), ED_image_draw_info(), ED_imbuf_sample_draw(), ED_keylist_draw_list_draw_keys(), ED_mask_draw_frames(), ED_node_socket_draw(), ED_region_cache_draw_background(), ED_region_cache_draw_cached_segments(), ED_region_cache_draw_curfra_label(), ED_region_do_draw(), ED_region_draw_mouse_line_cb(), ED_region_grid_draw(), ED_region_image_metadata_draw(), ED_region_info_draw_multiline(), ED_time_scrub_channel_search_draw(), ED_view3d_cursor_snap_draw_util(), EDBM_preselect_edgering_draw(), EDBM_preselect_elem_draw(), file_draw_preview(), gizmo_axis_draw(), gizmo_cage2d_draw_intern(), gizmo_cage3d_draw_intern(), gizmo_primitive_draw_geom(), gizmo_ruler_draw(), gpencil_brush_cursor_draw(), gpencil_draw_basic_stroke(), gpencil_draw_eraser(), gpencil_draw_stroke_3d(), gpencil_draw_stroke_volumetric_3d(), GPU_viewport_stereo_composite(), blender::ed::sculpt_paint::image::ops::paint::gradient_draw_line(), graph_draw_driver_debug(), graph_draw_ghost_curves(), graph_main_region_draw(), imm_draw_box_checker_2d_ex(), immDrawPixelsTexSetup(), knifetool_draw(), knifetool_draw_angle(), knifetool_draw_angle_snapping(), knifetool_draw_orientation_locking(), knifetool_draw_visible_distances(), mask_draw_curve_type(), blender::ed::sculpt_paint::min_distance_edit::min_distance_edit_draw(), move_geom_draw(), nla_action_draw_keyframes(), nla_actionclip_draw_markers(), nla_draw_strip(), nla_draw_use_dashed_outlines(), blender::ed::space_node::node_composit_backdrop_boxmask(), blender::ed::space_node::node_composit_backdrop_ellipsemask(), blender::ed::space_node::node_composit_backdrop_viewer(), blender::ed::space_node::node_draw_hidden(), blender::ed::space_node::node_draw_preview(), blender::ed::space_node::node_draw_preview_background(), blender::ed::space_node::node_draw_sockets(), outliner_back(), outliner_draw_hierarchy_lines(), outliner_draw_highlights(), outliner_draw_separator(), outliner_draw_struct_marks(), paint_cursor_setup_2D_drawing(), paint_cursor_setup_3D_drawing(), paint_draw_cursor_overlay(), paint_draw_curve_cursor(), paint_draw_line_cursor(), paint_draw_smooth_cursor(), paint_draw_tex_overlay(), panel_draw_aligned_backdrop(), playanim_toscreen(), radial_control_paint_cursor(), radial_control_paint_tex(), region_draw_emboss(), screen_draw_join_highlight(), screen_draw_split_preview(), screen_preview_draw_areas(), seq_draw_image_origin_and_outline(), seq_draw_sfra_efra(), sequencer_draw_borders_overlay(), sequencer_draw_display_buffer(), textview_draw_sel(), textview_draw_string(), timeline_draw_cache(), transform_draw_cursor_draw(), UI_draw_box_shadow(), ui_draw_but_COLORBAND(), ui_draw_but_CURVE(), ui_draw_but_CURVEPROFILE(), ui_draw_but_HISTOGRAM(), ui_draw_but_HSVCIRCLE(), ui_draw_but_HSVCUBE(), ui_draw_but_TAB_outline(), ui_draw_but_UNITVEC(), ui_draw_colorband_handle(), ui_draw_gradient(), ui_draw_pie_center(), ui_draw_popover_back_impl(), ui_draw_separator(), UI_draw_text_underline(), ui_hsv_cursor(), UI_panel_category_draw_all(), UI_view2d_dot_grid_draw(), UI_view2d_multi_grid_draw(), v3d_cursor_plane_draw_grid(), vicon_colorset_draw(), vicon_gplayer_color_draw(), vicon_keytype_draw_wrapper(), voxel_size_edit_draw(), wide_line_workaround_end(), wide_line_workaround_start(), widget_draw_extra_mask(), widget_draw_text(), widget_softshadow(), widget_swatch(), wm_gesture_draw_circle(), wm_gesture_draw_cross(), wm_gesture_draw_lasso(), wm_gesture_draw_line(), wm_gesture_draw_line_active_side(), wm_gesture_draw_rect(), wm_software_cursor_draw_bitmap(), wm_software_cursor_draw_crosshair(), wm_stereo3d_draw_sidebyside(), wm_stereo3d_draw_topbottom(), wm_xr_controller_aim_draw(), and wm_xr_raycast_draw().

◆ immBindShader()

void immBindShader ( GPUShader shader)

◆ immBindTexture()

void immBindTexture ( const char *  name,
GPUTexture tex 
)

◆ immBindTextureSampler()

void immBindTextureSampler ( const char *  name,
GPUTexture tex,
eGPUSamplerState  state 
)

◆ immBindUniformBuf()

void immBindUniformBuf ( const char *  name,
GPUUniformBuf ubo 
)

◆ immDeactivate()

void immDeactivate ( )

Definition at line 32 of file gpu_immediate.cc.

References imm.

Referenced by blender::gpu::GLContext::deactivate(), and loggerwindow_do_draw().

◆ immEnd()

void immEnd ( void  )

Definition at line 243 of file gpu_immediate.cc.

References blender::gpu::Immediate::batch, BLI_assert, blender::gpu::Immediate::end(), GPU_BATCH_BUILDING, GPU_batch_set_shader(), GPU_PRIM_NONE, GPU_vertbuf_data_resize(), imm, blender::gpu::Immediate::prim_type, blender::gpu::Immediate::shader, blender::gpu::Immediate::strict_vertex_len, vertex_count_makes_sense_for_primitive(), blender::gpu::Immediate::vertex_data, blender::gpu::Immediate::vertex_idx, blender::gpu::Immediate::vertex_len, and wide_line_workaround_end().

Referenced by ANIM_channel_draw(), ANIM_draw_action_framerange(), ANIM_draw_cfra(), ANIM_draw_framerange(), annotation_draw_stabilizer(), annotation_draw_stroke_2d(), annotation_draw_stroke_3d(), annotation_draw_stroke_arrow_buffer(), annotation_draw_stroke_buffer(), annotation_draw_stroke_point(), arrow_draw_geom(), button2d_draw_intern(), cage2d_draw_box_corners(), cage2d_draw_box_interaction(), cage2d_draw_circle_wire(), cage3d_draw_circle_wire(), clip_draw_dopesheet_main(), clip_draw_sfra_efra(), curve_draw_stroke_3d(), dial_ghostarc_draw_helpline(), dial_ghostarc_draw_incremental_angle(), draw_anti_tria(), draw_azone_arrow(), draw_bezier_handle_lines(), draw_channel_strips(), draw_color_strip_band(), draw_columnheader_columns(), draw_disk_shaded(), draw_display_buffer(), draw_distortion(), draw_dividers(), draw_fcurve_active_handle_vertices(), draw_fcurve_active_vertex(), draw_fcurve_curve(), draw_fcurve_curve_bezts(), draw_fcurve_curve_samples(), draw_fcurve_handles(), draw_fcurve_modifier_controls_envelope(), draw_fcurve_sample_control(), draw_fcurve_selected_handle_vertices(), draw_fcurve_selected_keyframe_vertices(), draw_frame_curves(), draw_image_sample_line(), draw_keyframe(), draw_marker_areas(), draw_marker_line(), draw_marker_outline(), draw_marker_slide_triangle(), draw_marker_slide_zones(), draw_mouse_position(), draw_overlap_frame_indicator(), draw_overshoot_triangle(), draw_parallel_lines(), draw_plane_marker_ex(), draw_plane_marker_image(), blender::ed::spreadsheet::draw_separator_lines(), draw_seq_background(), draw_single_handle(), draw_spline_points(), draw_track_path_keyframe_points(), draw_track_path_lines(), draw_track_path_points(), draw_tracking_tracks(), draw_tri_point(), draw_view_axis(), draw_waveform_segment(), drawArrow(), drawConstraint(), drawEdgeSlide(), drawFlyPixel(), drawLine(), drawVertSlide(), drawviewborder(), drawviewborder_grid3(), drawviewborder_triangle(), drawWalkPixel(), drw_debug_draw_lines(), DRW_draw_cursor(), dyntopo_detail_size_edit_draw(), dyntopo_detail_size_parallel_lines_draw(), ED_image_draw_cursor(), ED_keylist_draw_list_draw_keys(), ED_mask_draw_frames(), ED_node_draw_snap(), ED_node_socket_draw(), ED_region_draw_mouse_line_cb(), ED_region_grid_draw(), ED_view3d_cursor_snap_draw_util(), EDBM_preselect_edgering_draw(), EDBM_preselect_elem_draw(), gizmo_axis_draw(), gizmo_ruler_draw(), gpencil_brush_cursor_draw(), gpencil_draw_basic_stroke(), gpencil_draw_stroke_3d(), gpencil_draw_stroke_volumetric_3d(), GPU_viewport_stereo_composite(), blender::ed::sculpt_paint::image::ops::paint::gradient_draw_line(), graph_draw_driver_debug(), graph_main_region_draw(), histogram_draw_one(), imm_draw_box_wire_2d(), imm_draw_box_wire_3d(), imm_draw_circle(), imm_draw_circle_3D(), imm_draw_circle_partial(), imm_draw_circle_partial_3d(), imm_draw_cube_corners_3d(), imm_draw_cube_fill_3d(), imm_draw_cube_wire_3d(), imm_draw_cylinder_fill_3d(), imm_draw_cylinder_fill_normal_3d(), imm_draw_cylinder_wire_3d(), imm_draw_disk_partial(), imm_draw_disk_partial_3d(), imm_draw_point_aspect_2d(), imm_drawcircball(), immDrawBorderCorners(), immDrawPixelsTexScaledFullSize(), immDrawPixelsTexTiled_scaling_clipping(), immRectf(), immRecti(), knifetool_draw(), knifetool_draw_angle(), knifetool_draw_angle_snapping(), knifetool_draw_orientation_locking(), mask_draw_array(), blender::ed::sculpt_paint::min_distance_edit::min_distance_edit_draw(), move_geom_draw(), nla_action_draw_keyframes(), nla_actionclip_draw_markers(), nla_draw_strip(), nla_draw_strip_curves(), blender::ed::space_node::node_composit_backdrop_boxmask(), blender::ed::space_node::node_composit_backdrop_ellipsemask(), blender::ed::space_node::node_composit_backdrop_viewer(), blender::ed::space_node::node_draw_hidden(), blender::ed::space_node::node_draw_sockets(), outliner_back(), outliner_draw_hierarchy_line(), outliner_draw_separator(), outliner_draw_struct_marks(), paint_cursor_pose_brush_segments_draw(), paint_draw_cursor_overlay(), paint_draw_curve_cursor(), paint_draw_line_cursor(), paint_draw_smooth_cursor(), paint_draw_tex_overlay(), playanim_toscreen(), radial_control_paint_cursor(), radial_control_paint_curve(), radial_control_paint_tex(), region_draw_emboss(), screen_draw_split_preview(), screen_preview_draw_areas(), SCULPT_boundary_edges_preview_draw(), SCULPT_boundary_pivot_line_preview_draw(), SCULPT_cloth_plane_falloff_preview_draw(), sculpt_geometry_preview_lines_draw(), SCULPT_multiplane_scrape_preview_draw(), seq_draw_image_origin_and_outline(), seq_draw_sfra_efra(), sequencer_draw_display_buffer(), timeline_cache_draw_cached_segments(), tracking_segment_end_cb(), transform_draw_cursor_draw(), UI_draw_box_shadow(), ui_draw_but_COLORBAND(), ui_draw_but_CURVE(), ui_draw_but_curve_grid(), ui_draw_but_CURVEPROFILE(), ui_draw_but_HISTOGRAM(), ui_draw_but_HSVCIRCLE(), ui_draw_but_TAB_outline(), ui_draw_colorband_handle(), ui_draw_colorband_handle_box(), ui_draw_colorband_handle_tri(), ui_draw_colorband_handle_tri_hlight(), ui_draw_gradient(), ui_draw_popover_back_impl(), ui_draw_separator(), UI_view2d_dot_grid_draw(), UI_view2d_multi_grid_draw(), v3d_cursor_plane_draw_grid(), vectorscope_draw_target(), vicon_keytype_draw_wrapper(), voxel_size_edit_draw(), voxel_size_parallel_lines_draw(), widget_draw_vertex_buffer(), widget_swatch(), wm_gesture_draw_cross(), wm_gesture_draw_lasso(), wm_gesture_draw_line(), wm_gesture_draw_line_active_side(), wm_gizmo_vec_draw(), wm_software_cursor_draw_bitmap(), wm_stereo3d_draw_sidebyside(), wm_stereo3d_draw_topbottom(), wm_xr_controller_aim_draw(), and wm_xr_raycast_draw().

◆ immEndVertex()

static void immEndVertex ( )
static

◆ immGetShader()

GPUShader* immGetShader ( )

Definition at line 75 of file gpu_immediate.cc.

References imm, and blender::gpu::Immediate::shader.

Referenced by GPU_batch_program_set_imm_shader().

◆ immThemeColorShadeAlpha()

void immThemeColorShadeAlpha ( int  colorid,
int  coloffset,
int  alphaoffset 
)

Definition at line 732 of file gpu_immediate.cc.

References col, immUniformColor4ub(), and UI_GetThemeColorShadeAlpha4ubv().

Referenced by outliner_draw_struct_marks().

◆ immUnbindProgram()

void immUnbindProgram ( void  )

Call after your last immEnd, or before binding another program.

Definition at line 67 of file gpu_immediate.cc.

References BLI_assert, GPU_shader_unbind(), imm, and blender::gpu::Immediate::shader.

Referenced by acf_generic_channel_backdrop(), acf_generic_dataexpand_backdrop(), ANIM_channel_draw(), ANIM_draw_action_framerange(), ANIM_draw_cfra(), ANIM_draw_framerange(), ANIM_draw_previewrange(), annotation_draw_eraser(), annotation_draw_stabilizer(), annotation_draw_stroke_2d(), annotation_draw_stroke_3d(), annotation_draw_stroke_buffer(), annotation_draw_stroke_point(), arrow_draw_geom(), brush_drawcursor(), button2d_draw_intern(), button2d_geom_draw_backdrop(), cage2d_draw_box_corners(), cage2d_draw_box_interaction(), cage2d_draw_circle_handles(), cage2d_draw_circle_wire(), cage3d_draw_box_corners(), cage3d_draw_box_interaction(), cage3d_draw_circle_handles(), cage3d_draw_circle_wire(), clip_draw_dopesheet_channels(), clip_draw_dopesheet_main(), clip_draw_graph(), clip_draw_sfra_efra(), console_textview_draw_cursor(), cursor_box_draw(), curve_draw_stroke_3d(), dial_geom_draw(), dial_ghostarc_draw(), dial_ghostarc_draw_helpline(), dial_ghostarc_draw_incremental_angle(), draw_anti_tria(), draw_azone_arrow(), draw_background(), draw_cache_view(), draw_channel_strips(), draw_columnheader_background(), draw_columnheader_columns(), draw_current_frame(), draw_disk_shaded(), draw_display_buffer(), draw_distortion(), draw_dividers(), draw_effect_inputs_highlight(), draw_fcurve(), draw_fcurve_handle_vertices(), draw_fcurve_handles(), draw_fcurve_keyframe_vertices(), draw_fcurve_modifier_controls_envelope(), draw_fcurve_samples(), draw_image_cache(), draw_image_sample_line(), draw_marker_areas(), draw_marker_line(), draw_markers_background(), draw_mouse_position(), draw_movieclip_cache(), draw_movieclip_muted(), draw_nla_main_data(), blender::ed::space_node::draw_nodespace_back_pix(), draw_overlap_frame_indicator(), draw_overshoot_triangle(), draw_parallel_lines(), draw_plane_marker_ex(), draw_plane_marker_image(), draw_render_info(), draw_seq_in_view(), draw_seq_invalid(), draw_seq_locked(), draw_seq_strip(), draw_seq_strips(), draw_seq_timeline_channels(), draw_single_handle(), draw_spline_points(), blender::ed::spreadsheet::draw_spreadsheet_in_region(), draw_stabilization_border(), draw_track_path(), draw_tracking_tracks(), draw_view_axis(), draw_waveform_segment(), drawConstraint(), drawEdgeSlide(), drawFlyPixel(), drawLine(), drawmeta_contents(), drawPropCircle(), drawrenderborder(), drawSnapping(), drawVertSlide(), drawviewborder(), drawWalkPixel(), drw_debug_draw_lines(), DRW_draw_cursor(), dyntopo_detail_size_edit_draw(), ED_gpencil_brush_draw_eraser(), ED_image_draw_cursor(), ED_image_draw_info(), ED_imbuf_sample_draw(), ED_keylist_draw_list_draw_keys(), ED_mask_draw_frames(), ED_node_socket_draw(), ED_region_cache_draw_background(), ED_region_cache_draw_cached_segments(), ED_region_cache_draw_curfra_label(), ED_region_do_draw(), ED_region_draw_mouse_line_cb(), ED_region_grid_draw(), ED_region_image_metadata_draw(), ED_region_info_draw_multiline(), ED_time_scrub_channel_search_draw(), ED_view3d_cursor_snap_draw_util(), EDBM_preselect_edgering_draw(), EDBM_preselect_elem_draw(), file_draw_preview(), gizmo_axis_draw(), gizmo_cage2d_draw_intern(), gizmo_cage3d_draw_intern(), gizmo_primitive_draw_geom(), gizmo_ruler_draw(), gpencil_brush_cursor_draw(), gpencil_draw_basic_stroke(), gpencil_draw_eraser(), gpencil_draw_stroke_3d(), gpencil_draw_stroke_volumetric_3d(), GPU_viewport_stereo_composite(), blender::ed::sculpt_paint::image::ops::paint::gradient_draw_line(), graph_draw_driver_debug(), graph_draw_ghost_curves(), graph_main_region_draw(), imm_draw_box_checker_2d_ex(), immDrawPixelsTexScaledFullSize(), immDrawPixelsTexTiled_scaling_clipping(), knifetool_draw(), knifetool_draw_angle(), knifetool_draw_angle_snapping(), knifetool_draw_orientation_locking(), knifetool_draw_visible_distances(), mask_draw_curve_type(), blender::ed::sculpt_paint::min_distance_edit::min_distance_edit_draw(), move_geom_draw(), nla_action_draw_keyframes(), nla_actionclip_draw_markers(), nla_draw_strip(), blender::ed::space_node::node_composit_backdrop_boxmask(), blender::ed::space_node::node_composit_backdrop_ellipsemask(), blender::ed::space_node::node_composit_backdrop_viewer(), blender::ed::space_node::node_draw_hidden(), blender::ed::space_node::node_draw_preview(), blender::ed::space_node::node_draw_preview_background(), blender::ed::space_node::node_draw_sockets(), outliner_back(), outliner_draw_hierarchy_lines(), outliner_draw_highlights(), outliner_draw_separator(), outliner_draw_struct_marks(), paint_cursor_restore_drawing_state(), paint_draw_cursor_overlay(), paint_draw_curve_cursor(), paint_draw_line_cursor(), paint_draw_smooth_cursor(), paint_draw_tex_overlay(), panel_draw_aligned_backdrop(), playanim_toscreen(), radial_control_paint_cursor(), radial_control_paint_tex(), region_draw_emboss(), screen_draw_join_highlight(), screen_draw_split_preview(), screen_preview_draw_areas(), seq_draw_image_origin_and_outline(), seq_draw_sfra_efra(), sequencer_draw_borders_overlay(), sequencer_draw_display_buffer(), textview_draw_sel(), textview_draw_string(), timeline_draw_cache(), transform_draw_cursor_draw(), UI_draw_box_shadow(), ui_draw_but_COLORBAND(), ui_draw_but_CURVE(), ui_draw_but_CURVEPROFILE(), ui_draw_but_HISTOGRAM(), ui_draw_but_HSVCIRCLE(), ui_draw_but_HSVCUBE(), ui_draw_but_TAB_outline(), ui_draw_but_UNITVEC(), ui_draw_colorband_handle(), ui_draw_gradient(), ui_draw_pie_center(), ui_draw_popover_back_impl(), ui_draw_separator(), UI_draw_text_underline(), ui_hsv_cursor(), UI_panel_category_draw_all(), UI_view2d_dot_grid_draw(), UI_view2d_multi_grid_draw(), v3d_cursor_plane_draw_grid(), vicon_colorset_draw(), vicon_gplayer_color_draw(), vicon_keytype_draw_wrapper(), voxel_size_edit_draw(), wide_line_workaround_end(), wide_line_workaround_start(), widget_draw_extra_mask(), widget_draw_text(), widget_softshadow(), widget_swatch(), wm_gesture_draw_circle(), wm_gesture_draw_cross(), wm_gesture_draw_lasso(), wm_gesture_draw_line(), wm_gesture_draw_line_active_side(), wm_gesture_draw_rect(), wm_software_cursor_draw_bitmap(), wm_software_cursor_draw_crosshair(), wm_stereo3d_draw_sidebyside(), wm_stereo3d_draw_topbottom(), wm_xr_controller_aim_draw(), and wm_xr_raycast_draw().

◆ immUniform1f()

void immUniform1f ( const char *  name,
float  x 
)

Definition at line 553 of file gpu_immediate.cc.

References GPU_shader_uniform_1f(), imm, blender::gpu::Immediate::shader, and x.

Referenced by annotation_draw_eraser(), annotation_draw_stroke_2d(), annotation_draw_stroke_3d(), annotation_draw_stroke_buffer(), annotation_draw_stroke_point(), arrow_draw_geom(), button2d_draw_intern(), button2d_geom_draw_backdrop(), cage2d_draw_box_corners(), cage2d_draw_box_interaction(), cage2d_draw_circle_wire(), cage3d_draw_box_corners(), cage3d_draw_circle_wire(), clip_draw_dopesheet_main(), dial_geom_draw(), dial_ghostarc_draw_helpline(), dial_ghostarc_draw_incremental_angle(), draw_fcurve(), draw_fcurve_handle_vertices(), draw_fcurve_keyframe_vertices(), draw_fcurve_modifier_controls_envelope(), draw_image_sample_line(), draw_marker_areas(), draw_marker_line(), draw_overlap_frame_indicator(), draw_parallel_lines(), draw_plane_marker_ex(), draw_plane_marker_image(), draw_single_handle(), draw_spline_points(), draw_stabilization_border(), drawConstraint(), drawPropCircle(), drawrenderborder(), drawVertSlide(), drawviewborder(), ED_gpencil_brush_draw_eraser(), ED_image_draw_cursor(), ED_keylist_draw_list_draw_keys(), ED_node_socket_draw(), ED_region_draw_mouse_line_cb(), ED_view3d_cursor_snap_draw_util(), EDBM_preselect_edgering_draw(), gizmo_axis_draw(), gizmo_ruler_draw(), gpencil_draw_eraser(), graph_draw_driver_debug(), graph_draw_ghost_curves(), icon_draw_rect(), mask_draw_curve_type(), move_geom_draw(), nla_action_draw_keyframes(), nla_actionclip_draw_markers(), nla_draw_use_dashed_outlines(), blender::ed::space_node::node_draw_sockets(), outliner_draw_hierarchy_line(), outliner_draw_hierarchy_lines(), paint_draw_line_cursor(), seq_draw_image_origin_and_outline(), sequencer_draw_borders_overlay(), transform_draw_cursor_draw(), ui_draw_colorband_handle(), vicon_keytype_draw_wrapper(), wide_line_workaround_start(), wm_gesture_draw_circle(), wm_gesture_draw_cross(), wm_gesture_draw_lasso(), wm_gesture_draw_line(), wm_gesture_draw_rect(), wm_software_cursor_draw_bitmap(), wm_xr_controller_aim_draw(), and wm_xr_raycast_draw().

◆ immUniform1i()

void immUniform1i ( const char *  name,
int  x 
)

◆ immUniform2f()

void immUniform2f ( const char *  name,
float  x,
float  y 
)

◆ immUniform2fv()

void immUniform2fv ( const char *  name,
const float  data[2] 
)

◆ immUniform3f()

void immUniform3f ( const char *  name,
float  x,
float  y,
float  z 
)

Definition at line 568 of file gpu_immediate.cc.

References GPU_shader_uniform_3f(), imm, blender::gpu::Immediate::shader, x, y, and z.

◆ immUniform3fv()

void immUniform3fv ( const char *  name,
const float  data[3] 
)

Definition at line 573 of file gpu_immediate.cc.

References data, GPU_shader_uniform_3fv(), imm, and blender::gpu::Immediate::shader.

◆ immUniform4f()

void immUniform4f ( const char *  name,
float  x,
float  y,
float  z,
float  w 
)

◆ immUniform4fv()

void immUniform4fv ( const char *  name,
const float  data[4] 
)

◆ immUniformArray4fv()

void immUniformArray4fv ( const char *  bare_name,
const float data,
int  count 
)

Note array index is not supported for name (i.e: "array[0]").

Definition at line 588 of file gpu_immediate.cc.

References count, data, GPU_shader_uniform_4fv_array(), imm, and blender::gpu::Immediate::shader.

◆ immUniformColor3f()

void immUniformColor3f ( float  r,
float  g,
float  b 
)

◆ immUniformColor3fv()

void immUniformColor3fv ( const float  rgb[3])

◆ immUniformColor3fvAlpha()

void immUniformColor3fvAlpha ( const float  rgb[3],
float  a 
)

◆ immUniformColor3ub()

void immUniformColor3ub ( uchar  r,
uchar  g,
uchar  b 
)

◆ immUniformColor3ubv()

void immUniformColor3ubv ( const uchar  rgb[3])

◆ immUniformColor3ubvAlpha()

void immUniformColor3ubvAlpha ( const uchar  rgb[3],
uchar  alpha 
)

◆ immUniformColor4f()

void immUniformColor4f ( float  r,
float  g,
float  b,
float  a 
)

◆ immUniformColor4fv()

void immUniformColor4fv ( const float  rgba[4])

◆ immUniformColor4ub()

void immUniformColor4ub ( uchar  r,
uchar  g,
uchar  b,
uchar  a 
)

◆ immUniformColor4ubv()

void immUniformColor4ubv ( const uchar  rgba[4])

◆ immUniformMatrix4fv()

void immUniformMatrix4fv ( const char *  name,
const float  data[4][4] 
)

Definition at line 593 of file gpu_immediate.cc.

References data, GPU_shader_uniform_mat4(), imm, and blender::gpu::Immediate::shader.

Referenced by dial_geom_draw().

◆ immUniformThemeColor()

void immUniformThemeColor ( int  color_id)

◆ immUniformThemeColor3()

void immUniformThemeColor3 ( int  color_id)

◆ immUniformThemeColorAlpha()

void immUniformThemeColorAlpha ( int  color_id,
float  a 
)

Definition at line 689 of file gpu_immediate.cc.

References Freestyle::a, color, immUniformColor4fv(), and UI_GetThemeColor3fv().

Referenced by drawviewborder(), and drawWalkPixel().

◆ immUniformThemeColorBlend()

void immUniformThemeColorBlend ( int  color_id1,
int  color_id2,
float  fac 
)

◆ immUniformThemeColorBlendShade()

void immUniformThemeColorBlendShade ( int  color_id1,
int  color_id2,
float  fac,
int  offset 
)

Definition at line 718 of file gpu_immediate.cc.

References color, immUniformColor4fv(), offset, and UI_GetThemeColorBlendShade4fv().

Referenced by ED_region_grid_draw().

◆ immUniformThemeColorShade()

void immUniformThemeColorShade ( int  color_id,
int  offset 
)

◆ immUniformThemeColorShadeAlpha()

void immUniformThemeColorShadeAlpha ( int  color_id,
int  color_offset,
int  alpha_offset 
)

◆ immVertex2f()

void immVertex2f ( uint  attr_id,
float  x,
float  y 
)

Definition at line 503 of file gpu_immediate.cc.

References attr_id, immAttr2f(), immEndVertex(), x, and y.

Referenced by ANIM_channel_draw(), ANIM_draw_action_framerange(), ANIM_draw_cfra(), ANIM_draw_framerange(), annotation_draw_stabilizer(), annotation_draw_stroke_arrow_buffer(), cage3d_draw_circle_wire(), clip_draw_sfra_efra(), draw_anti_tria(), draw_azone_arrow(), draw_channel_strips(), draw_color_strip_band(), draw_columnheader_columns(), draw_disk_shaded(), draw_display_buffer(), draw_distortion(), draw_fcurve_curve(), draw_fcurve_modifier_controls_envelope(), draw_fcurve_sample_control(), draw_frame_curves(), draw_keyframe_shape(), draw_marker_areas(), draw_marker_line(), draw_marker_outline(), draw_marker_slide_triangle(), draw_marker_slide_zones(), draw_overlap_frame_indicator(), draw_overshoot_triangle(), draw_parallel_lines(), draw_spline_points(), draw_tracking_tracks(), draw_view_axis(), draw_waveform_segment(), drawArrow(), drawFlyPixel(), drawviewborder(), drawviewborder_grid3(), drawviewborder_triangle(), ED_image_draw_cursor(), ED_node_draw_snap(), ED_region_grid_draw(), gizmo_ruler_draw(), gpencil_brush_cursor_draw(), GPU_viewport_stereo_composite(), graph_draw_driver_debug(), graph_main_region_draw(), histogram_draw_one(), imm_draw_box_wire_2d(), imm_draw_circle(), imm_draw_circle_partial(), imm_draw_disk_partial(), imm_draw_point_aspect_2d(), immDrawBorderCorners(), immDrawPixelsTexScaledFullSize(), immDrawPixelsTexTiled_scaling_clipping(), immRectf(), immRectf_fast(), immRectf_fast_with_color(), nla_actionclip_draw_markers(), nla_draw_strip(), nla_draw_strip_curves(), blender::ed::space_node::node_composit_backdrop_boxmask(), blender::ed::space_node::node_composit_backdrop_ellipsemask(), blender::ed::space_node::node_composit_backdrop_viewer(), blender::ed::space_node::node_draw_hidden(), blender::ed::space_node::node_socket_draw(), outliner_back(), outliner_draw_hierarchy_line(), outliner_draw_separator(), outliner_draw_struct_marks(), paint_draw_cursor_overlay(), paint_draw_line_cursor(), paint_draw_smooth_cursor(), paint_draw_tex_overlay(), playanim_toscreen(), radial_control_paint_cursor(), radial_control_paint_curve(), radial_control_paint_tex(), region_draw_emboss(), screen_draw_split_preview(), screen_preview_draw_areas(), seq_draw_image_origin_and_outline(), seq_draw_sfra_efra(), sequencer_draw_display_buffer(), tracking_segment_point_cb(), transform_draw_cursor_draw(), ui_draw_but_COLORBAND(), ui_draw_but_CURVE(), ui_draw_but_curve_grid(), ui_draw_but_CURVEPROFILE(), ui_draw_but_HISTOGRAM(), ui_draw_but_HSVCIRCLE(), ui_draw_but_TAB_outline(), ui_draw_colorband_handle(), ui_draw_colorband_handle_box(), ui_draw_colorband_handle_tri(), ui_draw_colorband_handle_tri_hlight(), ui_draw_gradient(), ui_draw_popover_back_impl(), ui_draw_separator(), UI_view2d_dot_grid_draw(), UI_view2d_multi_grid_draw(), vectorscope_draw_target(), widget_swatch(), wm_gesture_draw_cross(), wm_gesture_draw_lasso(), wm_gesture_draw_line(), wm_gesture_draw_line_active_side(), wm_stereo3d_draw_sidebyside(), and wm_stereo3d_draw_topbottom().

◆ immVertex2fv()

void immVertex2fv ( uint  attr_id,
const float  data[2] 
)

◆ immVertex2i()

void immVertex2i ( uint  attr_id,
int  x,
int  y 
)

◆ immVertex2iv()

void immVertex2iv ( uint  attr_id,
const int  data[2] 
)

Definition at line 545 of file gpu_immediate.cc.

References attr_id, data, immAttr2i(), and immEndVertex().

Referenced by draw_dividers().

◆ immVertex2s()

void immVertex2s ( uint  attr_id,
short  x,
short  y 
)

Definition at line 527 of file gpu_immediate.cc.

References attr_id, immAttr2s(), immEndVertex(), x, and y.

◆ immVertex3f()

void immVertex3f ( uint  attr_id,
float  x,
float  y,
float  z 
)

◆ immVertex3fv()

void immVertex3fv ( uint  attr_id,
const float  data[3] 
)

◆ immVertex4f()

void immVertex4f ( uint  attr_id,
float  x,
float  y,
float  z,
float  w 
)

Definition at line 515 of file gpu_immediate.cc.

References attr_id, immAttr4f(), immEndVertex(), w(), x, y, and z.

◆ immVertexFormat()

GPUVertFormat* immVertexFormat ( void  )

Returns a cleared vertex format, ready for #add_attr.

Definition at line 37 of file gpu_immediate.cc.

References GPU_vertformat_clear(), imm, and blender::gpu::Immediate::vertex_format.

Referenced by acf_generic_channel_backdrop(), acf_generic_dataexpand_backdrop(), ANIM_channel_draw(), ANIM_draw_action_framerange(), ANIM_draw_cfra(), ANIM_draw_framerange(), ANIM_draw_previewrange(), annotation_draw_eraser(), annotation_draw_stabilizer(), annotation_draw_stroke_2d(), annotation_draw_stroke_3d(), annotation_draw_stroke_buffer(), annotation_draw_stroke_point(), arrow_draw_geom(), brush_drawcursor(), button2d_draw_intern(), button2d_geom_draw_backdrop(), cage2d_draw_box_corners(), cage2d_draw_box_interaction(), cage2d_draw_circle_handles(), cage2d_draw_circle_wire(), cage3d_draw_box_corners(), cage3d_draw_box_interaction(), cage3d_draw_circle_handles(), cage3d_draw_circle_wire(), clip_draw_dopesheet_channels(), clip_draw_dopesheet_main(), clip_draw_graph(), clip_draw_sfra_efra(), console_textview_draw_cursor(), cursor_box_draw(), curve_draw_stroke_3d(), dial_geom_draw(), dial_ghostarc_draw(), dial_ghostarc_draw_helpline(), dial_ghostarc_draw_incremental_angle(), draw_anti_tria(), draw_azone_arrow(), draw_background(), draw_cache_view(), draw_channel_strips(), draw_columnheader_background(), draw_columnheader_columns(), draw_current_frame(), draw_disk_shaded(), draw_display_buffer(), draw_distortion(), draw_dividers(), draw_effect_inputs_highlight(), draw_fcurve(), draw_fcurve_handles(), draw_fcurve_modifier_controls_envelope(), draw_fcurve_samples(), draw_fcurve_vertices(), draw_image_cache(), draw_image_sample_line(), draw_line_bounds(), draw_line_loop(), draw_line_pairs(), draw_marker_areas(), draw_marker_line(), draw_markers_background(), draw_mouse_position(), draw_movieclip_cache(), draw_movieclip_muted(), draw_nla_main_data(), blender::ed::space_node::draw_nodespace_back_pix(), draw_overlap_frame_indicator(), draw_overshoot_triangle(), draw_parallel_lines(), draw_plane_marker_ex(), draw_plane_marker_image(), draw_render_info(), draw_seq_in_view(), draw_seq_invalid(), draw_seq_locked(), draw_seq_strip(), draw_seq_strips(), draw_seq_timeline_channels(), draw_single_handle(), draw_spline_points(), blender::ed::spreadsheet::draw_spreadsheet_in_region(), draw_stabilization_border(), draw_track_path(), draw_tracking_tracks(), draw_view_axis(), draw_waveform_segment(), drawConstraint(), drawEdgeSlide(), drawFlyPixel(), drawLine(), drawmeta_contents(), drawPropCircle(), drawrenderborder(), drawSnapping(), drawVertSlide(), drawviewborder(), drawWalkPixel(), drw_debug_draw_lines(), DRW_draw_cursor(), dyntopo_detail_size_edit_draw(), ED_gpencil_brush_draw_eraser(), ED_image_draw_cursor(), ED_image_draw_info(), ED_imbuf_sample_draw(), ED_keylist_draw_list_draw_keys(), ED_mask_draw_frames(), ED_node_socket_draw(), ED_region_cache_draw_background(), ED_region_cache_draw_cached_segments(), ED_region_cache_draw_curfra_label(), ED_region_do_draw(), ED_region_draw_mouse_line_cb(), ED_region_grid_draw(), ED_region_image_metadata_draw(), ED_region_info_draw_multiline(), ED_time_scrub_channel_search_draw(), ED_view3d_cursor_snap_draw_util(), EDBM_preselect_edgering_draw(), EDBM_preselect_elem_draw(), file_draw_preview(), gizmo_axis_draw(), gizmo_cage2d_draw_intern(), gizmo_cage3d_draw_intern(), gizmo_primitive_draw_geom(), gizmo_ruler_draw(), gpencil_brush_cursor_draw(), gpencil_draw_basic_stroke(), gpencil_draw_eraser(), gpencil_draw_stroke_3d(), gpencil_draw_stroke_volumetric_3d(), gpu_viewport_draw_colormanaged(), GPU_viewport_stereo_composite(), blender::ed::sculpt_paint::image::ops::paint::gradient_draw_line(), graph_draw_driver_debug(), graph_draw_ghost_curves(), graph_main_region_draw(), imm_draw_box_checker_2d_ex(), immDrawPixelsTexSetupAttributes(), knifetool_draw(), knifetool_draw_angle(), knifetool_draw_angle_snapping(), knifetool_draw_orientation_locking(), knifetool_draw_visible_distances(), mask_draw_curve_type(), blender::ed::sculpt_paint::min_distance_edit::min_distance_edit_draw(), move_geom_draw(), nla_action_draw_keyframes(), nla_actionclip_draw_markers(), nla_draw_strip(), nla_draw_use_dashed_outlines(), blender::ed::space_node::node_composit_backdrop_boxmask(), blender::ed::space_node::node_composit_backdrop_ellipsemask(), blender::ed::space_node::node_composit_backdrop_viewer(), blender::ed::space_node::node_draw_hidden(), blender::ed::space_node::node_draw_preview(), blender::ed::space_node::node_draw_preview_background(), blender::ed::space_node::node_draw_sockets(), outliner_back(), outliner_draw_hierarchy_lines(), outliner_draw_highlights(), outliner_draw_separator(), outliner_draw_struct_marks(), paint_cursor_setup_2D_drawing(), paint_cursor_setup_3D_drawing(), paint_draw_cursor_overlay(), paint_draw_curve_cursor(), paint_draw_line_cursor(), paint_draw_smooth_cursor(), paint_draw_tex_overlay(), playanim_toscreen(), radial_control_paint_cursor(), radial_control_paint_tex(), region_draw_emboss(), screen_draw_join_highlight(), screen_draw_split_preview(), screen_preview_draw_areas(), seq_draw_image_origin_and_outline(), seq_draw_sfra_efra(), sequencer_draw_borders_overlay(), sequencer_draw_display_buffer(), textview_draw_sel(), textview_draw_string(), timeline_draw_cache(), transform_draw_cursor_draw(), UI_draw_box_shadow(), ui_draw_but_COLORBAND(), ui_draw_but_CURVE(), ui_draw_but_CURVEPROFILE(), ui_draw_but_HISTOGRAM(), ui_draw_but_HSVCIRCLE(), ui_draw_but_HSVCUBE(), ui_draw_but_TAB_outline(), ui_draw_but_UNITVEC(), ui_draw_gradient(), ui_draw_pie_center(), ui_draw_popover_back_impl(), ui_draw_separator(), UI_draw_text_underline(), ui_hsv_cursor(), UI_panel_category_draw_all(), UI_view2d_dot_grid_draw(), UI_view2d_multi_grid_draw(), v3d_cursor_plane_draw_grid(), vicon_colorset_draw(), vicon_gplayer_color_draw(), vicon_keytype_draw_wrapper(), voxel_size_edit_draw(), widget_draw_extra_mask(), widget_draw_text(), widget_softshadow(), widget_swatch(), wm_gesture_draw_circle(), wm_gesture_draw_cross(), wm_gesture_draw_lasso(), wm_gesture_draw_line(), wm_gesture_draw_line_active_side(), wm_gesture_draw_rect(), wm_software_cursor_draw_bitmap(), wm_software_cursor_draw_crosshair(), wm_stereo3d_draw_sidebyside(), wm_stereo3d_draw_topbottom(), wm_xr_controller_aim_draw(), and wm_xr_raycast_draw().

◆ setAttrValueBit()

static void setAttrValueBit ( uint  attr_id)
static

◆ vertex_count_makes_sense_for_primitive()

static bool vertex_count_makes_sense_for_primitive ( uint  vertex_len,
GPUPrimType  prim_type 
)
static

◆ wide_line_workaround_end()

static void wide_line_workaround_end ( )
static

◆ wide_line_workaround_start()

static void wide_line_workaround_start ( GPUPrimType  prim_type)
static

Variable Documentation

◆ imm

thread_local Immediate* imm = nullptr
static