Blender V4.3
draw_debug.cc File Reference

Simple API to draw debug shapes in the viewport. More...

#include "BKE_object.hh"
#include "BLI_link_utils.h"
#include "BLI_math_matrix.hh"
#include "GPU_batch.hh"
#include "GPU_capabilities.hh"
#include "GPU_debug.hh"
#include "draw_debug.hh"
#include "draw_debug_c.hh"
#include "draw_manager_c.hh"
#include "draw_shader.hh"
#include "draw_shader_shared.hh"
#include <iomanip>
#include <sstream>

Go to the source code of this file.

Namespaces

namespace  blender
 
namespace  blender::draw
 

Functions

DebugDraw Access
blender::draw::DebugDrawDRW_debug_get ()
 
C-API private
void drw_debug_draw ()
 
void drw_debug_init ()
 
void drw_debug_module_free (DRWDebugModule *module)
 
GPUStorageBuf * drw_debug_gpu_draw_buf_get ()
 
GPUStorageBuf * drw_debug_gpu_print_buf_get ()
 
C-API public
void DRW_debug_modelmat_reset ()
 
void DRW_debug_modelmat (const float modelmat[4][4])
 
void DRW_debug_line_v3v3 (const float v1[3], const float v2[3], const float color[4])
 
void DRW_debug_polygon_v3 (const float(*v)[3], int vert_len, const float color[4])
 
void DRW_debug_m4 (const float m[4][4])
 
void DRW_debug_m4_as_bbox (const float m[4][4], bool invert, const float color[4])
 
void DRW_debug_bbox (const BoundBox *bbox, const float color[4])
 
void DRW_debug_sphere (const float center[3], float radius, const float color[4])
 

Detailed Description

Simple API to draw debug shapes in the viewport.

Definition in file draw_debug.cc.

Function Documentation

◆ DRW_debug_bbox()

void DRW_debug_bbox ( const BoundBox * bbox,
const float color[4] )

Definition at line 700 of file draw_debug.cc.

References DRWManager::debug, DST, and UNUSED_VARS.

Referenced by DRW_sculpt_debug_cb(), and DRW_view_update().

◆ drw_debug_draw()

void drw_debug_draw ( )

Definition at line 612 of file draw_debug.cc.

References DRWManager::debug, and DST.

Referenced by DRW_draw_callbacks_post_scene().

◆ DRW_debug_get()

blender::draw::DebugDraw * DRW_debug_get ( )

Ease of use function to get the debug module. TODO(fclem): Should be removed once DRWManager is no longer global. IMPORTANT: Can return nullptr if storage buffer is not supported.

Definition at line 601 of file draw_debug.cc.

References DRWManager::debug, and DST.

◆ drw_debug_gpu_draw_buf_get()

GPUStorageBuf * drw_debug_gpu_draw_buf_get ( )

Definition at line 645 of file draw_debug.cc.

References DRWManager::debug, and DST.

Referenced by blender::draw::Manager::debug_bind().

◆ drw_debug_gpu_print_buf_get()

GPUStorageBuf * drw_debug_gpu_print_buf_get ( )

Definition at line 650 of file draw_debug.cc.

References DRWManager::debug, and DST.

Referenced by blender::draw::Manager::debug_bind().

◆ drw_debug_init()

void drw_debug_init ( )

Definition at line 623 of file draw_debug.cc.

References DRWManager::debug, DST, and init().

Referenced by DRW_draw_render_loop_2d_ex(), and DRW_draw_render_loop_ex().

◆ DRW_debug_line_v3v3()

void DRW_debug_line_v3v3 ( const float v1[3],
const float v2[3],
const float color[4] )

IMPORTANT: For now there is a limit of DRW_DEBUG_DRAW_VERT_MAX that can be drawn using all the draw functions.

Definition at line 675 of file draw_debug.cc.

References DRWManager::debug, DST, and v2.

◆ DRW_debug_m4()

void DRW_debug_m4 ( const float m[4][4])
Note
g_modelmat is still applied on top.

Definition at line 686 of file draw_debug.cc.

References DRWManager::debug, and DST.

◆ DRW_debug_m4_as_bbox()

void DRW_debug_m4_as_bbox ( const float m[4][4],
bool invert,
const float color[4] )

Definition at line 691 of file draw_debug.cc.

References DRWManager::debug, DST, blender::math::invert(), and invert().

◆ DRW_debug_modelmat()

void DRW_debug_modelmat ( const float modelmat[4][4])

Definition at line 666 of file draw_debug.cc.

References DRWManager::debug, DST, and UNUSED_VARS.

Referenced by basic_cache_populate(), and drw_sculpt_generate_calls().

◆ DRW_debug_modelmat_reset()

void DRW_debug_modelmat_reset ( )

Definition at line 661 of file draw_debug.cc.

References DRWManager::debug, and DST.

◆ drw_debug_module_free()

void drw_debug_module_free ( DRWDebugModule * module)

Definition at line 638 of file draw_debug.cc.

References module.

Referenced by DRW_engines_free().

◆ DRW_debug_polygon_v3()

void DRW_debug_polygon_v3 ( const float(*) v[3],
int vert_len,
const float color[4] )

Definition at line 680 of file draw_debug.cc.

References DRWManager::debug, DST, and v.

◆ DRW_debug_sphere()

void DRW_debug_sphere ( const float center[3],
float radius,
const float color[4] )

Definition at line 709 of file draw_debug.cc.

References DRWManager::debug, and DST.

Referenced by draw_compute_culling(), and DRW_view_update().