Blender V4.3
gpu_immediate.cc File Reference

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)
 
blender::gpu::Batch * immBeginBatch (GPUPrimType prim_type, uint vertex_len)
 
blender::gpu::Batch * immBeginBatchAtMost (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, GPUSamplerState 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()

◆ immAttr1f()

◆ immAttr1u()

◆ immAttr2f()

◆ immAttr2fv()

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

Definition at line 406 of file gpu_immediate.cc.

References attr_id, and immAttr2f().

◆ immAttr2i()

◆ immAttr2s()

◆ immAttr3f()

◆ immAttr3fv()

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

◆ immAttr3ub()

◆ immAttr3ubv()

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

Definition at line 458 of file gpu_immediate.cc.

References attr_id, and immAttr3ub().

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

◆ immAttr4f()

◆ immAttr4fv()

◆ immAttr4ub()

◆ immAttr4ubv()

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

◆ immAttrSkip()

◆ immBegin()

void immBegin ( GPUPrimType prim_type,
uint vertex_len )

Must supply exactly vertex_len vertices.

Definition at line 195 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(), cage2d_draw_rect_wire(), cage3d_draw_circle_wire(), channel_list_draw_keys(), clip_draw_dopesheet_main(), clip_draw_sfra_efra(), cursor_point_draw(), blender::ed::curves::curve_draw_stroke_3d(), curve_draw_stroke_3d(), dial_ghostarc_draw_helpline(), dial_ghostarc_draw_incremental_angle(), draw_anti_tria(), draw_azone_arrow(), blender::ed::sculpt_paint::draw_bezier_handle_lines(), draw_channel_strips(), blender::ed::greasepencil::image_render::draw_circles(), draw_columnheader_columns(), blender::ed::greasepencil::draw_control_points(), draw_cross(), draw_disk_shaded(), draw_display_buffer(), draw_distortion(), draw_dividers(), blender::ed::greasepencil::image_render::draw_dot(), blender::ed::greasepencil::image_render::draw_dots(), draw_fcurve_active_vertex(), draw_fcurve_curve(), draw_fcurve_curve_keys(), draw_fcurve_curve_samples(), draw_fcurve_modifier_controls_envelope(), draw_image_sample_line(), draw_keyframe(), draw_lasso_smooth_stroke_indicator(), 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_plane_marker_ex(), draw_plane_marker_image(), draw_single_handle(), draw_spline_points(), draw_timeline_sfra_efra(), draw_track_path_lines(), draw_track_path_points(), draw_tracking_tracks(), blender::ed::sculpt_paint::draw_tri_point(), draw_view_axis(), drawArrow(), drawConstraint(), drawEdgeSlide(), drawFlyPixel(), drawLine(), drawSnapping(), drawVertSlide(), drawviewborder(), drawviewborder_grid3(), drawviewborder_triangle(), drawWalkPixel(), DRW_draw_cursor(), blender::ed::sculpt_paint::dyntopo::dyntopo_detail_size_edit_draw(), blender::ed::sculpt_paint::dyntopo::dyntopo_detail_size_parallel_lines_draw(), ED_image_draw_cursor(), ED_mask_draw_frames(), ED_node_draw_snap(), ED_region_draw_mouse_line_cb(), ED_region_grid_draw(), ED_view3d_cursor_snap_draw_util(), EDBM_preselect_edgering_draw(), EDBM_preselect_elem_draw(), blender::ed::sculpt_paint::boundary::edges_preview_draw(), gizmo_axis_draw(), gizmo_ruler_draw(), 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(), blender::ed::sculpt_paint::multiplane_scrape_preview_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_draw_hidden(), blender::ed::space_node::node_draw_sockets(), blender::ed::space_node::node_draw_zones_and_frames(), blender::ed::space_node::node_socket_draw(), blender::ed::outliner::outliner_back(), blender::ed::outliner::outliner_draw_hierarchy_line(), blender::ed::outliner::outliner_draw_separator(), blender::ed::outliner::outliner_draw_struct_marks(), blender::ed::sculpt_paint::paint_cursor_pose_brush_segments_draw(), blender::ed::sculpt_paint::paint_draw_cursor_overlay(), blender::ed::sculpt_paint::paint_draw_curve_cursor(), blender::ed::sculpt_paint::paint_draw_line_cursor(), blender::ed::sculpt_paint::paint_draw_smooth_cursor(), blender::ed::sculpt_paint::paint_draw_tex_overlay(), blender::ed::sculpt_paint::boundary::pivot_line_preview_draw(), blender::ed::sculpt_paint::cloth::plane_falloff_preview_draw(), playanim_toscreen_ex(), radial_control_paint_cursor(), radial_control_paint_curve(), radial_control_paint_tex(), rounded_corners(), blender::ed::sculpt_paint::sculpt_geometry_preview_lines_draw(), seq_draw_image_origin_and_outline(), sequencer_draw_display_buffer(), sequencer_draw_scopes(), blender::gpu::tests::test_immediate_one_plane(), blender::gpu::tests::test_immediate_two_planes(), 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_TRACKPREVIEW(), ui_draw_but_VECTORSCOPE(), ui_draw_but_WAVEFORM(), ui_draw_colorband_handle(), ui_draw_colorband_handle_box(), ui_draw_colorband_handle_tri(), ui_draw_gradient(), ui_draw_popover_back_impl(), ui_draw_rounded_corners_inverted(), ui_draw_separator(), ui_hsv_cursor(), UI_view2d_dot_grid_draw(), vectorscope_draw_target(), vertex_draw(), vicon_keytype_draw_wrapper(), blender::ed::object::voxel_size_edit_draw(), blender::ed::object::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_gesture_draw_polyline(), 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()

◆ immBeginBatch()

◆ immBeginBatchAtMost()

blender::gpu::Batch * immBeginBatchAtMost ( GPUPrimType prim_type,
uint vertex_len )

Definition at line 238 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 61 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_channel_draw_widgets(), 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_wire(), cage2d_draw_rect_corner_handles(), cage2d_draw_rect_edge_handles(), cage2d_draw_rect_wire(), cage3d_draw_box_corners(), cage3d_draw_box_interaction(), cage3d_draw_circle_handles(), cage3d_draw_circle_wire(), channel_list_draw_keys(), clip_draw_dopesheet_channels(), clip_draw_dopesheet_main(), clip_draw_graph(), clip_draw_sfra_efra(), console_textview_draw_cursor(), cursor_box_draw(), blender::ed::curves::curve_draw_stroke_3d(), 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_background(), draw_channel_strips(), blender::ed::greasepencil::image_render::draw_circles(), draw_columnheader_background(), draw_columnheader_columns(), blender::ed::greasepencil::draw_control_points(), draw_current_frame(), draw_disk_shaded(), draw_display_buffer(), draw_distortion(), draw_dividers(), blender::ed::greasepencil::image_render::draw_dot(), blender::ed::greasepencil::image_render::draw_dots(), draw_fcurve(), draw_fcurve_handle_vertices(), draw_fcurve_handles(), draw_fcurve_keyframe_vertices(), draw_fcurve_modifier_controls_envelope(), draw_fcurve_samples(), blender::ed::greasepencil::image_render::draw_grease_pencil_stroke(), draw_image_cache(), draw_image_sample_line(), draw_lasso_smooth_stroke_indicator(), blender::ed::greasepencil::image_render::draw_lines(), draw_marker_areas(), draw_marker_line(), draw_markers_background(), draw_movieclip_cache(), draw_movieclip_muted(), draw_nla_main_data(), blender::ed::space_node::draw_nodespace_back_pix(), draw_normalization_borders(), draw_overlap_frame_indicator(), draw_overshoot_triangle(), draw_parallel_lines(), draw_plane_marker_ex(), draw_plane_marker_image(), blender::ed::greasepencil::image_render::draw_polyline(), draw_render_info(), draw_seq_timeline_channels(), draw_single_handle(), draw_spline_points(), blender::ed::spreadsheet::draw_spreadsheet_in_region(), draw_stabilization_border(), draw_start_vertex_circle(), draw_timeline_sfra_efra(), draw_track_path(), draw_tracking_tracks(), draw_view_axis(), drawConstraint(), drawEdgeSlide(), drawFlyPixel(), drawLine(), drawPropCircle(), drawPropRange(), drawrenderborder(), drawSnapping(), drawVertSlide(), drawviewborder(), drawWalkPixel(), DRW_draw_cursor(), blender::ed::sculpt_paint::dyntopo::dyntopo_detail_size_edit_draw(), ED_image_draw_cursor(), ED_image_draw_info(), ED_imbuf_sample_draw(), ED_mask_draw_frames(), 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(), 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(), blender::ed::sculpt_paint::grease_pencil_eraser_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_draw_hidden(), blender::ed::space_node::node_draw_preview_background(), blender::ed::space_node::node_draw_sockets(), blender::ed::space_node::node_draw_zones_and_frames(), blender::ed::space_node::node_socket_draw(), blender::ed::outliner::outliner_back(), blender::ed::outliner::outliner_draw_hierarchy_lines(), blender::ed::outliner::outliner_draw_highlights(), blender::ed::outliner::outliner_draw_separator(), blender::ed::outliner::outliner_draw_struct_marks(), blender::ed::sculpt_paint::paint_cursor_setup_2D_drawing(), blender::ed::sculpt_paint::paint_cursor_setup_3D_drawing(), blender::ed::sculpt_paint::paint_draw_cursor_overlay(), blender::ed::sculpt_paint::paint_draw_curve_cursor(), blender::ed::sculpt_paint::paint_draw_line_cursor(), blender::ed::sculpt_paint::paint_draw_smooth_cursor(), blender::ed::sculpt_paint::paint_draw_tex_overlay(), panel_draw_aligned_backdrop(), playanim_toscreen_ex(), radial_control_paint_cursor(), radial_control_paint_tex(), region_draw_emboss(), rounded_corners(), seq_draw_image_origin_and_outline(), sequencer_draw_borders_overlay(), sequencer_draw_display_buffer(), sequencer_draw_scopes(), sequencer_retiming_keys_draw(), blender::gpu::tests::test_immediate_one_plane(), blender::gpu::tests::test_immediate_two_planes(), textview_draw_sel(), textview_draw_string(), timeline_draw_cache(), transform_draw_cursor_draw(), 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_TRACKPREVIEW(), ui_draw_but_UNITVEC(), ui_draw_but_VECTORSCOPE(), ui_draw_but_WAVEFORM(), ui_draw_button_sections_alignment_separator(), ui_draw_colorband_handle(), ui_draw_gradient(), ui_draw_pie_center(), ui_draw_popover_back_impl(), ui_draw_rounded_corners_inverted(), ui_draw_separator(), UI_draw_text_underline(), ui_hsv_cursor(), UI_panel_category_draw_all(), ui_tooltip_region_draw_cb(), 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(), blender::ed::object::voxel_size_edit_draw(), wide_line_workaround_end(), wide_line_workaround_start(), widget_draw_extra_mask(), widget_draw_text(), widget_progress_type_ring(), 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_polyline(), 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()

◆ immBindTexture()

void immBindTexture ( const char * name,
GPUTexture * tex )

◆ immBindTextureSampler()

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

◆ immBindUniformBuf()

void immBindUniformBuf ( const char * name,
GPUUniformBuf * ubo )

◆ immDeactivate()

◆ immEnd()

void immEnd ( )

Definition at line 245 of file gpu_immediate.cc.

References blender::gpu::Immediate::batch, BLI_assert, blender::gpu::Immediate::end(), 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(), cage2d_draw_rect_wire(), cage3d_draw_circle_wire(), channel_list_draw_keys(), clip_draw_dopesheet_main(), clip_draw_sfra_efra(), cursor_point_draw(), blender::ed::curves::curve_draw_stroke_3d(), curve_draw_stroke_3d(), dial_ghostarc_draw_helpline(), dial_ghostarc_draw_incremental_angle(), draw_anti_tria(), draw_azone_arrow(), blender::ed::sculpt_paint::draw_bezier_handle_lines(), draw_channel_strips(), blender::ed::greasepencil::image_render::draw_circles(), draw_columnheader_columns(), blender::ed::greasepencil::draw_control_points(), draw_cross(), draw_disk_shaded(), draw_display_buffer(), draw_distortion(), draw_dividers(), blender::ed::greasepencil::image_render::draw_dot(), blender::ed::greasepencil::image_render::draw_dots(), draw_fcurve_active_handle_vertices(), draw_fcurve_active_vertex(), draw_fcurve_curve(), draw_fcurve_curve_keys(), draw_fcurve_curve_samples(), draw_fcurve_handles(), draw_fcurve_modifier_controls_envelope(), draw_fcurve_selected_handle_vertices(), draw_fcurve_selected_keyframe_vertices(), draw_frame_curves(), blender::ed::greasepencil::image_render::draw_grease_pencil_stroke(), draw_image_sample_line(), draw_keyframe(), draw_lasso_smooth_stroke_indicator(), blender::ed::greasepencil::image_render::draw_lines(), 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_plane_marker_ex(), draw_plane_marker_image(), blender::ed::greasepencil::image_render::draw_polyline(), blender::ed::spreadsheet::draw_separator_lines(), draw_single_handle(), draw_spline_points(), draw_timeline_sfra_efra(), draw_track_path_keyframe_points(), draw_track_path_lines(), draw_track_path_points(), draw_tracking_tracks(), blender::ed::sculpt_paint::draw_tri_point(), draw_view_axis(), drawArrow(), drawConstraint(), drawEdgeSlide(), drawFlyPixel(), drawLine(), drawSnapping(), drawVertSlide(), drawviewborder(), drawviewborder_grid3(), drawviewborder_triangle(), drawWalkPixel(), DRW_draw_cursor(), blender::ed::sculpt_paint::dyntopo::dyntopo_detail_size_edit_draw(), blender::ed::sculpt_paint::dyntopo::dyntopo_detail_size_parallel_lines_draw(), ED_image_draw_cursor(), ED_mask_draw_frames(), ED_node_draw_snap(), ED_region_draw_mouse_line_cb(), ED_region_grid_draw(), ED_view3d_cursor_snap_draw_util(), EDBM_preselect_edgering_draw(), EDBM_preselect_elem_draw(), blender::ed::sculpt_paint::boundary::edges_preview_draw(), gizmo_axis_draw(), gizmo_ruler_draw(), 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(), blender::ed::sculpt_paint::multiplane_scrape_preview_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_draw_hidden(), blender::ed::space_node::node_draw_sockets(), blender::ed::space_node::node_draw_zones_and_frames(), blender::ed::space_node::node_socket_draw(), blender::ed::outliner::outliner_back(), blender::ed::outliner::outliner_draw_hierarchy_line(), blender::ed::outliner::outliner_draw_separator(), blender::ed::outliner::outliner_draw_struct_marks(), blender::ed::sculpt_paint::paint_cursor_pose_brush_segments_draw(), blender::ed::sculpt_paint::paint_draw_cursor_overlay(), blender::ed::sculpt_paint::paint_draw_curve_cursor(), blender::ed::sculpt_paint::paint_draw_line_cursor(), blender::ed::sculpt_paint::paint_draw_smooth_cursor(), blender::ed::sculpt_paint::paint_draw_tex_overlay(), blender::ed::sculpt_paint::boundary::pivot_line_preview_draw(), blender::ed::sculpt_paint::cloth::plane_falloff_preview_draw(), playanim_toscreen_ex(), radial_control_paint_cursor(), radial_control_paint_curve(), radial_control_paint_tex(), region_draw_emboss(), rounded_corners(), blender::ed::sculpt_paint::sculpt_geometry_preview_lines_draw(), seq_draw_image_origin_and_outline(), sequencer_draw_display_buffer(), sequencer_draw_scopes(), sequencer_retiming_keys_draw(), blender::gpu::tests::test_immediate_one_plane(), blender::gpu::tests::test_immediate_two_planes(), timeline_cache_draw_cached_segments(), timeline_cache_draw_geometry_nodes(), tracking_segment_end_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_but_TRACKPREVIEW(), ui_draw_but_VECTORSCOPE(), ui_draw_but_WAVEFORM(), ui_draw_colorband_handle(), ui_draw_colorband_handle_box(), ui_draw_colorband_handle_tri(), ui_draw_gradient(), ui_draw_popover_back_impl(), ui_draw_rounded_corners_inverted(), ui_draw_separator(), ui_hsv_cursor(), UI_view2d_dot_grid_draw(), UI_view2d_multi_grid_draw(), v3d_cursor_plane_draw_grid(), vectorscope_draw_target(), vertex_draw(), vicon_keytype_draw_wrapper(), blender::ed::object::voxel_size_edit_draw(), blender::ed::object::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_gesture_draw_polyline(), 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()

◆ immGetShader()

GPUShader * immGetShader ( )

Definition at line 76 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 )

