|
Blender V4.3
|
#include <cmath>#include "BLI_listbase.h"#include "BLI_math_half.hh"#include "BLI_math_matrix.h"#include "BLI_math_rotation.h"#include "BLI_rect.h"#include "BLI_string.h"#include "BLI_string_utils.hh"#include "BLI_threads.h"#include "BKE_armature.hh"#include "BKE_camera.h"#include "BKE_collection.hh"#include "BKE_context.hh"#include "BKE_customdata.hh"#include "BKE_global.hh"#include "BKE_image.hh"#include "BKE_key.hh"#include "BKE_layer.hh"#include "BKE_main.hh"#include "BKE_object.hh"#include "BKE_paint.hh"#include "BKE_scene.hh"#include "BKE_unit.hh"#include "BLF_api.hh"#include "BLT_translation.hh"#include "DNA_armature_types.h"#include "DNA_camera_types.h"#include "DNA_key_types.h"#include "DNA_object_types.h"#include "DNA_view3d_types.h"#include "DNA_windowmanager_types.h"#include "DRW_engine.hh"#include "DRW_select_buffer.hh"#include "ED_gpencil_legacy.hh"#include "ED_info.hh"#include "ED_keyframing.hh"#include "ED_scene.hh"#include "ED_screen.hh"#include "ED_view3d_offscreen.hh"#include "ED_viewer_path.hh"#include "ANIM_bone_collections.hh"#include "DEG_depsgraph_query.hh"#include "GPU_batch.hh"#include "GPU_framebuffer.hh"#include "GPU_immediate.hh"#include "GPU_immediate_util.hh"#include "GPU_material.hh"#include "GPU_matrix.hh"#include "GPU_state.hh"#include "GPU_viewport.hh"#include "MEM_guardedalloc.h"#include "UI_interface.hh"#include "UI_resources.hh"#include "RE_engine.h"#include "WM_api.hh"#include "WM_types.hh"#include "IMB_imbuf.hh"#include "IMB_imbuf_types.hh"#include "view3d_intern.hh"Go to the source code of this file.
Classes | |
| struct | RV3DMatrixStore |
Macros | |
| #define | M_GOLDEN_RATIO_CONJUGATE 0.618033988749895f |
| #define | VIEW3D_OVERLAY_LINEHEIGHT (UI_style_get()->widget.points * UI_SCALE_FAC * 1.6f) |
Functions | |
General Functions | |
| void | ED_view3d_update_viewmat (const Depsgraph *depsgraph, const Scene *scene, View3D *v3d, ARegion *region, const float viewmat[4][4], const float winmat[4][4], const rcti *rect, bool offscreen) |
| static void | view3d_main_region_setup_view (Depsgraph *depsgraph, Scene *scene, View3D *v3d, ARegion *region, const float viewmat[4][4], const float winmat[4][4], const rcti *rect) |
| static void | view3d_main_region_setup_offscreen (Depsgraph *depsgraph, const Scene *scene, View3D *v3d, ARegion *region, const float viewmat[4][4], const float winmat[4][4]) |
| static bool | view3d_stereo3d_active (wmWindow *win, const Scene *scene, View3D *v3d, RegionView3D *rv3d) |
| static void | view3d_stereo3d_setup (Depsgraph *depsgraph, Scene *scene, View3D *v3d, ARegion *region, const rcti *rect) |
| void | ED_view3d_draw_setup_view (const wmWindowManager *wm, wmWindow *win, Depsgraph *depsgraph, Scene *scene, ARegion *region, View3D *v3d, const float viewmat[4][4], const float winmat[4][4], const rcti *rect) |
Draw View Border | |
| static void | view3d_camera_border (const Scene *scene, const Depsgraph *depsgraph, const ARegion *region, const View3D *v3d, const RegionView3D *rv3d, rctf *r_viewborder, const bool no_shift, const bool no_zoom) |
| void | ED_view3d_calc_camera_border_size (const Scene *scene, Depsgraph *depsgraph, const ARegion *region, const View3D *v3d, const RegionView3D *rv3d, float r_size[2]) |
| void | ED_view3d_calc_camera_border (const Scene *scene, const Depsgraph *depsgraph, const ARegion *region, const View3D *v3d, const RegionView3D *rv3d, const bool no_shift, rctf *r_viewborder) |
| static void | drawviewborder_grid3 (uint shdr_pos, float x1, float x2, float y1, float y2, float fac) |
| static void | drawviewborder_triangle (uint shdr_pos, float x1, float x2, float y1, float y2, const char golden, const char dir) |
| static void | drawviewborder (Scene *scene, Depsgraph *depsgraph, ARegion *region, View3D *v3d) |
| static void | drawrenderborder (ARegion *region, View3D *v3d) |
Draw Text & Info | |
| static void | view3d_draw_grease_pencil (const bContext *) |
| static const char * | view3d_get_name (View3D *v3d, RegionView3D *rv3d) |
| static void | draw_viewport_name (ARegion *region, View3D *v3d, int xoffset, int *yoffset) |
| static void | draw_selected_name (const View3D *v3d, Scene *scene, ViewLayer *view_layer, Object *ob, int xoffset, int *yoffset) |
| static void | draw_grid_unit_name (Scene *scene, ARegion *region, View3D *v3d, int xoffset, int *yoffset) |
| void | view3d_draw_region_info (const bContext *C, ARegion *region) |
Draw Viewport Contents | |
| static void | view3d_draw_view (const bContext *C, ARegion *region) |
| RenderEngineType * | ED_view3d_engine_type (const Scene *scene, int drawtype) |
| static void | view3d_update_viewer_path (const bContext *C) |
| void | view3d_main_region_draw (const bContext *C, ARegion *region) |
Off-screen Drawing | |
| static void | view3d_stereo3d_setup_offscreen (Depsgraph *depsgraph, const Scene *scene, View3D *v3d, ARegion *region, const float winmat[4][4], const char *viewname) |
| void | ED_view3d_draw_offscreen (Depsgraph *depsgraph, const Scene *scene, eDrawType drawtype, View3D *v3d, ARegion *region, int winx, int winy, const float viewmat[4][4], const float winmat[4][4], bool is_image_render, bool draw_background, const char *viewname, const bool do_color_management, const bool restore_rv3d_mats, GPUOffScreen *ofs, GPUViewport *viewport) |
| void | ED_view3d_draw_offscreen_simple (Depsgraph *depsgraph, Scene *scene, View3DShading *shading_override, eDrawType drawtype, int object_type_exclude_viewport_override, int object_type_exclude_select_override, int winx, int winy, uint draw_flags, const float viewmat[4][4], const float winmat[4][4], float clip_start, float clip_end, bool is_xr_surface, bool is_image_render, bool draw_background, const char *viewname, const bool do_color_management, GPUOffScreen *ofs, GPUViewport *viewport) |
| ImBuf * | ED_view3d_draw_offscreen_imbuf (Depsgraph *depsgraph, Scene *scene, eDrawType drawtype, View3D *v3d, ARegion *region, int sizex, int sizey, eImBufFlags imbuf_flag, int alpha_mode, const char *viewname, const bool restore_rv3d_mats, GPUOffScreen *ofs, GPUViewport *viewport, char err_out[256]) |
| ImBuf * | ED_view3d_draw_offscreen_imbuf_simple (Depsgraph *depsgraph, Scene *scene, View3DShading *shading_override, eDrawType drawtype, Object *camera, int width, int height, eImBufFlags imbuf_flag, eV3DOffscreenDrawFlag draw_flags, int alpha_mode, const char *viewname, GPUOffScreen *ofs, GPUViewport *viewport, char err_out[256]) |
| bool | ED_view3d_draw_offscreen_check_nested () |
Viewport Clipping | |
| static bool | view3d_clipping_test (const float co[3], const float clip[6][4]) |
| bool | ED_view3d_clipping_test (const RegionView3D *rv3d, const float co[3], const bool is_local) |
Back-Draw for Selection | |
| static void | validate_object_select_id (Depsgraph *depsgraph, const Scene *scene, ViewLayer *view_layer, ARegion *region, View3D *v3d, Object *obact) |
| static void | view3d_opengl_read_Z_pixels (GPUViewport *viewport, rcti *rect, void *data) |
| void | ED_view3d_select_id_validate (const ViewContext *vc) |
| int | ED_view3d_backbuf_sample_size_clamp (ARegion *region, const float dist) |
Z-Depth Utilities | |
| void | view3d_depths_rect_create (ARegion *region, rcti *rect, ViewDepths *r_d) |
| static ViewDepths * | view3d_depths_create (ARegion *region) |
| float | view3d_depth_near (ViewDepths *d) |
| void | ED_view3d_depth_override (Depsgraph *depsgraph, ARegion *region, View3D *v3d, Object *obact, eV3DDepthOverrideMode mode, ViewDepths **r_depths) |
| void | ED_view3d_depths_free (ViewDepths *depths) |
| bool | ED_view3d_has_depth_buffer_updated (const Depsgraph *depsgraph, const View3D *v3d) |
Custom-data Utilities | |
| void | ED_view3d_datamask (const Scene *scene, ViewLayer *view_layer, const View3D *v3d, CustomData_MeshMasks *r_cddata_masks) |
| void | ED_view3d_screen_datamask (const Scene *scene, ViewLayer *view_layer, const bScreen *screen, CustomData_MeshMasks *r_cddata_masks) |
Region View Matrix Backup/Restore | |
| RV3DMatrixStore * | ED_view3d_mats_rv3d_backup (RegionView3D *rv3d) |
| void | ED_view3d_mats_rv3d_restore (RegionView3D *rv3d, RV3DMatrixStore *rv3dmat_pt) |
FPS Drawing | |
| void | ED_scene_draw_fps (const Scene *scene, int xoffset, int *yoffset) |
Calculate Render Border | |
| static bool | view3d_main_region_do_render_draw (const Scene *scene) |
| bool | ED_view3d_calc_render_border (const Scene *scene, Depsgraph *depsgraph, View3D *v3d, ARegion *region, rcti *r_rect) |
Other Elements | |
| #define | STEPS_LEN 8 |
| float | ED_scene_grid_scale (const Scene *scene, const char **r_grid_unit) |
| float | ED_view3d_grid_scale (const Scene *scene, const View3D *v3d, const char **r_grid_unit) |
| static void | view3d_grid_steps_ex (const Scene *scene, const View3D *v3d, const RegionView3D *rv3d, float r_grid_steps[STEPS_LEN], void const **r_usys_pt, int *r_len) |
| void | ED_view3d_grid_steps (const Scene *scene, const View3D *v3d, const RegionView3D *rv3d, float r_grid_steps[STEPS_LEN]) |
| float | ED_view3d_grid_view_scale (const Scene *scene, const View3D *v3d, const ARegion *region, const char **r_grid_unit) |
| static void | draw_view_axis (RegionView3D *rv3d, const rcti *rect) |
| static void | view3d_draw_border (const bContext *C, ARegion *region) |
| #define M_GOLDEN_RATIO_CONJUGATE 0.618033988749895f |
Definition at line 87 of file view3d_draw.cc.
Referenced by drawviewborder(), and drawviewborder_triangle().
| #define STEPS_LEN 8 |
Definition at line 858 of file view3d_draw.cc.
Referenced by ED_view3d_grid_view_scale(), and view3d_grid_steps_ex().
| #define VIEW3D_OVERLAY_LINEHEIGHT (UI_style_get()->widget.points * UI_SCALE_FAC * 1.6f) |
Definition at line 89 of file view3d_draw.cc.
Referenced by draw_grid_unit_name(), draw_selected_name(), draw_viewport_name(), ED_scene_draw_fps(), and view3d_draw_region_info().
|
static |
Definition at line 1423 of file view3d_draw.cc.
References BLF_draw_default(), BLI_STR_UTF8_MULTIPLICATION_SIGN, ED_view3d_grid_view_scale(), View3D::grid, RegionView3D::is_persp, RV3D_VIEW_IS_AXIS, SNPRINTF, RegionView3D::view, and VIEW3D_OVERLAY_LINEHEIGHT.
Referenced by view3d_draw_region_info().
|
static |
Draw info beside axes in top-left corner: frame-number, collection, object name, bone name (if available), marker name (if available).
Definition at line 1298 of file view3d_draw.cc.
References bArmature::act_bone, bArmature::act_edbone, ANIM_bonecoll_is_visible_actbone(), ARRAY_SIZE, BKE_collection_ui_name_get(), BKE_key_from_object(), BKE_object_pose_armature_get(), BKE_scene_find_marker_name(), BKE_view_layer_active_collection_get(), BKE_view_layer_synced_ensure(), BLF_default(), BLF_draw_default(), BLI_assert, BLI_findlink(), BLI_listbase_is_empty(), BLI_string_join_array(), BLI_string_len_array(), Key::block, LayerCollection::collection, Object::data, bArmature::edbo, ELEM, View3D::flag2, Object::id, id_frame_has_keyframe(), IFACE_, Object::mode, Bone::name, EditBone::name, ID::name, KeyBlock::name, OB_ARMATURE, OB_CURVES_LEGACY, OB_LATTICE, OB_MESH, OB_MODE_OBJECT, OB_MODE_POSE, OB_MODE_WEIGHT_PAINT, OB_SHAPE_LOCK, ViewerPath::path, Object::shapeflag, Object::shapenr, SNPRINTF, TH_TIME_KEYFRAME, Object::type, UI_FontThemeColor(), V3D_SHOW_VIEWER, VIEW3D_OVERLAY_LINEHEIGHT, and View3D::viewer_path.
Referenced by view3d_draw_region_info().
|
static |
Definition at line 956 of file view3d_draw.cc.
References axis_sort_v3(), BLF_color4ubv(), BLF_default(), BLF_draw_default(), col, GPU_blend(), GPU_BLEND_ALPHA, GPU_COMP_F32, GPU_COMP_U8, GPU_FETCH_FLOAT, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_line_smooth(), GPU_line_width(), GPU_PRIM_LINES, GPU_SHADER_3D_FLAT_COLOR, GPU_vertformat_attr_add(), hypotf, immAttr4ubv(), immBegin(), immBindBuiltinProgram(), immEnd(), immUnbindProgram(), immVertex2f(), immVertex2fv(), immVertexFormat(), mul_qt_v3(), pos, TH_AXIS_X, UI_GetThemeColorShade3ubv(), UI_UNIT_X, UI_UNIT_Y, RegionView3D::viewinv, RegionView3D::viewquat, rcti::xmax, and rcti::ymax.
Referenced by view3d_draw_region_info().
|
static |
Definition at line 1250 of file view3d_draw.cc.
References BLF_draw_default(), BLI_string_join_array(), IFACE_, View3D::localvd, RegionView3D::rflag, RV3D_CLIPPING, RV3D_VIEW_AXIS_ROLL_0, RV3D_VIEW_AXIS_ROLL_180, RV3D_VIEW_AXIS_ROLL_90, RV3D_VIEW_IS_AXIS, RegionView3D::view, view3d_get_name(), VIEW3D_OVERLAY_LINEHEIGHT, and RegionView3D::view_axis_roll.
Referenced by view3d_draw_region_info().
Definition at line 798 of file view3d_draw.cc.
References GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_line_width(), GPU_SHADER_3D_LINE_DASHED_UNIFORM_COLOR, GPU_vertformat_attr_add(), GPU_viewport_size_get_f(), imm_draw_box_wire_2d(), immBindBuiltinProgram(), immUnbindProgram(), immUniform1f(), immUniform1i(), immUniform2f(), immUniform4f(), immVertexFormat(), View3D::render_border, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.
Referenced by view3d_draw_border().
|
static |
Definition at line 530 of file view3d_draw.cc.
References BKE_camera_sensor_fit(), BLF_default(), BLF_draw_default(), CAM_DTX_CENTER, CAM_DTX_CENTER_DIAG, CAM_DTX_GOLDEN, CAM_DTX_GOLDEN_TRI_A, CAM_DTX_GOLDEN_TRI_B, CAM_DTX_HARMONY_TRI_A, CAM_DTX_HARMONY_TRI_B, CAM_DTX_THIRDS, CAM_SHOW_SAFE_CENTER, CAM_SHOW_SAFE_MARGINS, CAM_SHOWNAME, CAM_SHOWPASSEPARTOUT, CAM_SHOWSENSOR, View3D::camera, CAMERA_SENSOR_FIT_AUTO, CAMERA_SENSOR_FIT_HOR, Object::data, depsgraph, drawviewborder_grid3(), drawviewborder_triangle(), Camera::dtx, ED_view3d_calc_camera_border(), Camera::flag, View3DOverlay::flag, View3D::flag2, floorf, GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_line_width(), GPU_PRIM_LINES, GPU_SHADER_3D_LINE_DASHED_UNIFORM_COLOR, GPU_SHADER_3D_UNIFORM_COLOR, GPU_vertformat_attr_add(), GPU_viewport_size_get_f(), Object::id, imm_draw_box_wire_2d(), immBegin(), immBindBuiltinProgram(), immEnd(), immRectf(), immUnbindProgram(), immUniform1f(), immUniform1i(), immUniform2f(), immUniformColor3f(), immUniformColor3ubv(), immUniformThemeColor(), immUniformThemeColor3(), immUniformThemeColorAlpha(), immUniformThemeColorShadeAlpha(), immVertex2f(), immVertexFormat(), int, M_GOLDEN_RATIO_CONJUGATE, ID::name, OB_CAMERA, View3D::overlay, Camera::passepartalpha, R_BORDER, Camera::sensor_fit, Camera::sensor_x, Camera::sensor_y, TH_BACK, TH_CAMERA_PASSEPARTOUT, TH_REDALERT, TH_TEXT_HI, TH_VIEW_OVERLAY, Object::type, UI_draw_safe_areas(), UI_FontThemeColor(), V3D_HIDE_OVERLAYS, V3D_LOCK_CAMERA, V3D_OVERLAY_HIDE_TEXT, V3D_SHOW_CAMERA_GUIDES, V3D_SHOW_CAMERA_PASSEPARTOUT, view3d_camera_border_hack_col, view3d_camera_border_hack_test, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.
Referenced by view3d_draw_border().
|
static |
Definition at line 450 of file view3d_draw.cc.
References GPU_PRIM_LINES, immBegin(), immEnd(), and immVertex2f().
Referenced by drawviewborder().
|
static |
Definition at line 477 of file view3d_draw.cc.
References GPU_PRIM_LINES, immBegin(), immEnd(), immVertex2f(), M_GOLDEN_RATIO_CONJUGATE, and w().
Referenced by drawviewborder().
Definition at line 2610 of file view3d_draw.cc.
References BLF_color4ub(), BLF_default(), BLF_draw_default(), ED_scene_fps_average_calc(), SceneFPS_State::fps_target_is_fractional, IFACE_, SNPRINTF, state, and VIEW3D_OVERLAY_LINEHEIGHT.
Referenced by sequencer_preview_region_draw(), and view3d_draw_region_info().
Could move this elsewhere, but tied into ED_view3d_grid_scale
Definition at line 832 of file view3d_draw.cc.
References B_UNIT_LENGTH, BKE_unit_base_get(), BKE_unit_display_name_get(), BKE_unit_scalar_get(), BKE_unit_system_get(), float, IFACE_, and len.
Referenced by ED_view3d_grid_scale(), blender::ed::object::new_primitive_matrix(), blender::ed::object::object_camera_add_exec(), OVERLAY_gpencil_legacy_cache_init(), and WM_operator_view3d_unit_defaults().
allow for small values [0.5 - 2.5], and large values, FLT_MAX by clamping by the area size
Definition at line 2269 of file view3d_draw.cc.
References ceilf, int, max_ii(), and min_ff().
Referenced by EDBM_edge_find_nearest_ex(), EDBM_face_find_nearest_ex(), and EDBM_vert_find_nearest_ex().
| void ED_view3d_calc_camera_border | ( | const Scene * | scene, |
| const Depsgraph * | depsgraph, | ||
| const ARegion * | region, | ||
| const View3D * | v3d, | ||
| const RegionView3D * | rv3d, | ||
| const bool | no_shift, | ||
| rctf * | r_viewborder ) |
Definition at line 439 of file view3d_draw.cc.
References depsgraph, and view3d_camera_border().
Referenced by annotation_paint_initstroke(), drawFlyPixel(), drawviewborder(), drawWalkPixel(), ED_annotation_draw_view3d(), ED_view3d_calc_render_border(), ED_view3d_update_viewmat(), eevee_engine_init(), blender::draw::compositor::Context::get_compositing_region(), initFlyInfo(), blender::io::grease_pencil::GreasePencilExporter::prepare_render_params(), render_border_exec(), view_zoom_to_window_xy_camera(), and WIDGETGROUP_camera_view_draw_prepare().
| void ED_view3d_calc_camera_border_size | ( | const Scene * | scene, |
| Depsgraph * | depsgraph, | ||
| const ARegion * | region, | ||
| const View3D * | v3d, | ||
| const RegionView3D * | rv3d, | ||
| float | r_size[2] ) |
Definition at line 425 of file view3d_draw.cc.
References BLI_rctf_size_x(), BLI_rctf_size_y(), depsgraph, and view3d_camera_border().
Referenced by view3d_center_camera_exec(), and view3d_set_1_to_1_viewborder().
| bool ED_view3d_calc_render_border | ( | const Scene * | scene, |
| Depsgraph * | depsgraph, | ||
| View3D * | v3d, | ||
| ARegion * | region, | ||
| rcti * | r_rect ) |
Definition at line 2656 of file view3d_draw.cc.
References BLI_rctf_size_x(), BLI_rctf_size_y(), BLI_rcti_isect(), BLI_rcti_translate(), depsgraph, ED_view3d_calc_camera_border(), View3D::flag2, OB_RENDER, RegionView3D::persp, R_BORDER, View3D::render_border, RV3D_CAMOB, View3D::shading, View3DShading::type, V3D_RENDER_BORDER, view3d_main_region_do_render_draw(), rctf::xmax, rcti::xmax, rctf::xmin, rcti::xmin, rctf::ymax, rcti::ymax, rctf::ymin, and rcti::ymin.
Referenced by wm_region_test_render_do_draw().
| bool ED_view3d_clipping_test | ( | const RegionView3D * | rv3d, |
| const float | co[3], | ||
| bool | is_local ) |
Return true when co is hidden by the 3D views clipping planes.
| is_local | When true use local (object-space) ED_view3d_clipping_local must run first, then all comparisons can be done in local-space. |
co is outside all clipping planes.Definition at line 2179 of file view3d_draw.cc.
References RegionView3D::clip, RegionView3D::clip_local, and view3d_clipping_test().
Referenced by ed_view3d_project__internal(), blender::ed::sculpt_paint::filter_region_clip_factors(), blender::ed::sculpt_paint::filter_region_clip_factors(), find_nearest_edge__doClosest(), knife_bvh_raycast_cb(), knife_find_closest_edge_of_face(), knife_find_closest_vert_of_edge(), knife_sample_screen_density_from_closest_face(), point_is_visible(), project_paint_face_init(), and project_paint_occlude_ptv_clip().
| void ED_view3d_datamask | ( | const Scene * | scene, |
| ViewLayer * | view_layer, | ||
| const View3D * | v3d, | ||
| CustomData_MeshMasks * | r_cddata_masks ) |
Definition at line 2498 of file view3d_draw.cc.
References BKE_view_layer_active_object_get(), BKE_view_layer_synced_ensure(), CD_MASK_MDEFORMVERT, CD_MASK_ORCO, CD_MASK_PROP_BYTE_COLOR, CD_MASK_PROP_COLOR, CD_MASK_PROP_FLOAT2, View3DShading::color_type, View3DOverlay::edit_flag, ELEM, CustomData_MeshMasks::lmask, Object::mode, OB_MATERIAL, OB_MESH, OB_MODE_EDIT, OB_RENDER, OB_SOLID, OB_TEXTURE, View3D::overlay, View3D::shading, Object::type, View3DShading::type, V3D_OVERLAY_EDIT_WEIGHT, V3D_SHADING_TEXTURE_COLOR, V3D_SHADING_VERTEX_COLOR, and CustomData_MeshMasks::vmask.
Referenced by ED_view3d_screen_datamask(), and screen_opengl_render_init().
| void ED_view3d_depth_override | ( | Depsgraph * | depsgraph, |
| ARegion * | region, | ||
| View3D * | v3d, | ||
| Object * | obact, | ||
| eV3DDepthOverrideMode | mode, | ||
| ViewDepths ** | r_depths ) |
Redraw the viewport depth buffer. Call ED_view3d_has_depth_buffer_updated if you want to check if the viewport already has depth buffer updated.
Definition at line 2368 of file view3d_draw.cc.
References DEG_get_evaluated_object(), DEG_get_evaluated_scene(), depsgraph, DRW_draw_depth_loop(), DRW_draw_depth_object(), ED_view3d_depths_free(), ED_view3d_draw_setup_view(), flag, View3D::flag, View3D_Runtime::flag, G_MAIN, RegionView3D::rflag, RGN_TYPE_WINDOW, View3D::runtime, RV3D_ZOFFSET_DISABLED, SPACE_VIEW3D, UI_SetTheme(), UI_Theme_Restore(), UI_Theme_Store(), V3D_DEPTH_GPENCIL_ONLY, V3D_DEPTH_NO_GPENCIL, V3D_DEPTH_NO_OVERLAYS, V3D_DEPTH_OBJECT_ONLY, V3D_DEPTH_SELECTED_ONLY, V3D_RUNTIME_DEPTHBUF_OVERRIDDEN, view3d_depths_create(), WM_draw_region_get_viewport(), WM_draw_region_viewport_bind(), WM_draw_region_viewport_ensure(), and WM_draw_region_viewport_unbind().
Referenced by annotation_paint_strokeend(), annotation_stroke_addpoint(), annotation_stroke_doeraser(), blender::ed::greasepencil::DrawingPlacement::cache_viewport_depths(), curve_draw_invoke(), blender::ed::curves::curves_draw_invoke(), depthdropper_depth_sample_pt(), ED_view3d_cursor3d_position(), blender::ed::greasepencil::grease_pencil_reproject_exec(), navigate_pivot_get(), blender::ed::object::object_transform_axis_target_invoke(), paint_proj_stroke(), PE_set_view3d_data(), view3d_zoom_border_exec(), and viewcenter_pick_invoke().
| void ED_view3d_depths_free | ( | ViewDepths * | depths | ) |
Definition at line 2452 of file view3d_draw.cc.
References ViewDepths::depths, and MEM_freeN().
Referenced by annotation_session_free(), blender::ed::curves::curve_draw_exit(), curve_draw_exit(), ED_view3d_depth_override(), blender::ed::object::object_transform_axis_target_free_data(), PE_data_free(), and blender::ed::greasepencil::DrawingPlacement::~DrawingPlacement().
| void ED_view3d_draw_offscreen | ( | Depsgraph * | depsgraph, |
| const Scene * | scene, | ||
| eDrawType | drawtype, | ||
| View3D * | v3d, | ||
| ARegion * | region, | ||
| int | winx, | ||
| int | winy, | ||
| const float | viewmat[4][4], | ||
| const float | winmat[4][4], | ||
| bool | is_image_render, | ||
| bool | draw_background, | ||
| const char * | viewname, | ||
| const bool | do_color_management, | ||
| const bool | restore_rv3d_mats, | ||
| GPUOffScreen * | ofs, | ||
| GPUViewport * | viewport ) |
Needed so the value won't be left overwritten, Without this the wmPaintCursor can't use the pixel size & view matrices for drawing.
Definition at line 1642 of file view3d_draw.cc.
References BKE_image_free_anim_gputextures(), View3D::camera, depsgraph, draw_background(), DRW_draw_render_loop_offscreen(), ED_view3d_engine_type(), ED_view3d_mats_rv3d_backup(), ED_view3d_mats_rv3d_restore(), G, G_FLAG_RENDER_VIEWPORT, GPU_matrix_identity_set(), GPU_matrix_pop(), GPU_matrix_pop_projection(), GPU_matrix_push(), GPU_matrix_push_projection(), GPU_viewport_tag_update(), MEM_freeN(), RegionView3D::persp, RGN_TYPE_WINDOW, RV3D_CAMOB, View3D::shading, SPACE_VIEW3D, View3DShading::type, UI_SetTheme(), UI_Theme_Restore(), UI_Theme_Store(), view3d_main_region_setup_offscreen(), and view3d_stereo3d_setup_offscreen().
Referenced by ED_view3d_draw_offscreen_imbuf(), ED_view3d_draw_offscreen_simple(), and pygpu_offscreen_draw_view3d().
| bool ED_view3d_draw_offscreen_check_nested | ( | ) |
Drawing off-screen is not supported while drawing, this is a simple check to use when the code path may occur within a draw call (Python scripting for example).
Definition at line 2158 of file view3d_draw.cc.
References DRW_draw_in_progress().
Referenced by pygpu_offscreen_draw_view3d().
| ImBuf * ED_view3d_draw_offscreen_imbuf | ( | Depsgraph * | depsgraph, |
| Scene * | scene, | ||
| eDrawType | drawtype, | ||
| View3D * | v3d, | ||
| ARegion * | region, | ||
| int | sizex, | ||
| int | sizey, | ||
| eImBufFlags | imbuf_flag, | ||
| int | alpha_mode, | ||
| const char * | viewname, | ||
| bool | restore_rv3d_mats, | ||
| GPUOffScreen * | ofs, | ||
| GPUViewport * | viewport, | ||
| char | err_out[256] ) |
Utility func for ED_view3d_draw_offscreen
| ofs | Optional off-screen buffer, can be NULL. (avoids re-creating when doing multiple GL renders). |
| viewport | Optional viewport data, can be NULL. (avoids re-creating when doing multiple GL renders, allows keeping track of state across frames). |
Definition at line 1881 of file view3d_draw.cc.
References BKE_camera_multiview_params(), BKE_camera_multiview_render(), BKE_camera_params_compute_matrix(), BKE_camera_params_compute_viewplane(), BKE_camera_params_from_object(), BKE_camera_params_init(), ImBuf::byte_buffer, View3D::camera, View3D::clip_end, View3D::clip_start, copy_m4_m4(), ImBufByteBuffer::data, ImBufFloatBuffer::data, DEG_get_evaluated_object(), depsgraph, DRW_gpu_context_disable(), DRW_gpu_context_enable(), ED_view3d_draw_offscreen(), ED_view3d_viewplane_get(), ImBuf::float_buffer, GPU_DATA_FLOAT, GPU_DATA_UBYTE, GPU_framebuffer_active_get(), GPU_framebuffer_bind(), GPU_framebuffer_restore(), GPU_offscreen_bind(), GPU_offscreen_create(), GPU_offscreen_format(), GPU_offscreen_free(), GPU_offscreen_height(), GPU_offscreen_read_color(), GPU_offscreen_unbind(), GPU_offscreen_width(), GPU_RGBA16F, GPU_RGBA8, GPU_TEXTURE_USAGE_HOST_READ, GPU_TEXTURE_USAGE_SHADER_READ, IB_rectfloat, IMB_allocImBuf(), IMB_rect_from_float(), orthographic_m4(), params, RegionView3D::persp, perspective_m4(), R_ADDSKY, RV3D_CAMOB, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.
Referenced by blend_file_thumb_from_camera(), ED_view3d_draw_offscreen_imbuf_simple(), screen_opengl_render_doit(), and texture_paint_image_from_view_exec().
| ImBuf * ED_view3d_draw_offscreen_imbuf_simple | ( | Depsgraph * | depsgraph, |
| Scene * | scene, | ||
| View3DShading * | shading_override, | ||
| eDrawType | drawtype, | ||
| Object * | camera, | ||
| int | width, | ||
| int | height, | ||
| eImBufFlags | imbuf_flags, | ||
| eV3DOffscreenDrawFlag | draw_flags, | ||
| int | alpha_mode, | ||
| const char * | viewname, | ||
| GPUOffScreen * | ofs, | ||
| GPUViewport * | viewport, | ||
| char | err_out[256] ) |
Creates separate fake 3d views (wrapping ED_view3d_draw_offscreen_imbuf)
| ofs | Optional off-screen buffer can be NULL. (avoids re-creating when doing multiple GL renders). |
| viewport | Optional viewport data, can be NULL. (avoids re-creating when doing multiple GL renders, allows keeping track of state across frames). |
Definition at line 2041 of file view3d_draw.cc.
References View3DShading::background_type, BKE_camera_multiview_params(), BKE_camera_multiview_render(), BKE_camera_params_compute_matrix(), BKE_camera_params_compute_viewplane(), BKE_camera_params_from_object(), BKE_camera_params_init(), BKE_scene_uses_blender_eevee(), BKE_scene_uses_blender_workbench(), camera, View3D::camera, View3D::clip_end, View3D::clip_start, View3DShading::color_type, copy_m4_m4(), DEG_get_evaluated_object(), depsgraph, ED_view3d_draw_offscreen_imbuf(), ListBase::first, View3DShading::flag, View3D::flag2, View3DOverlay::gpencil_vertex_paint_opacity, View3D::gridflag, invert_m4_m4(), ListBase::last, View3D::lens, View3DShading::light, mul_m4_m4m4(), normalize_m4(), OB_MATERIAL, OB_RENDER, OB_SOLID, OB_TEXTURE, View3D::overlay, params, RegionView3D::persinv, RegionView3D::persmat, RegionView3D::persp, View3D::regionbase, View3DShading::render_pass, RGN_TYPE_WINDOW, RV3D_CAMOB, SCE_PASS_COMBINED, View3D::shading, View3DShading::type, V3D_HIDE_OVERLAYS, V3D_LIGHTING_STUDIO, V3D_OFSDRAW_OVERRIDE_SCENE_SETTINGS, V3D_OFSDRAW_SHOW_ANNOTATION, V3D_OFSDRAW_SHOW_GRIDFLOOR, V3D_SHADING_BACKGROUND_WORLD, V3D_SHADING_SCENE_LIGHTS, V3D_SHADING_SCENE_LIGHTS_RENDER, V3D_SHADING_SCENE_WORLD, V3D_SHADING_SCENE_WORLD_RENDER, V3D_SHADING_TEXTURE_COLOR, V3D_SHOW_ANNOTATION, V3D_SHOW_FLOOR, V3D_SHOW_X, V3D_SHOW_Y, RegionView3D::viewinv, RegionView3D::viewmat, RegionView3D::winmat, View3DOverlay::wireframe_opacity, and View3DOverlay::wireframe_threshold.
Referenced by action_preview_render(), blend_file_thumb_from_camera(), ED_spacetype_sequencer(), object_preview_render(), and screen_opengl_render_doit().
| void ED_view3d_draw_offscreen_simple | ( | Depsgraph * | depsgraph, |
| Scene * | scene, | ||
| View3DShading * | shading_override, | ||
| eDrawType | drawtype, | ||
| int | object_type_exclude_viewport_override, | ||
| int | object_type_exclude_select_override, | ||
| int | winx, | ||
| int | winy, | ||
| unsigned int | draw_flags, | ||
| const float | viewmat[4][4], | ||
| const float | winmat[4][4], | ||
| float | clip_start, | ||
| float | clip_end, | ||
| bool | is_xr_surface, | ||
| bool | is_image_render, | ||
| bool | draw_background, | ||
| const char * | viewname, | ||
| bool | do_color_management, | ||
| GPUOffScreen * | ofs, | ||
| GPUViewport * | viewport ) |
Creates separate fake 3d views (wrapping ED_view3d_draw_offscreen). Similar too #ED_view_draw_offscreen_imbuf_simple, but takes view/projection matrices as arguments.
Definition at line 1762 of file view3d_draw.cc.
References View3D::clip_end, View3D::clip_start, depsgraph, draw_background(), ED_view3d_draw_offscreen(), ListBase::first, View3D::flag, View3DOverlay::flag, View3DShading::flag, View3D::flag2, View3D::grid, View3D::gridflag, View3D::gridlines, View3D::gridsubdiv, ListBase::last, View3D::lens, OB_ARMATURE, OB_MATERIAL, View3D::object_type_exclude_select, View3D::object_type_exclude_viewport, View3D::overlay, RegionView3D::persp, View3D::regionbase, ARegion::regiondata, ARegion::regiontype, RGN_TYPE_WINDOW, RV3D_PERSP, View3D::shading, View3DShading::type, V3D_HIDE_HELPLINES, V3D_HIDE_OVERLAYS, V3D_OFSDRAW_NONE, V3D_OFSDRAW_OVERRIDE_SCENE_SETTINGS, V3D_OFSDRAW_SHOW_ANNOTATION, V3D_OFSDRAW_SHOW_GRIDFLOOR, V3D_OFSDRAW_SHOW_OBJECT_EXTRAS, V3D_OFSDRAW_SHOW_SELECTION, V3D_OFSDRAW_XR_SHOW_CONTROLLERS, V3D_OFSDRAW_XR_SHOW_CUSTOM_OVERLAYS, V3D_OFSDRAW_XR_SHOW_PASSTHROUGH, V3D_OVERLAY_HIDE_BONES, V3D_OVERLAY_HIDE_CURSOR, V3D_OVERLAY_HIDE_MOTION_PATHS, V3D_OVERLAY_HIDE_OBJECT_ORIGINS, V3D_OVERLAY_HIDE_OBJECT_XTRAS, V3D_OVERLAY_HIDE_TEXT, V3D_SELECT_OUTLINE, V3D_SHADING_SCENE_LIGHTS, V3D_SHADING_SCENE_WORLD, V3D_SHOW_ANNOTATION, V3D_SHOW_FLOOR, V3D_SHOW_X, V3D_SHOW_Y, V3D_XR_SESSION_SURFACE, V3D_XR_SHOW_CONTROLLERS, V3D_XR_SHOW_CUSTOM_OVERLAYS, and V3D_XR_SHOW_PASSTHROUGH.
Referenced by wm_xr_draw_view().
| void ED_view3d_draw_setup_view | ( | const wmWindowManager * | wm, |
| wmWindow * | win, | ||
| Depsgraph * | depsgraph, | ||
| Scene * | scene, | ||
| ARegion * | region, | ||
| View3D * | v3d, | ||
| const float | viewmat[4][4], | ||
| const float | winmat[4][4], | ||
| const rcti * | rect ) |
Set the correct matrices
Definition at line 340 of file view3d_draw.cc.
References depsgraph, UNUSED_VARS, view3d_main_region_setup_view(), view3d_stereo3d_active(), and view3d_stereo3d_setup().
Referenced by ED_view3d_depth_override(), gizmo_find_intersected_3d_intern(), blender::ed::sculpt_paint::paint_cursor_cursor_draw_3d_view_brush_cursor_active(), blender::ed::sculpt_paint::paint_cursor_draw_3d_view_brush_cursor_inactive(), view3d_draw_view(), and view3d_opengl_select_ex().
| RenderEngineType * ED_view3d_engine_type | ( | const Scene * | scene, |
| int | drawtype ) |
Definition at line 1566 of file view3d_draw.cc.
References OB_MATERIAL, RE_engine_id_BLENDER_EEVEE_NEXT, RE_engines_find(), and RE_USE_EEVEE_VIEWPORT.
Referenced by DRW_draw_depth_loop(), DRW_draw_render_loop(), DRW_draw_select_loop(), DRW_draw_view(), ED_render_view3d_update(), ED_view3d_draw_offscreen(), and view3d_do_msg_notify_workbench_view_update().
Definition at line 853 of file view3d_draw.cc.
References ED_scene_grid_scale(), and View3D::grid.
Referenced by ED_view3d_grid_view_scale(), blender::ed::object::new_primitive_matrix(), blender::ed::object::object_camera_add_exec(), and WM_operator_view3d_unit_defaults().
| void ED_view3d_grid_steps | ( | const Scene * | scene, |
| const View3D * | v3d, | ||
| const RegionView3D * | rv3d, | ||
| float | r_grid_steps[STEPS_LEN] ) |
Definition at line 912 of file view3d_draw.cc.
References view3d_grid_steps_ex().
| float ED_view3d_grid_view_scale | ( | const Scene * | scene, |
| const View3D * | v3d, | ||
| const ARegion * | region, | ||
| const char ** | r_grid_unit ) |
Simulates the grid scale that is actually viewed. The actual code is seen in object_grid_frag.glsl (see grid_res). Currently the simulation is only done when RV3D_VIEW_IS_AXIS.
Definition at line 920 of file view3d_draw.cc.
References BKE_unit_display_name_get(), ED_view3d_grid_scale(), IFACE_, RegionView3D::is_persp, RV3D_VIEW_IS_AXIS, STEPS_LEN, RegionView3D::view, view3d_grid_steps_ex(), and RegionView3D::winmat.
Referenced by draw_grid_unit_name(), blender::ed::greasepencil::grease_pencil_snap_to_grid_exec(), idp_snap_calc_incremental(), snap_curs_to_grid_exec(), snap_object_context_runtime_init(), snap_sel_to_grid_exec(), and transform_snap_grid_init().
| bool ED_view3d_has_depth_buffer_updated | ( | const Depsgraph * | depsgraph, |
| const View3D * | v3d ) |
Definition at line 2460 of file view3d_draw.cc.
References DEG_get_evaluated_scene(), depsgraph, RenderData::engine, RenderEngineType::flag, View3D::flag2, OB_MATERIAL, OB_RENDER, OB_SOLID, Scene::r, RE_engine_id_BLENDER_EEVEE_NEXT, RE_engine_id_BLENDER_WORKBENCH, RE_engines_find(), RE_INTERNAL, View3D::shading, STREQ, View3DShading::type, UNUSED_VARS, V3D_HIDE_OVERLAYS, and XRAY_ENABLED.
Referenced by navigate_pivot_get().
| RV3DMatrixStore * ED_view3d_mats_rv3d_backup | ( | RegionView3D * | rv3d | ) |
Definition at line 2578 of file view3d_draw.cc.
References copy_m4_m4(), copy_v4_v4(), MEM_mallocN, RegionView3D::persinv, RV3DMatrixStore::persinv, RegionView3D::persmat, RV3DMatrixStore::persmat, RegionView3D::pixsize, RV3DMatrixStore::pixsize, RegionView3D::viewcamtexcofac, RV3DMatrixStore::viewcamtexcofac, RegionView3D::viewinv, RV3DMatrixStore::viewinv, RegionView3D::viewmat, RV3DMatrixStore::viewmat, RegionView3D::winmat, and RV3DMatrixStore::winmat.
Referenced by ED_view3d_draw_offscreen().
| void ED_view3d_mats_rv3d_restore | ( | RegionView3D * | rv3d, |
| RV3DMatrixStore * | rv3dmat_pt ) |
Definition at line 2592 of file view3d_draw.cc.
References copy_m4_m4(), copy_v4_v4(), RegionView3D::persinv, RV3DMatrixStore::persinv, RegionView3D::persmat, RV3DMatrixStore::persmat, RegionView3D::pixsize, RV3DMatrixStore::pixsize, RegionView3D::viewcamtexcofac, RV3DMatrixStore::viewcamtexcofac, RegionView3D::viewinv, RV3DMatrixStore::viewinv, RegionView3D::viewmat, RV3DMatrixStore::viewmat, RegionView3D::winmat, and RV3DMatrixStore::winmat.
Referenced by ED_view3d_draw_offscreen().
| void ED_view3d_screen_datamask | ( | const Scene * | scene, |
| ViewLayer * | view_layer, | ||
| const bScreen * | screen, | ||
| CustomData_MeshMasks * | r_cddata_masks ) |
Goes over all modes and view3d settings.
Definition at line 2539 of file view3d_draw.cc.
References CD_MASK_BAREMESH, CustomData_MeshMasks_update(), ED_view3d_datamask(), LISTBASE_FOREACH, and SPACE_VIEW3D.
Referenced by wm_event_do_depsgraph().
| void ED_view3d_select_id_validate | ( | const ViewContext * | vc | ) |
Definition at line 2263 of file view3d_draw.cc.
References ViewContext::depsgraph, ViewContext::obact, ViewContext::region, ViewContext::scene, ViewContext::v3d, validate_object_select_id(), and ViewContext::view_layer.
Referenced by ED_mesh_pick_face(), ED_mesh_pick_vert(), and paintface_select_loop().
| void ED_view3d_update_viewmat | ( | const Depsgraph * | depsgraph, |
| const Scene * | scene, | ||
| View3D * | v3d, | ||
| ARegion * | region, | ||
| const float | viewmat[4][4], | ||
| const float | winmat[4][4], | ||
| const rcti * | rect, | ||
| bool | offscreen ) |
Definition at line 95 of file view3d_draw.cc.
References BLI_rctf_size_x(), BLI_rctf_size_y(), BLI_rcti_size_x(), BLI_rcti_size_y(), View3D::camera, copy_m4_m4(), depsgraph, ED_view3d_calc_camera_border(), float, invert_m4_m4(), len_squared_v3(), max_ii(), min_ff(), mul_m4_m4m4(), RegionView3D::persinv, RegionView3D::persmat, RegionView3D::persp, RegionView3D::pixsize, RV3D_CAMOB, sqrtf, v2, view3d_viewmatrix_set(), view3d_winmatrix_set(), RegionView3D::viewcamtexcofac, RegionView3D::viewinv, RegionView3D::viewmat, RegionView3D::winmat, rctf::xmin, and rctf::ymin.
Referenced by blender::ed::greasepencil::image_render::compute_view_matrices(), ED_view3d_navigation_do(), view3d_main_region_setup_offscreen(), view3d_main_region_setup_view(), and view3d_smooth_view_force_finish_ex().
|
static |
Definition at line 2193 of file view3d_draw.cc.
References BASE_ENABLED_AND_MAYBE_VISIBLE_IN_VIEWPORT, Object::base_flag, BKE_paint_select_face_test(), BKE_view_layer_base_find(), BKE_view_layer_synced_ensure(), BLI_assert, DEG_get_evaluated_object(), depsgraph, DRW_select_buffer_context_create(), View3D_Runtime::flag, Object::mode, OB_MODE_PARTICLE_EDIT, OB_MODE_TEXTURE_PAINT, OB_MODE_VERTEX_PAINT, OB_MODE_WEIGHT_PAINT, OB_WIRE, RGN_TYPE_WINDOW, View3D::runtime, View3D::shading, View3DShading::type, UNUSED_VARS_NDEBUG, V3D_RUNTIME_DEPTHBUF_OVERRIDDEN, and XRAY_ENABLED.
Referenced by ED_view3d_select_id_validate().
|
static |
Definition at line 378 of file view3d_draw.cc.
References BKE_camera_params_compute_viewplane(), BKE_camera_params_from_object(), BKE_camera_params_from_view3d(), BKE_camera_params_init(), BLI_rctf_size_x(), BLI_rctf_size_y(), View3D::camera, View3D::clip_end, View3D::clip_start, DEG_get_evaluated_object(), depsgraph, params, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.
Referenced by ED_view3d_calc_camera_border(), and ED_view3d_calc_camera_border_size().
Definition at line 2169 of file view3d_draw.cc.
References plane_point_side_v3().
Referenced by ED_view3d_clipping_test().
| float view3d_depth_near | ( | ViewDepths * | d | ) |
Utility function to find the closest Z value, use for auto-depth.
Definition at line 2345 of file view3d_draw.cc.
References ViewDepths::depth_range, ViewDepths::depths, float, FLT_MAX, ViewDepths::h, int, and ViewDepths::w.
Referenced by view3d_zoom_border_exec(), and view_autodist_depth_margin().
|
static |
Definition at line 2321 of file view3d_draw.cc.
References ViewDepths::depth_range, ViewDepths::depths, GPU_DATA_UINT_24_8, GPU_texture_height(), GPU_texture_read(), GPU_texture_width(), GPU_viewport_depth_texture(), ViewDepths::h, ViewDepths::w, and WM_draw_region_get_viewport().
Referenced by ED_view3d_depth_override().
| void view3d_depths_rect_create | ( | ARegion * | region, |
| rcti * | rect, | ||
| ViewDepths * | r_d ) |
Definition at line 2280 of file view3d_draw.cc.
References BLI_rcti_isect(), BLI_rcti_size_x(), BLI_rcti_size_y(), ViewDepths::depth_range, ViewDepths::depths, ViewDepths::h, MEM_mallocN, view3d_opengl_read_Z_pixels(), ViewDepths::w, w(), WM_draw_region_get_viewport(), ViewDepths::x, x, rcti::xmin, ViewDepths::y, y, and rcti::ymin.
Referenced by view3d_zoom_border_exec(), and view_autodist_depth_margin().
Render and camera border
Definition at line 1136 of file view3d_draw.cc.
References CTX_data_expect_evaluated_depsgraph(), CTX_data_scene(), CTX_wm_view3d(), depsgraph, drawrenderborder(), drawviewborder(), View3D::flag2, RegionView3D::persp, RV3D_CAMOB, and V3D_RENDER_BORDER.
Referenced by view3d_draw_region_info().
|
static |
Information drawn on top of the solid plates and composed data.
Definition at line 1443 of file view3d_draw.cc.
References BKE_view_layer_active_object_get(), BKE_view_layer_synced_ensure(), BLF_batch_draw_begin(), BLF_batch_draw_end(), BLF_color4fv(), BLF_default(), BLF_default_size(), BLF_disable(), BLF_enable(), BLF_set_default(), BLF_SHADOW, BLF_shadow(), BLF_shadow_offset(), CTX_data_main(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_manager(), CTX_wm_view3d(), draw_grid_unit_name(), draw_selected_name(), draw_view_axis(), draw_viewport_name(), DRW_draw_region_engine_info(), ED_info_draw_stats(), ED_region_pixelspace(), ED_region_visible_rect(), ED_scene_draw_fps(), ED_screen_animation_no_scrub(), ED_view3d_text_colors_get(), View3DOverlay::flag, View3D::flag2, View3D::gizmo_flag, View3D::gridflag, View3D::localvd, NDOF_SHOW_GUIDE, Outline, View3D::overlay, RegionView3D::persp, uiFontStyle::points, RV3D_CAMOB, RV3D_LOCK_FLAGS, RV3D_LOCK_ROTATION, UI_DEFAULT_TEXT_POINTS, UI_fontstyle_set(), UI_FSTYLE_WIDGET, USER_DRAWVIEWINFO, USER_MINI_AXIS_TYPE_GIZMO, USER_MINI_AXIS_TYPE_MINIMAL, USER_MINI_AXIS_TYPE_NONE, USER_SHOW_FPS, USER_SHOW_VIEWPORTNAME, V3D_GIZMO_HIDE, V3D_GIZMO_HIDE_NAVIGATE, V3D_HIDE_OVERLAYS, V3D_OVERLAY_HIDE_TEXT, V3D_OVERLAY_STATS, V3D_SHOW_FLOOR, V3D_SHOW_X, V3D_SHOW_Y, V3D_SHOW_Z, view3d_draw_border(), view3d_draw_grease_pencil(), VIEW3D_OVERLAY_LINEHEIGHT, rcti::xmin, and rcti::ymax.
Referenced by DRW_draw_region_info().
Definition at line 1550 of file view3d_draw.cc.
References CTX_data_expect_evaluated_depsgraph(), CTX_data_scene(), CTX_wm_manager(), CTX_wm_view3d(), CTX_wm_window(), DRW_draw_view(), and ED_view3d_draw_setup_view().
Referenced by view3d_main_region_draw().
|
static |
Viewport Name
Definition at line 1168 of file view3d_draw.cc.
References BLI_assert, CAM_ORTHO, CAM_PANO, CAM_PERSP, View3D::camera, Object::data, IFACE_, OB_CAMERA, RegionView3D::persp, RV3D_CAMOB, RV3D_ORTHO, RV3D_VIEW_BACK, RV3D_VIEW_BOTTOM, RV3D_VIEW_FRONT, RV3D_VIEW_LEFT, RV3D_VIEW_RIGHT, RV3D_VIEW_TOP, Camera::type, Object::type, and RegionView3D::view.
Referenced by draw_viewport_name().
|
static |
Definition at line 859 of file view3d_draw.cc.
References B_UNIT_LENGTH, BKE_unit_base_get(), BKE_unit_scalar_get(), BKE_unit_system_get(), BLI_assert, float, View3D::grid, View3D::gridsubdiv, len, powf, RV3D_VIEW_USER, STEPS_LEN, and RegionView3D::view.
Referenced by ED_view3d_grid_steps(), and ED_view3d_grid_view_scale().
|
static |
Definition at line 2650 of file view3d_draw.cc.
References RE_engines_find().
Referenced by ED_view3d_calc_render_border().
Definition at line 1591 of file view3d_draw.cc.
References BKE_image_free_old_gputextures(), CTX_data_main(), CTX_wm_view3d(), DRW_cache_free_old_batches(), View3D_Runtime::flag, GPU_DEPTH_NONE, GPU_depth_test(), GPU_pass_cache_garbage_collect(), View3D::runtime, view3d_draw_view(), and view3d_update_viewer_path().
Referenced by ED_spacetype_view3d().
|
static |
Definition at line 194 of file view3d_draw.cc.
References depsgraph, ED_view3d_update_viewmat(), GPU_matrix_projection_set, GPU_matrix_set, RegionView3D::viewmat, and RegionView3D::winmat.
Referenced by ED_view3d_draw_offscreen(), and view3d_stereo3d_setup_offscreen().
|
static |
Definition at line 177 of file view3d_draw.cc.
References depsgraph, ED_view3d_update_viewmat(), GPU_matrix_projection_set, GPU_matrix_set, RegionView3D::viewmat, and RegionView3D::winmat.
Referenced by ED_view3d_draw_setup_view(), and view3d_stereo3d_setup().
|
static |
Definition at line 2239 of file view3d_draw.cc.
References BLI_rcti_size_x(), BLI_rcti_size_y(), GPU_ATTACHMENT_NONE, GPU_ATTACHMENT_TEXTURE, GPU_DATA_FLOAT, GPU_framebuffer_bind(), GPU_framebuffer_ensure_config, GPU_framebuffer_free(), GPU_framebuffer_read_depth(), GPU_framebuffer_restore(), GPU_viewport_depth_texture(), rcti::xmin, and rcti::ymin.
Referenced by view3d_depths_rect_create().
|
static |
Definition at line 209 of file view3d_draw.cc.
References BKE_scene_multiview_is_stereo3d(), View3D::camera, OB_CAMERA, RegionView3D::persp, R_MULTIVIEW, RV3D_CAMOB, SCE_VIEWS_FORMAT_MULTIVIEW, View3D::stereo3d_camera, STEREO_3D_ID, STEREO_LEFT_ID, STEREO_MONO_ID, STEREO_RIGHT_ID, Object::type, and WM_stereo3d_enabled().
Referenced by ED_view3d_draw_setup_view().
|
static |
Definition at line 254 of file view3d_draw.cc.
References BKE_camera_multiview_render(), BKE_camera_multiview_shift_x(), BKE_camera_multiview_view_matrix(), BLI_thread_lock(), BLI_thread_unlock(), camera, View3D::camera, data, Object::data, DEG_get_evaluated_id(), depsgraph, is_left(), LOCK_VIEW3D, View3D::multiview_eye, SCE_VIEWS_FORMAT_STEREO_3D, Camera::shiftx, View3D::stereo3d_camera, STEREO_3D_ID, STEREO_LEFT_ID, STEREO_LEFT_NAME, STEREO_RIGHT_ID, STEREO_RIGHT_NAME, and view3d_main_region_setup_view().
Referenced by ED_view3d_draw_setup_view().
|
static |
Definition at line 1618 of file view3d_draw.cc.
References BKE_camera_multiview_render(), BKE_camera_multiview_view_matrix(), View3D::camera, depsgraph, is_left(), SCE_VIEWS_FORMAT_STEREO_3D, STEREO_LEFT_NAME, STREQ, and view3d_main_region_setup_offscreen().
Referenced by ED_view3d_draw_offscreen().
|
static |
Definition at line 1580 of file view3d_draw.cc.
References BKE_viewer_path_clear(), BKE_viewer_path_copy(), BKE_viewer_path_equal(), CTX_wm_view3d(), CTX_wm_workspace(), View3D::viewer_path, and WorkSpace::viewer_path.
Referenced by view3d_main_region_draw().