Blender V5.0
GPU_immediate.hh File Reference
#include "GPU_batch.hh"
#include "GPU_immediate_util.hh"
#include "GPU_primitive.hh"
#include "GPU_shader.hh"
#include "GPU_texture.hh"
#include "GPU_vertex_format.hh"

Go to the source code of this file.

Namespaces

namespace  blender
namespace  blender::gpu

Functions

GPUVertFormatimmVertexFormat ()
void immBindShader (blender::gpu::Shader *shader)
void immUnbindProgram ()
bool immIsShaderBound ()
void immBegin (GPUPrimType, uint vertex_len)
void immBeginAtMost (GPUPrimType, uint max_vertex_len)
void immEnd ()
blender::gpu::Batch * immBeginBatch (GPUPrimType, uint vertex_len)
blender::gpu::Batch * immBeginBatchAtMost (GPUPrimType, uint vertex_len)
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 immAttr2i (uint attr_id, int x, int y)
void immAttr1u (uint attr_id, uint x)
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 immAttr4ub (uint attr_id, unsigned char r, unsigned char g, unsigned char b, unsigned char a)
void immAttr4ubv (uint attr_id, const unsigned char data[4])
void immAttrSkip (uint attr_id)
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 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 immUniform1i (const char *name, int x)
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 *bare_name, const float *data, int count)
void immUniformMatrix4fv (const char *name, const float data[4][4])
void immBindTexture (const char *name, blender::gpu::Texture *tex)
void immBindTextureSampler (const char *name, blender::gpu::Texture *tex, GPUSamplerState state)
void immBindUniformBuf (const char *name, blender::gpu::UniformBuf *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 (unsigned char r, unsigned char g, unsigned char b)
void immUniformColor4ub (unsigned char r, unsigned char g, unsigned char b, unsigned char a)
void immUniformColor3ubv (const unsigned char rgb[3])
void immUniformColor3ubvAlpha (const unsigned char rgb[3], unsigned char a)
void immUniformColor4ubv (const unsigned char rgba[4])
void immBindBuiltinProgram (GPUBuiltinShader shader_id)
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)

Detailed Description

GPU immediate mode work-alike

Definition in file GPU_immediate.hh.

Function Documentation

◆ immAttr1f()

◆ immAttr1u()

◆ immAttr2f()

◆ immAttr2fv()

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

Definition at line 462 of file gpu_immediate.cc.

References attr_id, data, and immAttr2f().

◆ immAttr2i()

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

◆ immAttr3f()

◆ immAttr3fv()

◆ immAttr4f()

◆ immAttr4fv()

◆ immAttr4ub()

◆ immAttr4ubv()

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

Definition at line 495 of file gpu_immediate.cc.

References attr_id, data, and immAttr4ub().

Referenced by draw_keyframe_shape(), and widget_draw_vertex_buffer().

◆ immAttrSkip()

void immAttrSkip ( uint attr_id)

◆ immBegin()

void immBegin ( GPUPrimType prim_type,
uint vertex_len )

Must supply exactly vertex_len vertices.

Definition at line 200 of file gpu_immediate.cc.

References BLI_assert, GPU_PRIM_NONE, imm, vertex_count_makes_sense_for_primitive(), 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(), 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_current_frame(), blender::ed::vse::draw_cursor_2d(), 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(), blender::ed::vse::draw_overlap_frame_indicator(), draw_overshoot_triangle(), draw_parallel_lines(), draw_plane_marker_ex(), draw_plane_marker_image(), draw_single_handle(), draw_spline_points(), blender::ed::vse::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(), blender::ed::transform::drawArrow(), blender::ed::transform::drawConstraint(), blender::ed::transform::drawEdgeSlide(), drawFlyPixel(), blender::ed::transform::drawLine(), blender::ed::transform::drawSnapping(), blender::ed::transform::drawVertSlide(), drawviewborder(), drawviewborder_grid3(), drawviewborder_triangle(), drawWalkPixel(), 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_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(), immRectf_with_texco(), immRecti(), knife_draw_line(), knifetool_draw(), knifetool_draw_angle(), mask_draw_array(), blender::ed::sculpt_paint::min_distance_edit::min_distance_edit_draw(), move_geom_draw(), blender::ed::sculpt_paint::brushes::multiplane_scrape_preview_draw(), nla_action_draw_keyframes(), nla_draw_strip_curves(), blender::ed::space_node::node_draw_collapsed(), blender::ed::space_node::node_draw_zones_and_frames(), 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(), blender::ed::vse::strip_draw_image_origin_and_outline(), blender::gpu::tests::test_immediate_one_plane(), blender::gpu::tests::test_immediate_two_planes(), blender::ed::vse::text_edit_draw_cursor(), blender::ed::vse::text_selection_draw(), blender::ed::transform::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 )