◆ immUnbindProgram()

void immUnbindProgram ( )

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

Definition at line 68 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_channel_draw_widgets(), 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_wire(), cage2d_draw_rect_corner_handles(), cage2d_draw_rect_edge_handles(), cage2d_draw_rect_wire(), cage3d_draw_box_corners(), cage3d_draw_box_interaction(), cage3d_draw_circle_handles(), cage3d_draw_circle_wire(), channel_list_draw_keys(), clip_draw_dopesheet_channels(), clip_draw_dopesheet_main(), clip_draw_graph(), clip_draw_sfra_efra(), console_textview_draw_cursor(), cursor_box_draw(), blender::ed::curves::curve_draw_stroke_3d(), curve_draw_stroke_3d(), dial_geom_draw(), dial_ghostarc_draw(), dial_ghostarc_draw_helpline(), dial_ghostarc_draw_incremental_angle(), BlenderDisplayDriver::draw(), draw_anti_tria(), draw_azone_arrow(), draw_background(), draw_background(), draw_channel_strips(), blender::ed::greasepencil::image_render::draw_circles(), draw_columnheader_background(), draw_columnheader_columns(), blender::ed::greasepencil::draw_control_points(), draw_current_frame(), draw_disk_shaded(), draw_display_buffer(), draw_distortion(), draw_dividers(), blender::ed::greasepencil::image_render::draw_dot(), blender::ed::greasepencil::image_render::draw_dots(), draw_fcurve(), draw_fcurve_handle_vertices(), draw_fcurve_handles(), draw_fcurve_keyframe_vertices(), draw_fcurve_modifier_controls_envelope(), draw_fcurve_samples(), blender::ed::greasepencil::image_render::draw_grease_pencil_stroke(), draw_image_cache(), draw_image_sample_line(), draw_lasso_smooth_stroke_indicator(), blender::ed::greasepencil::image_render::draw_lines(), draw_marker_areas(), draw_marker_line(), draw_markers_background(), draw_movieclip_cache(), draw_movieclip_muted(), draw_nla_main_data(), blender::ed::space_node::draw_nodespace_back_pix(), draw_normalization_borders(), draw_overlap_frame_indicator(), draw_overshoot_triangle(), draw_parallel_lines(), draw_plane_marker_ex(), draw_plane_marker_image(), blender::ed::greasepencil::image_render::draw_polyline(), draw_render_info(), draw_seq_timeline_channels(), draw_single_handle(), draw_spline_points(), blender::ed::spreadsheet::draw_spreadsheet_in_region(), draw_stabilization_border(), draw_start_vertex_circle(), draw_timeline_sfra_efra(), draw_track_path(), draw_tracking_tracks(), draw_view_axis(), drawConstraint(), drawEdgeSlide(), drawFlyPixel(), drawLine(), drawPropCircle(), drawPropRange(), drawrenderborder(), drawSnapping(), drawVertSlide(), drawviewborder(), drawWalkPixel(), DRW_draw_cursor(), blender::ed::sculpt_paint::dyntopo::dyntopo_detail_size_edit_draw(), ED_image_draw_cursor(), ED_image_draw_info(), ED_imbuf_sample_draw(), ED_mask_draw_frames(), 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(), 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(), blender::ed::sculpt_paint::grease_pencil_eraser_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_draw_hidden(), blender::ed::space_node::node_draw_preview_background(), blender::ed::space_node::node_draw_sockets(), blender::ed::space_node::node_draw_zones_and_frames(), blender::ed::space_node::node_socket_draw(), blender::ed::outliner::outliner_back(), blender::ed::outliner::outliner_draw_hierarchy_lines(), blender::ed::outliner::outliner_draw_highlights(), blender::ed::outliner::outliner_draw_separator(), blender::ed::outliner::outliner_draw_struct_marks(), blender::ed::sculpt_paint::paint_cursor_restore_drawing_state(), blender::ed::sculpt_paint::paint_draw_cursor_overlay(), blender::ed::sculpt_paint::paint_draw_curve_cursor(), blender::ed::sculpt_paint::paint_draw_line_cursor(), blender::ed::sculpt_paint::paint_draw_smooth_cursor(), blender::ed::sculpt_paint::paint_draw_tex_overlay(), panel_draw_aligned_backdrop(), playanim_toscreen_ex(), radial_control_paint_cursor(), radial_control_paint_tex(), region_draw_emboss(), rounded_corners(), seq_draw_image_origin_and_outline(), sequencer_draw_borders_overlay(), sequencer_draw_display_buffer(), sequencer_draw_scopes(), sequencer_retiming_keys_draw(), textview_draw_sel(), textview_draw_string(), timeline_draw_cache(), transform_draw_cursor_draw(), 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_TRACKPREVIEW(), ui_draw_but_UNITVEC(), ui_draw_but_VECTORSCOPE(), ui_draw_but_WAVEFORM(), ui_draw_button_sections_alignment_separator(), ui_draw_colorband_handle(), ui_draw_gradient(), ui_draw_pie_center(), ui_draw_popover_back_impl(), ui_draw_rounded_corners_inverted(), ui_draw_separator(), UI_draw_text_underline(), ui_hsv_cursor(), UI_panel_category_draw_all(), ui_tooltip_region_draw_cb(), 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(), blender::ed::object::voxel_size_edit_draw(), wide_line_workaround_end(), wide_line_workaround_start(), widget_draw_extra_mask(), widget_draw_text(), widget_progress_type_ring(), 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_polyline(), 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 555 of file gpu_immediate.cc.

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

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(), cage2d_draw_rect_wire(), cage3d_draw_box_corners(), cage3d_draw_circle_wire(), channel_list_draw_keys(), clip_draw_dopesheet_main(), dial_geom_draw(), dial_ghostarc_draw_helpline(), dial_ghostarc_draw_incremental_angle(), blender::ed::greasepencil::image_render::draw_circles(), 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_single_handle(), draw_spline_points(), draw_stabilization_border(), drawConstraint(), drawLine(), drawPropCircle(), drawPropRange(), drawrenderborder(), drawVertSlide(), drawviewborder(), ED_image_draw_cursor(), ED_region_draw_mouse_line_cb(), ED_view3d_cursor_snap_draw_util(), EDBM_preselect_edgering_draw(), gizmo_axis_draw(), gizmo_primitive_draw_geom(), gizmo_ruler_draw(), graph_draw_driver_debug(), graph_draw_ghost_curves(), blender::ed::sculpt_paint::grease_pencil_eraser_draw(), 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(), blender::ed::space_node::node_draw_zones_and_frames(), blender::ed::space_node::node_socket_draw(), blender::ed::outliner::outliner_draw_hierarchy_line(), blender::ed::outliner::outliner_draw_hierarchy_lines(), blender::ed::sculpt_paint::paint_draw_line_cursor(), seq_draw_image_origin_and_outline(), sequencer_draw_borders_overlay(), sequencer_retiming_keys_draw(), transform_draw_cursor_draw(), ui_draw_colorband_handle(), ui_hsv_cursor(), UI_view2d_dot_grid_draw(), 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_polyline(), wm_gesture_draw_rect(), wm_xr_controller_aim_draw(), and wm_xr_raycast_draw().

◆ immUniform1i()

◆ immUniform2f()

◆ immUniform2fv()

◆ immUniform3f()

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

Definition at line 570 of file gpu_immediate.cc.

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

◆ immUniform3fv()

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

Definition at line 575 of file gpu_immediate.cc.

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

◆ immUniform4f()

◆ immUniform4fv()

◆ 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 590 of file gpu_immediate.cc.

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

◆ immUniformColor3f()

◆ immUniformColor3fv()

◆ immUniformColor3fvAlpha()

◆ immUniformColor3ub()

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

◆ immUniformColor3ubv()

◆ immUniformColor3ubvAlpha()

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

◆ immUniformColor4f()

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

Definition at line 625 of file gpu_immediate.cc.

References b, BLI_assert, copy_v4_v4(), GPU_shader_get_builtin_uniform(), GPU_shader_uniform_float_ex(), GPU_UNIFORM_COLOR, imm, blender::gpu::Immediate::shader, and blender::gpu::Immediate::uniform_color.

Referenced by annotation_draw_eraser(), annotation_draw_stabilizer(), clip_draw_dopesheet_background(), clip_draw_sfra_efra(), dial_ghostarc_draw(), draw_azone_arrow(), blender::ed::sculpt_paint::draw_bezier_handle_lines(), draw_lasso_smooth_stroke_indicator(), draw_marker_areas(), draw_plane_marker_image(), blender::ed::sculpt_paint::draw_rect_point(), draw_stabilization_border(), draw_start_vertex_circle(), blender::ed::sculpt_paint::draw_tri_point(), drawConstraint(), drawVertSlide(), blender::ed::sculpt_paint::dyntopo::dyntopo_detail_size_edit_draw(), ED_region_do_draw(), gizmo_cage2d_draw_intern(), gizmo_cage3d_draw_intern(), blender::ed::sculpt_paint::grease_pencil_brush_cursor_draw(), blender::ed::sculpt_paint::grease_pencil_eraser_draw(), histogram_draw_one(), immUniformColor3f(), immUniformColor3fv(), immUniformColor3fvAlpha(), immUniformColor3ub(), immUniformColor4fv(), immUniformColor4ub(), nla_draw_strip_curves(), blender::ed::sculpt_paint::paint_cursor_pose_brush_origins_draw(), blender::ed::sculpt_paint::paint_cursor_pose_brush_segments_draw(), blender::ed::sculpt_paint::paint_cursor_preview_boundary_data_pivot_draw(), blender::ed::sculpt_paint::paint_draw_curve_cursor(), blender::ed::sculpt_paint::boundary::pivot_line_preview_draw(), radial_control_paint_curve(), blender::ed::sculpt_paint::sculpt_geometry_preview_lines_draw(), ui_draw_but_HISTOGRAM(), ui_draw_but_VECTORSCOPE(), ui_draw_but_WAVEFORM(), vectorscope_draw_target(), blender::ed::object::voxel_size_edit_draw(), wm_gesture_draw_circle(), wm_gesture_draw_rect(), and wm_software_cursor_draw_crosshair().