◆ immBindBuiltinProgram()

void immBindBuiltinProgram ( GPUBuiltinShader 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 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(), ANIM_draw_scene_strip_range(), 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_rotate_handle(), 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(), 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(), blender::ed::vse::draw_cursor_2d(), 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(), draw_frame_curves(), blender::ed::greasepencil::image_render::draw_grease_pencil_stroke(), draw_image_cache(), draw_image_sample_line(), draw_image_uv_custom_region(), draw_lasso_smooth_stroke_indicator(), blender::ed::greasepencil::image_render::draw_lines(), draw_marker_areas(), draw_marker_line(), draw_marker_outline(), draw_marker_slide_zones(), draw_markers_background(), draw_movieclip_cache(), draw_movieclip_muted(), draw_nla_main_data(), blender::ed::space_node::draw_nodespace_back_pix(), draw_normalization_borders(), blender::ed::vse::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(), blender::ed::vse::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_suggestion_list(), draw_text_decoration(), draw_text_main(), draw_textscroll(), blender::ed::vse::draw_timeline_sfra_efra(), draw_track_path(), draw_tracking_tracks(), draw_view_axis(), blender::ed::transform::drawConstraint(), blender::ed::transform::drawEdgeSlide(), drawFlyPixel(), blender::ed::transform::drawLine(), blender::ed::transform::drawPropCircle(), blender::ed::transform::drawPropRange(), drawrenderborder(), blender::ed::transform::drawSnapping(), blender::ed::transform::drawVertSlide(), drawviewborder(), drawWalkPixel(), 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_do_draw(), ED_region_draw_mouse_line_cb(), ED_region_grid_draw(), ED_region_image_metadata_draw(), ED_region_image_render_region_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(), knife_draw_line(), knifetool_draw(), knifetool_draw_angle(), 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_draw_collapsed(), blender::ed::space_node::node_draw_preview_background(), blender::ed::space_node::node_draw_zones_and_frames(), blender::ed::outliner::outliner_back(), blender::ed::outliner::outliner_draw_hierarchy_lines(), 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(), blender::ed::vse::preview_draw_texture_simple(), radial_control_paint_cursor(), radial_control_paint_tex(), rounded_corners(), blender::ed::vse::sequencer_draw_borders_overlay(), blender::ed::vse::sequencer_draw_scopes(), blender::ed::vse::sequencer_preview_draw_overlays(), blender::ed::vse::sequencer_retiming_keys_draw(), blender::ed::vse::strip_draw_image_origin_and_outline(), blender::gpu::tests::test_immediate_one_plane(), blender::gpu::tests::test_immediate_two_planes(), blender::ed::vse::text_edit_draw(), textview_draw_sel(), textview_draw_string(), timeline_draw_cache(), tracking_segment_knot_cb(), tracking_segment_start_cb(), blender::ed::transform::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()

void immBindShader ( blender::gpu::Shader * shader)

Every immBegin must have a program bound first.

Definition at line 45 of file gpu_immediate.cc.

References BLI_assert, GPU_matrix_bind(), GPU_shader_bind(), imm, and VertexFormat_pack().

Referenced by BlenderDisplayDriver::draw(), and immBindBuiltinProgram().

◆ immBindTexture()

void immBindTexture ( const char * name,
blender::gpu::Texture * tex )

◆ immBindTextureSampler()

◆ immBindUniformBuf()

void immBindUniformBuf ( const char * name,
blender::gpu::UniformBuf * ubo )

◆ immEnd()

void immEnd ( )

Definition at line 250 of file gpu_immediate.cc.

References blender::gpu::Context::assert_framebuffer_shader_compatibility(), BLI_assert, blender::gpu::Context::get(), GPU_BATCH_BUILDING, GPU_batch_set_shader(), GPU_PRIM_NONE, GPU_vertbuf_data_resize(), imm, vertex_count_makes_sense_for_primitive(), 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(), 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_current_frame(), blender::ed::vse::draw_cursor_2d(), 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(), blender::ed::vse::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(), blender::ed::vse::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(), blender::ed::transform::drawArrow(), blender::ed::transform::drawConstraint(), blender::ed::transform::drawEdgeSlide(), drawFlyPixel(), blender::ed::transform::drawLine(), blender::ed::transform::drawSnapping(), blender::ed::transform::drawVertSlide(), drawviewborder(), drawviewborder_grid3(), drawviewborder_triangle(), drawWalkPixel(), 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_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(), immRectf_with_texco(), immRecti(), knife_draw_line(), knifetool_draw(), knifetool_draw_angle(), mask_draw_array(), blender::ed::sculpt_paint::min_distance_edit::min_distance_edit_draw(), move_geom_draw(), blender::ed::sculpt_paint::brushes::multiplane_scrape_preview_draw(), nla_action_draw_keyframes(), nla_actionclip_draw_markers(), nla_draw_strip(), nla_draw_strip_curves(), blender::ed::space_node::node_draw_collapsed(), blender::ed::space_node::node_draw_zones_and_frames(), 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(), blender::ed::vse::sequencer_retiming_keys_draw(), blender::ed::vse::strip_draw_image_origin_and_outline(), blender::gpu::tests::test_immediate_one_plane(), blender::gpu::tests::test_immediate_two_planes(), blender::ed::vse::text_edit_draw_cursor(), blender::ed::vse::text_selection_draw(), timeline_cache_draw_cached_segments(), timeline_cache_draw_geometry_nodes(), tracking_segment_end_cb(), blender::ed::transform::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().

◆ immIsShaderBound()

bool immIsShaderBound ( )

Check if there is a shader bound.

Useful to trigger asserts when immediate mode drawing and batch based drawing are mixed. It isn't allowed to have an immediate mode shader bound when a batch is drawn.

TODO: We should move these asserts to batch drawing, but didn't do that as it was never forced.

Definition at line 76 of file gpu_immediate.cc.

References imm.

Referenced by waveform_draw_one().

◆ 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(), and imm.

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(), ANIM_draw_scene_strip_range(), 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_rotate_handle(), 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(), 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(), blender::ed::vse::draw_cursor_2d(), 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(), draw_frame_curves(), blender::ed::greasepencil::image_render::draw_grease_pencil_stroke(), draw_image_cache(), draw_image_sample_line(), draw_image_uv_custom_region(), draw_lasso_smooth_stroke_indicator(), blender::ed::greasepencil::image_render::draw_lines(), draw_marker_areas(), draw_marker_line(), draw_marker_outline(), draw_marker_slide_zones(), draw_markers_background(), draw_movieclip_cache(), draw_movieclip_muted(), draw_nla_main_data(), blender::ed::space_node::draw_nodespace_back_pix(), draw_normalization_borders(), blender::ed::vse::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(), blender::ed::vse::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_suggestion_list(), draw_text_decoration(), draw_text_main(), draw_textscroll(), blender::ed::vse::draw_timeline_sfra_efra(), draw_track_path(), draw_tracking_tracks(), draw_view_axis(), blender::ed::transform::drawConstraint(), blender::ed::transform::drawEdgeSlide(), drawFlyPixel(), blender::ed::transform::drawLine(), blender::ed::transform::drawPropCircle(), blender::ed::transform::drawPropRange(), drawrenderborder(), blender::ed::transform::drawSnapping(), blender::ed::transform::drawVertSlide(), drawviewborder(), drawWalkPixel(), 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_do_draw(), ED_region_draw_mouse_line_cb(), ED_region_grid_draw(), ED_region_image_metadata_draw(), ED_region_image_render_region_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(), knife_draw_line(), knifetool_draw(), knifetool_draw_angle(), 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_draw_collapsed(), blender::ed::space_node::node_draw_preview_background(), blender::ed::space_node::node_draw_zones_and_frames(), blender::ed::outliner::outliner_back(), blender::ed::outliner::outliner_draw_hierarchy_lines(), 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(), blender::ed::vse::preview_draw_texture_simple(), radial_control_paint_cursor(), radial_control_paint_tex(), rounded_corners(), blender::ed::vse::sequencer_draw_borders_overlay(), blender::ed::vse::sequencer_draw_scopes(), blender::ed::vse::sequencer_preview_draw_overlays(), blender::ed::vse::sequencer_retiming_keys_draw(), blender::ed::vse::strip_draw_image_origin_and_outline(), blender::gpu::tests::test_immediate_one_plane(), blender::gpu::tests::test_immediate_two_planes(), blender::ed::vse::text_edit_draw(), textview_draw_sel(), textview_draw_string(), timeline_draw_cache(), tracking_segment_end_cb(), tracking_segment_knot_cb(), blender::ed::transform::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(), blender::ocio::GPUShaderBinder::unbind(), 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 581 of file gpu_immediate.cc.

References GPU_shader_uniform_1f(), imm, name, 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(), 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(), blender::ed::vse::draw_cursor_2d(), draw_fcurve(), draw_fcurve_handle_vertices(), draw_fcurve_keyframe_vertices(), draw_fcurve_modifier_controls_envelope(), draw_image_sample_line(), draw_image_uv_custom_region(), draw_marker_areas(), draw_marker_line(), draw_marker_outline(), blender::ed::vse::draw_overlap_frame_indicator(), draw_parallel_lines(), draw_plane_marker_ex(), draw_single_handle(), draw_spline_points(), draw_stabilization_border(), draw_track_path(), draw_tracking_tracks(), blender::ed::transform::drawConstraint(), blender::ed::transform::drawLine(), blender::ed::transform::drawPropCircle(), blender::ed::transform::drawPropRange(), drawrenderborder(), blender::ed::transform::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(), knifetool_draw(), 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_zones_and_frames(), blender::ed::outliner::outliner_draw_hierarchy_line(), blender::ed::outliner::outliner_draw_hierarchy_lines(), blender::ed::sculpt_paint::paint_draw_line_cursor(), blender::ed::vse::sequencer_draw_borders_overlay(), blender::ed::vse::sequencer_draw_scopes(), blender::ed::vse::sequencer_retiming_keys_draw(), blender::ed::vse::strip_draw_image_origin_and_outline(), tracking_segment_start_cb(), blender::ed::transform::transform_draw_cursor_draw(), ui_draw_but_CURVE(), ui_draw_but_CURVEPROFILE(), 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(), and wm_xr_controller_aim_draw().

◆ immUniform1i()

void immUniform1i ( const char * name,
int x )

Definition at line 626 of file gpu_immediate.cc.

References GPU_shader_uniform_1i(), imm, name, and x.

Referenced by ANIM_draw_action_framerange(), annotation_draw_eraser(), draw_fcurve(), draw_fcurve_modifier_controls_envelope(), draw_image_sample_line(), draw_image_uv_custom_region(), draw_marker_areas(), draw_marker_line(), blender::ed::vse::draw_overlap_frame_indicator(), draw_plane_marker_ex(), draw_stabilization_border(), blender::ed::vse::draw_timeline_sfra_efra(), blender::ed::transform::drawConstraint(), drawrenderborder(), blender::ed::transform::drawVertSlide(), drawviewborder(), ED_image_draw_cursor(), ED_region_draw_mouse_line_cb(), gizmo_ruler_draw(), GPU_viewport_stereo_composite(), graph_draw_driver_debug(), graph_draw_ghost_curves(), blender::ed::sculpt_paint::grease_pencil_eraser_draw(), imm_draw_box_checker_2d_ex(), mask_draw_curve_type(), nla_actionclip_draw_markers(), nla_draw_use_dashed_outlines(), blender::ed::space_node::node_draw_preview_background(), blender::ed::outliner::outliner_draw_hierarchy_lines(), blender::ed::sculpt_paint::paint_draw_line_cursor(), blender::ed::vse::sequencer_draw_borders_overlay(), blender::ed::vse::sequencer_draw_scopes(), timeline_draw_cache(), blender::ed::transform::transform_draw_cursor_draw(), ui_draw_but_COLORBAND(), ui_draw_colorband_handle(), wide_line_workaround_end(), wide_line_workaround_start(), wm_gesture_draw_circle(), wm_gesture_draw_cross(), wm_gesture_draw_lasso(), wm_gesture_draw_line(), wm_gesture_draw_polyline(), and wm_gesture_draw_rect().

◆ immUniform2f()

◆ immUniform2fv()

◆ immUniform3f()

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

Definition at line 596 of file gpu_immediate.cc.

References GPU_shader_uniform_3f(), imm, name, x, y, and z().

◆ immUniform3fv()

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

Definition at line 601 of file gpu_immediate.cc.

References data, GPU_shader_uniform_3fv(), imm, and name.

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

References count, data, float, GPU_shader_uniform_4fv_array(), imm, and name.

◆ immUniformColor3f()

◆ immUniformColor3fv()

◆ immUniformColor3fvAlpha()

◆ immUniformColor3ub()

◆ immUniformColor3ubv()

◆ immUniformColor3ubvAlpha()

void immUniformColor3ubvAlpha ( const unsigned char rgb[3],
unsigned char a )

◆ immUniformColor4f()

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

Definition at line 651 of file gpu_immediate.cc.

References b, BLI_assert, copy_v4_v4(), data, GPU_shader_get_builtin_uniform(), GPU_shader_uniform_float_ex(), GPU_UNIFORM_COLOR, and imm.

Referenced by annotation_draw_eraser(), annotation_draw_stabilizer(), clip_draw_dopesheet_background(), dial_ghostarc_draw(), draw_azone_arrow(), blender::ed::sculpt_paint::draw_bezier_handle_lines(), draw_frame_curves(), 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(), blender::ed::transform::drawConstraint(), blender::ed::transform::drawVertSlide(), blender::ed::sculpt_paint::dyntopo::dyntopo_detail_size_edit_draw(), ED_region_do_draw(), ED_region_image_render_region_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 661 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_current_frame(), draw_distortion(), draw_marker_areas(), draw_nla_main_data(), blender::ed::sculpt_paint::draw_rect_point(), draw_text_decoration(), draw_text_main(), draw_tracking_tracks(), blender::ed::sculpt_paint::draw_tri_point(), drawviewborder(), 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(), immUniformThemeColor(), immUniformThemeColorAlpha(), immUniformThemeColorBlendShade(), immUniformThemeColorShade(), immUniformThemeColorShadeAlpha(), knifetool_draw_angle(), knifetool_draw_visible_distances(), move_geom_draw(), nla_action_draw_keyframes(), blender::ed::sculpt_paint::paint_draw_cursor_overlay(), blender::ed::sculpt_paint::paint_draw_tex_overlay(), rounded_corners(), set_fcurve_vertex_color(), blender::gpu::tests::test_immediate_one_plane(), blender::gpu::tests::test_immediate_two_planes(), tracking_segment_start_cb(), blender::ed::transform::transform_draw_cursor_draw(), 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 621 of file gpu_immediate.cc.

References data, GPU_shader_uniform_mat4(), imm, and name.

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 746 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 537 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(), draw_anti_tria(), draw_azone_arrow(), draw_channel_strips(), draw_columnheader_columns(), draw_cross(), draw_current_frame(), blender::ed::vse::draw_cursor_2d(), draw_disk_shaded(), draw_display_buffer(), draw_distortion(), draw_fcurve_curve(), draw_fcurve_modifier_controls_envelope(), draw_frame_curves(), draw_keyframe(), 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(), blender::ed::vse::draw_overlap_frame_indicator(), draw_overshoot_triangle(), draw_parallel_lines(), blender::ed::spreadsheet::draw_separator_lines(), draw_spline_points(), blender::ed::vse::draw_timeline_sfra_efra(), draw_tracking_tracks(), draw_view_axis(), blender::ed::transform::drawArrow(), drawFlyPixel(), drawviewborder(), drawviewborder_grid3(), drawviewborder_triangle(), drawWalkPixel(), ED_image_draw_cursor(), ED_mask_draw_frames(), ED_region_grid_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_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(), immRectf_with_texco(), nla_actionclip_draw_markers(), nla_draw_strip(), nla_draw_strip_curves(), blender::ed::space_node::node_draw_collapsed(), 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(), rounded_corners(), blender::ed::vse::strip_draw_image_origin_and_outline(), blender::ed::vse::text_edit_draw_cursor(), blender::ed::vse::text_selection_draw(), tracking_segment_point_cb(), blender::ed::transform::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()

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

Definition at line 555 of file gpu_immediate.cc.

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

Referenced by immRecti(), and immRecti_fast_with_color().

◆ immVertex2iv()

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

Definition at line 573 of file gpu_immediate.cc.

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

◆ immVertex3f()

◆ immVertex3fv()

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

Definition at line 567 of file gpu_immediate.cc.

References attr_id, data, 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(), blender::ed::transform::drawConstraint(), blender::ed::transform::drawEdgeSlide(), blender::ed::transform::drawLine(), blender::ed::transform::drawSnapping(), blender::ed::transform::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(), knife_draw_line(), knifetool_draw(), knifetool_draw_angle(), 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 549 of file gpu_immediate.cc.

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

◆ immVertexFormat()

GPUVertFormat * immVertexFormat ( )

Returns a cleared vertex format, ready for #add_attr.

Definition at line 39 of file gpu_immediate.cc.

References GPU_vertformat_clear(), and imm.

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(), ANIM_draw_scene_strip_range(), 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_rotate_handle(), 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(), 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(), blender::ed::vse::draw_cursor_2d(), 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_image_uv_custom_region(), 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(), blender::ed::vse::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(), blender::ed::vse::draw_seq_timeline_channels(), draw_single_handle(), draw_spline_points(), blender::ed::spreadsheet::draw_spreadsheet_in_region(), draw_stabilization_border(), draw_suggestion_list(), draw_text_decoration(), draw_text_main(), draw_textscroll(), blender::ed::vse::draw_timeline_sfra_efra(), draw_track_path(), draw_tracking_tracks(), draw_view_axis(), blender::ed::transform::drawConstraint(), blender::ed::transform::drawEdgeSlide(), drawFlyPixel(), blender::ed::transform::drawLine(), blender::ed::transform::drawPropCircle(), blender::ed::transform::drawPropRange(), drawrenderborder(), blender::ed::transform::drawSnapping(), blender::ed::transform::drawVertSlide(), drawviewborder(), drawWalkPixel(), 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_do_draw(), ED_region_draw_mouse_line_cb(), ED_region_grid_draw(), ED_region_image_metadata_draw(), ED_region_image_render_region_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(), knife_draw_line(), knifetool_draw(), knifetool_draw_angle(), 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_draw_collapsed(), blender::ed::space_node::node_draw_preview_background(), blender::ed::space_node::node_draw_zones_and_frames(), blender::ed::outliner::outliner_back(), blender::ed::outliner::outliner_draw_hierarchy_lines(), 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(), blender::ed::vse::preview_draw_texture_simple(), blender::ed::vse::preview_draw_texture_to_linear(), radial_control_paint_cursor(), radial_control_paint_tex(), rounded_corners(), blender::ed::vse::sequencer_draw_borders_overlay(), blender::ed::vse::sequencer_draw_scopes(), blender::ed::vse::sequencer_preview_draw_overlays(), blender::ed::vse::sequencer_retiming_keys_draw(), blender::ed::vse::strip_draw_image_origin_and_outline(), blender::gpu::tests::test_immediate_one_plane(), blender::gpu::tests::test_immediate_two_planes(), blender::ed::vse::text_edit_draw(), textview_draw_sel(), textview_draw_string(), timeline_draw_cache(), blender::ed::transform::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(), blender::ed::vse::update_gpu_scopes(), 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().