◆ immUniformColor4fv()

void immUniformColor4fv ( const float rgba[4])

Definition at line 635 of file gpu_immediate.cc.

References immUniformColor4f().

Referenced by arrow_draw_geom(), button2d_draw_intern(), button2d_geom_draw_backdrop(), clip_draw_dopesheet_main(), dial_geom_draw(), dial_ghostarc_draw(), dial_ghostarc_draw_helpline(), draw_anti_tria(), blender::ed::sculpt_paint::draw_bezier_handle_lines(), draw_distortion(), draw_nla_main_data(), blender::ed::sculpt_paint::draw_rect_point(), blender::ed::sculpt_paint::draw_tri_point(), blender::ed::sculpt_paint::dyntopo::dyntopo_detail_size_edit_draw(), ED_region_do_draw(), ED_region_info_draw_multiline(), file_draw_preview(), gizmo_primitive_draw_geom(), gizmo_ruler_draw(), histogram_draw_one(), immDrawPixelsTexScaledFullSize(), immDrawPixelsTexTiled_scaling_clipping(), immUniformThemeColor(), immUniformThemeColorAlpha(), immUniformThemeColorBlendShade(), immUniformThemeColorShade(), immUniformThemeColorShadeAlpha(), knifetool_draw_angle(), knifetool_draw_visible_distances(), move_geom_draw(), nla_action_draw_keyframes(), blender::ed::outliner::outliner_draw_highlights(), blender::ed::sculpt_paint::paint_draw_cursor_overlay(), blender::ed::sculpt_paint::paint_draw_tex_overlay(), region_draw_emboss(), rounded_corners(), set_fcurve_vertex_color(), blender::gpu::tests::test_immediate_one_plane(), blender::gpu::tests::test_immediate_two_planes(), tracking_segment_start_cb(), ui_draw_but_CURVE(), ui_draw_button_sections_alignment_separator(), ui_draw_rounded_corners_inverted(), UI_draw_text_underline(), UI_panel_category_draw_all(), ui_tooltip_region_draw_cb(), wide_line_workaround_start(), wm_gizmo_vec_draw(), and wm_xr_raycast_draw().

◆ immUniformColor4ub()

◆ immUniformColor4ubv()

◆ immUniformMatrix4fv()

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

Definition at line 595 of file gpu_immediate.cc.

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

Referenced by dial_geom_draw().

◆ immUniformThemeColor()

◆ immUniformThemeColor3()

◆ immUniformThemeColorAlpha()

void immUniformThemeColorAlpha ( int color_id,
float a )

◆ immUniformThemeColorBlend()

◆ immUniformThemeColorBlendShade()

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

Definition at line 720 of file gpu_immediate.cc.

References immUniformColor4fv(), and UI_GetThemeColorBlendShade4fv().

Referenced by ED_region_grid_draw().

◆ immUniformThemeColorShade()

◆ immUniformThemeColorShadeAlpha()

◆ immVertex2f()

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

Definition at line 505 of file gpu_immediate.cc.

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

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_columnheader_columns(), draw_cross(), draw_disk_shaded(), draw_display_buffer(), draw_distortion(), draw_fcurve_curve(), draw_fcurve_modifier_controls_envelope(), draw_frame_curves(), draw_keyframe_shape(), draw_keyframe_shape(), draw_lasso_smooth_stroke_indicator(), 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_timeline_sfra_efra(), draw_tracking_tracks(), draw_view_axis(), drawArrow(), drawFlyPixel(), drawviewborder(), drawviewborder_grid3(), drawviewborder_triangle(), ED_image_draw_cursor(), ED_node_draw_snap(), ED_region_grid_draw(), gizmo_ruler_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_draw_hidden(), blender::ed::space_node::node_socket_draw(), blender::ed::outliner::outliner_back(), blender::ed::outliner::outliner_draw_hierarchy_line(), blender::ed::outliner::outliner_draw_separator(), blender::ed::outliner::outliner_draw_struct_marks(), blender::ed::sculpt_paint::paint_draw_cursor_overlay(), blender::ed::sculpt_paint::paint_draw_line_cursor(), blender::ed::sculpt_paint::paint_draw_smooth_cursor(), blender::ed::sculpt_paint::paint_draw_tex_overlay(), playanim_toscreen_ex(), radial_control_paint_cursor(), radial_control_paint_curve(), radial_control_paint_tex(), region_draw_emboss(), rounded_corners(), seq_draw_image_origin_and_outline(), sequencer_draw_display_buffer(), sequencer_draw_scopes(), 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_but_TRACKPREVIEW(), ui_draw_but_VECTORSCOPE(), ui_draw_but_WAVEFORM(), ui_draw_colorband_handle(), ui_draw_colorband_handle_box(), ui_draw_colorband_handle_tri(), ui_draw_gradient(), ui_draw_popover_back_impl(), ui_draw_rounded_corners_inverted(), ui_draw_separator(), ui_hsv_cursor(), UI_view2d_dot_grid_draw(), UI_view2d_multi_grid_draw(), vectorscope_draw_target(), vertex_draw(), widget_swatch(), wm_gesture_draw_cross(), wm_gesture_draw_lasso(), wm_gesture_draw_line(), wm_gesture_draw_line_active_side(), wm_gesture_draw_polyline(), wm_stereo3d_draw_sidebyside(), and wm_stereo3d_draw_topbottom().

◆ immVertex2fv()

◆ immVertex2i()

◆ immVertex2iv()

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

Definition at line 547 of file gpu_immediate.cc.

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

Referenced by draw_dividers().

◆ immVertex2s()

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

Definition at line 529 of file gpu_immediate.cc.

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

◆ immVertex3f()

◆ immVertex3fv()

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

Definition at line 541 of file gpu_immediate.cc.

References attr_id, immAttr3f(), and immEndVertex().

Referenced by annotation_draw_stroke_3d(), annotation_draw_stroke_point(), button2d_draw_intern(), blender::ed::curves::curve_draw_stroke_3d(), curve_draw_stroke_3d(), dial_ghostarc_draw_helpline(), dial_ghostarc_draw_incremental_angle(), blender::ed::greasepencil::image_render::draw_circles(), blender::ed::greasepencil::draw_control_points(), blender::ed::greasepencil::image_render::draw_dot(), blender::ed::greasepencil::image_render::draw_dots(), blender::ed::greasepencil::image_render::draw_grease_pencil_stroke(), blender::ed::greasepencil::image_render::draw_lines(), blender::ed::greasepencil::image_render::draw_polyline(), drawConstraint(), drawEdgeSlide(), drawLine(), drawSnapping(), drawVertSlide(), blender::ed::sculpt_paint::dyntopo::dyntopo_detail_size_edit_draw(), blender::ed::sculpt_paint::dyntopo::dyntopo_detail_size_parallel_lines_draw(), ED_view3d_cursor_snap_draw_util(), EDBM_preselect_edgering_draw(), EDBM_preselect_elem_draw(), blender::ed::sculpt_paint::boundary::edges_preview_draw(), gizmo_axis_draw(), gizmo_ruler_draw(), 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_drawcircball(), knifetool_draw(), knifetool_draw_angle(), knifetool_draw_angle_snapping(), knifetool_draw_orientation_locking(), blender::ed::sculpt_paint::min_distance_edit::min_distance_edit_draw(), blender::ed::space_node::node_draw_zones_and_frames(), blender::ed::sculpt_paint::paint_cursor_pose_brush_segments_draw(), blender::ed::sculpt_paint::boundary::pivot_line_preview_draw(), blender::ed::sculpt_paint::sculpt_geometry_preview_lines_draw(), v3d_cursor_plane_draw_grid(), blender::ed::object::voxel_size_edit_draw(), blender::ed::object::voxel_size_parallel_lines_draw(), wm_gizmo_vec_draw(), wm_xr_controller_aim_draw(), and wm_xr_raycast_draw().

◆ immVertex4f()

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

Definition at line 517 of file gpu_immediate.cc.

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

◆ immVertexFormat()

GPUVertFormat * immVertexFormat ( )

Returns a cleared vertex format, ready for #add_attr.

Definition at line 38 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_wire(), cage2d_draw_rect_corner_handles(), cage2d_draw_rect_edge_handles(), cage2d_draw_rect_wire(), cage3d_draw_box_corners(), cage3d_draw_box_interaction(), cage3d_draw_circle_handles(), cage3d_draw_circle_wire(), channel_list_draw_keys(), clip_draw_dopesheet_channels(), clip_draw_dopesheet_main(), clip_draw_graph(), clip_draw_sfra_efra(), console_textview_draw_cursor(), cursor_box_draw(), blender::ed::curves::curve_draw_stroke_3d(), curve_draw_stroke_3d(), dial_geom_draw(), dial_ghostarc_draw(), dial_ghostarc_draw_helpline(), dial_ghostarc_draw_incremental_angle(), BlenderDisplayDriver::draw(), draw_anti_tria(), draw_azone_arrow(), draw_background(), draw_background(), draw_channel_strips(), blender::ed::greasepencil::image_render::draw_circles(), draw_columnheader_background(), draw_columnheader_columns(), blender::ed::greasepencil::draw_control_points(), draw_current_frame(), draw_disk_shaded(), draw_display_buffer(), draw_distortion(), draw_dividers(), blender::ed::greasepencil::image_render::draw_dot(), blender::ed::greasepencil::image_render::draw_dots(), draw_fcurve(), draw_fcurve_handles(), draw_fcurve_modifier_controls_envelope(), draw_fcurve_samples(), draw_fcurve_vertices(), blender::ed::greasepencil::image_render::draw_grease_pencil_stroke(), draw_image_cache(), draw_image_sample_line(), draw_line_bounds(), draw_line_loop(), draw_line_pairs(), blender::ed::greasepencil::image_render::draw_lines(), draw_marker_areas(), draw_marker_line(), draw_markers_background(), draw_movieclip_cache(), draw_movieclip_muted(), draw_nla_main_data(), blender::ed::space_node::draw_nodespace_back_pix(), draw_normalization_borders(), draw_overlap_frame_indicator(), draw_overshoot_triangle(), draw_parallel_lines(), draw_plane_marker_ex(), draw_plane_marker_image(), blender::ed::greasepencil::image_render::draw_polyline(), draw_render_info(), draw_seq_timeline_channels(), draw_single_handle(), draw_spline_points(), blender::ed::spreadsheet::draw_spreadsheet_in_region(), draw_stabilization_border(), draw_timeline_sfra_efra(), draw_track_path(), draw_tracking_tracks(), draw_view_axis(), drawConstraint(), drawEdgeSlide(), drawFlyPixel(), drawLine(), drawPropCircle(), drawPropRange(), drawrenderborder(), drawSnapping(), drawVertSlide(), drawviewborder(), drawWalkPixel(), DRW_draw_cursor(), blender::ed::sculpt_paint::dyntopo::dyntopo_detail_size_edit_draw(), ED_image_draw_cursor(), ED_image_draw_info(), ED_imbuf_sample_draw(), ED_mask_draw_frames(), 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(), 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_draw_hidden(), blender::ed::space_node::node_draw_preview_background(), blender::ed::space_node::node_draw_sockets(), blender::ed::space_node::node_draw_zones_and_frames(), blender::ed::space_node::node_socket_draw(), blender::ed::outliner::outliner_back(), blender::ed::outliner::outliner_draw_hierarchy_lines(), blender::ed::outliner::outliner_draw_highlights(), blender::ed::outliner::outliner_draw_separator(), blender::ed::outliner::outliner_draw_struct_marks(), blender::ed::sculpt_paint::paint_cursor_setup_2D_drawing(), blender::ed::sculpt_paint::paint_cursor_setup_3D_drawing(), blender::ed::sculpt_paint::paint_draw_cursor_overlay(), blender::ed::sculpt_paint::paint_draw_curve_cursor(), blender::ed::sculpt_paint::paint_draw_line_cursor(), blender::ed::sculpt_paint::paint_draw_smooth_cursor(), blender::ed::sculpt_paint::paint_draw_tex_overlay(), playanim_toscreen_ex(), radial_control_paint_cursor(), radial_control_paint_tex(), region_draw_emboss(), rounded_corners(), seq_draw_image_origin_and_outline(), sequencer_draw_borders_overlay(), sequencer_draw_display_buffer(), sequencer_draw_scopes(), sequencer_retiming_keys_draw(), blender::gpu::tests::test_immediate_one_plane(), blender::gpu::tests::test_immediate_two_planes(), textview_draw_sel(), textview_draw_string(), timeline_draw_cache(), transform_draw_cursor_draw(), 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_TRACKPREVIEW(), ui_draw_but_UNITVEC(), ui_draw_but_VECTORSCOPE(), ui_draw_but_WAVEFORM(), ui_draw_button_sections_alignment_separator(), ui_draw_gradient(), ui_draw_pie_center(), ui_draw_popover_back_impl(), ui_draw_rounded_corners_inverted(), ui_draw_separator(), UI_draw_text_underline(), ui_hsv_cursor(), UI_panel_category_draw_all(), ui_tooltip_region_draw_cb(), 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(), blender::ed::object::voxel_size_edit_draw(), widget_draw_extra_mask(), widget_draw_text(), widget_progress_type_ring(), 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_polyline(), 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()

Variable Documentation

◆ imm