Blender
V3.3
|
#include <math.h>
#include "BLI_jitter_2d.h"
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "BLI_rect.h"
#include "BLI_string.h"
#include "BLI_string_utils.h"
#include "BLI_threads.h"
#include "BKE_armature.h"
#include "BKE_camera.h"
#include "BKE_collection.h"
#include "BKE_context.h"
#include "BKE_customdata.h"
#include "BKE_global.h"
#include "BKE_image.h"
#include "BKE_key.h"
#include "BKE_layer.h"
#include "BKE_main.h"
#include "BKE_object.h"
#include "BKE_paint.h"
#include "BKE_scene.h"
#include "BKE_studiolight.h"
#include "BKE_unit.h"
#include "BLF_api.h"
#include "BLT_translation.h"
#include "DNA_armature_types.h"
#include "DNA_brush_types.h"
#include "DNA_camera_types.h"
#include "DNA_key_types.h"
#include "DNA_mesh_types.h"
#include "DNA_object_types.h"
#include "DNA_view3d_types.h"
#include "DNA_windowmanager_types.h"
#include "DRW_engine.h"
#include "DRW_select_buffer.h"
#include "ED_gpencil.h"
#include "ED_info.h"
#include "ED_keyframing.h"
#include "ED_screen.h"
#include "ED_screen_types.h"
#include "ED_transform.h"
#include "ED_view3d_offscreen.h"
#include "DEG_depsgraph_query.h"
#include "GPU_batch.h"
#include "GPU_batch_presets.h"
#include "GPU_framebuffer.h"
#include "GPU_immediate.h"
#include "GPU_immediate_util.h"
#include "GPU_material.h"
#include "GPU_matrix.h"
#include "GPU_state.h"
#include "GPU_viewport.h"
#include "MEM_guardedalloc.h"
#include "UI_interface.h"
#include "UI_resources.h"
#include "RE_engine.h"
#include "WM_api.h"
#include "WM_types.h"
#include "RNA_access.h"
#include "IMB_imbuf.h"
#include "IMB_imbuf_types.h"
#include "view3d_intern.h"
Go to the source code of this file.
Classes | |
struct | RV3DMatrixStore |
Macros | |
#define | M_GOLDEN_RATIO_CONJUGATE 0.618033988749895f |
#define | VIEW3D_OVERLAY_LINEHEIGHT (0.9f * U.widget_unit) |
Functions | |
General Functions | |
void | ED_view3d_update_viewmat (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, struct 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, Depsgraph *depsgraph, const ARegion *region, const View3D *v3d, const RegionView3D *rv3d, rctf *r_viewborder, const bool no_shift) |
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 *UNUSED(C)) |
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 (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) |
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, 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, char err_out[256]) |
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 (struct Depsgraph *depsgraph, 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 (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) |
Custom-data Utilities | |
void | ED_view3d_datamask (const bContext *C, const Scene *UNUSED(scene), const View3D *v3d, CustomData_MeshMasks *r_cddata_masks) |
void | ED_view3d_screen_datamask (const bContext *C, const Scene *scene, const bScreen *screen, CustomData_MeshMasks *r_cddata_masks) |
Region View Matrix Backup/Restore | |
struct RV3DMatrixStore * | ED_view3d_mats_rv3d_backup (struct RegionView3D *rv3d) |
void | ED_view3d_mats_rv3d_restore (struct RegionView3D *rv3d, struct 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 *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, View3D *v3d, const char **r_grid_unit) |
void | ED_view3d_grid_steps (const Scene *scene, View3D *v3d, RegionView3D *rv3d, float r_grid_steps[STEPS_LEN]) |
float | ED_view3d_grid_view_scale (Scene *scene, View3D *v3d, 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.c.
#define STEPS_LEN 8 |
Definition at line 855 of file view3d_draw.c.
#define VIEW3D_OVERLAY_LINEHEIGHT (0.9f * U.widget_unit) |
Definition at line 89 of file view3d_draw.c.
|
static |
Definition at line 1419 of file view3d_draw.c.
References BLF_default(), BLF_disable(), BLF_draw_default(), BLF_enable(), BLF_shadow(), BLF_SHADOW, BLF_shadow_offset(), BLI_snprintf(), ED_view3d_grid_view_scale(), View3D::grid, RegionView3D::is_persp, NULL, ARegion::regiondata, RV3D_VIEW_IS_AXIS, scene, TH_TEXT_HI, UI_FontThemeColor(), 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 1294 of file view3d_draw.c.
References bArmature::act_bone, bArmature::act_edbone, ViewLayer::active_collection, ANIMFILTER_KEYS_LOCAL, BKE_collection_ui_name_get(), BKE_key_from_object(), BKE_object_pose_armature_get(), BKE_scene_find_marker_name(), BLF_default(), BLF_disable(), BLF_draw_default(), BLF_enable(), BLF_shadow(), BLF_SHADOW, BLF_shadow_offset(), BLI_findlink(), BLI_strcpy_rlen(), Key::block, RenderData::cfra, LayerCollection::collection, Object::data, ED_gpencil_has_keyframe_v3d(), bArmature::edbo, ELEM, Object::id, id_frame_has_keyframe(), IFACE_, Bone::layer, bArmature::layer, Object::mode, EditBone::name, Bone::name, KeyBlock::name, ID::name, NULL, OB_ARMATURE, OB_CURVES_LEGACY, OB_LATTICE, OB_MESH, OB_MODE_OBJECT, OB_MODE_POSE, OB_MODE_WEIGHT_PAINT, OB_SHAPE_LOCK, Scene::r, scene, Object::shapeflag, Object::shapenr, TH_TEXT_HI, TH_TIME_GP_KEYFRAME, TH_TIME_KEYFRAME, Object::type, UI_FontThemeColor(), and VIEW3D_OVERLAY_LINEHEIGHT.
Referenced by view3d_draw_region_info().
|
static |
Definition at line 941 of file view3d_draw.c.
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_2D_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 1235 of file view3d_draw.c.
References BLF_default(), BLF_disable(), BLF_draw_default(), BLF_enable(), BLF_shadow(), BLF_SHADOW, BLF_shadow_offset(), BLI_string_join_array(), IFACE_, View3D::localvd, NULL, ARegion::regiondata, RegionView3D::rflag, RV3D_CLIPPING, RV3D_VIEW_AXIS_ROLL_0, RV3D_VIEW_AXIS_ROLL_180, RV3D_VIEW_AXIS_ROLL_90, RV3D_VIEW_IS_AXIS, TH_TEXT_HI, UI_FontThemeColor(), RegionView3D::view, view3d_get_name(), VIEW3D_OVERLAY_LINEHEIGHT, and RegionView3D::view_axis_roll.
Referenced by view3d_draw_region_info().
Definition at line 795 of file view3d_draw.c.
References GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_line_width(), GPU_SHADER_2D_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, ARegion::winx, ARegion::winy, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.
Referenced by view3d_draw_border().
|
static |
Definition at line 528 of file view3d_draw.c.
References DisplaySafeAreas::action, DisplaySafeAreas::action_center, BKE_camera_sensor_fit(), BLF_default(), BLF_draw_default(), RenderData::border, 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_2D_LINE_DASHED_UNIFORM_COLOR, GPU_SHADER_2D_UNIFORM_COLOR, GPU_vertformat_attr_add(), GPU_viewport_size_get_f(), Object::id, if(), imm_draw_box_wire_2d(), immBegin(), immBindBuiltinProgram(), immEnd(), immRectf(), immUnbindProgram(), immUniform1f(), immUniform1i(), immUniform2f(), immUniformColor3f(), immUniformColor3ubv(), immUniformColor4f(), immUniformThemeColor(), immUniformThemeColor3(), immUniformThemeColorAlpha(), immUniformThemeColorShadeAlpha(), immVertex2f(), immVertexFormat(), M_GOLDEN_RATIO_CONJUGATE, RenderData::mode, ID::name, NULL, OB_CAMERA, View3D::overlay, Camera::passepartalpha, Scene::r, R_BORDER, ARegion::regiondata, Scene::safe_areas, scene, Camera::sensor_fit, Camera::sensor_x, Camera::sensor_y, TH_BACK, TH_REDALERT, TH_TEXT_HI, TH_VIEW_OVERLAY, DisplaySafeAreas::title, DisplaySafeAreas::title_center, Object::type, UI_draw_safe_areas(), UI_FontThemeColor(), V3D_HIDE_OVERLAYS, V3D_LOCK_CAMERA, V3D_OVERLAY_HIDE_TEXT, view3d_camera_border_hack_col, view3d_camera_border_hack_test, ARegion::winx, ARegion::winy, x2, RenderData::xasp, rcti::xmax, rctf::xmax, rcti::xmin, rctf::xmin, RenderData::xsch, y1, RenderData::yasp, rcti::ymax, rctf::ymax, rcti::ymin, rctf::ymin, and RenderData::ysch.
Referenced by view3d_draw_border().
|
static |
Definition at line 448 of file view3d_draw.c.
References GPU_PRIM_LINES, immBegin(), immEnd(), immVertex2f(), x2, and y1.
Referenced by drawviewborder().
|
static |
Definition at line 475 of file view3d_draw.c.
References GPU_PRIM_LINES, immBegin(), immEnd(), immVertex2f(), M_GOLDEN_RATIO_CONJUGATE, SWAP, w(), x2, and y1.
Referenced by drawviewborder().
Definition at line 2478 of file view3d_draw.c.
References BLF_default(), BLF_disable(), BLF_draw_default(), BLF_enable(), BLF_shadow(), BLF_SHADOW, BLF_shadow_offset(), BLI_snprintf(), float(), FPS, Scene::fps_info, IFACE_, ScreenFrameRateInfo::lredrawtime, REDRAW_FRAME_AVERAGE, ScreenFrameRateInfo::redrawtime, ScreenFrameRateInfo::redrawtime_index, ScreenFrameRateInfo::redrawtimes_fps, scene, TH_REDALERT, TH_TEXT_HI, UI_FontThemeColor(), and VIEW3D_OVERLAY_LINEHEIGHT.
Referenced by view3d_draw_region_info().
Definition at line 829 of file view3d_draw.c.
References B_UNIT_LENGTH, BKE_unit_base_get(), BKE_unit_display_name_get(), BKE_unit_scalar_get(), BKE_unit_system_get(), len, UnitSettings::scale_length, scene, UnitSettings::system, and Scene::unit.
Referenced by ED_view3d_grid_scale().
allow for small values [0.5 - 2.5], and large values, FLT_MAX by clamping by the area size
Definition at line 2195 of file view3d_draw.c.
References ceilf, max_ii(), min_ff(), and ARegion::winx.
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, |
Depsgraph * | depsgraph, | ||
const ARegion * | region, | ||
const View3D * | v3d, | ||
const RegionView3D * | rv3d, | ||
rctf * | r_viewborder, | ||
const bool | no_shift | ||
) |
Definition at line 437 of file view3d_draw.c.
References depsgraph, scene, and view3d_camera_border().
Referenced by drawviewborder(), ED_view3d_calc_render_border(), and ED_view3d_update_viewmat().
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 423 of file view3d_draw.c.
References BLI_rctf_size_x(), BLI_rctf_size_y(), depsgraph, scene, and view3d_camera_border().
bool ED_view3d_calc_render_border | ( | const Scene * | scene, |
Depsgraph * | depsgraph, | ||
View3D * | v3d, | ||
ARegion * | region, | ||
rcti * | rect | ||
) |
Definition at line 2541 of file view3d_draw.c.
References BLI_rctf_size_x(), BLI_rctf_size_y(), BLI_rcti_isect(), BLI_rcti_translate(), RenderData::border, depsgraph, ED_view3d_calc_camera_border(), View3D::flag2, RenderData::mode, OB_RENDER, RegionView3D::persp, Scene::r, R_BORDER, ARegion::regiondata, View3D::render_border, RV3D_CAMOB, scene, View3D::shading, View3DShading::type, V3D_RENDER_BORDER, view3d_main_region_do_render_draw(), ARegion::winrct, ARegion::winx, ARegion::winy, rcti::xmax, rctf::xmax, rcti::xmin, rctf::xmin, rcti::ymax, rctf::ymax, rcti::ymin, and rctf::ymin.
bool ED_view3d_clipping_test | ( | const RegionView3D * | rv3d, |
const float | co[3], | ||
const bool | is_local | ||
) |
Definition at line 2110 of file view3d_draw.c.
References RegionView3D::clip, RegionView3D::clip_local, and view3d_clipping_test().
void ED_view3d_datamask | ( | const bContext * | C, |
const Scene * | UNUSEDscene, | ||
const View3D * | v3d, | ||
CustomData_MeshMasks * | r_cddata_masks | ||
) |
Definition at line 2380 of file view3d_draw.c.
References C, CD_MASK_MDEFORMVERT, CD_MASK_MLOOPUV, CD_MASK_ORCO, CD_MASK_PAINT_MASK, CD_MASK_PROP_BYTE_COLOR, CD_MASK_PROP_COLOR, CD_MASK_SCULPT_FACE_SETS, View3DShading::color_type, CTX_data_mode_enum(), CTX_MODE_EDIT_MESH, CTX_MODE_SCULPT, View3DOverlay::edit_flag, ELEM, CustomData_MeshMasks::lmask, OB_MATERIAL, OB_RENDER, OB_SOLID, OB_TEXTURE, View3D::overlay, CustomData_MeshMasks::pmask, View3D::shading, View3DShading::type, V3D_OVERLAY_EDIT_WEIGHT, V3D_SHADING_TEXTURE_COLOR, V3D_SHADING_VERTEX_COLOR, and CustomData_MeshMasks::vmask.
Referenced by ED_view3d_screen_datamask().
void ED_view3d_depth_override | ( | struct Depsgraph * | depsgraph, |
struct ARegion * | region, | ||
struct View3D * | v3d, | ||
struct Object * | obact, | ||
eV3DDepthOverrideMode | mode, | ||
struct ViewDepths ** | r_depths | ||
) |
Redraw the viewport depth buffer.
Definition at line 2294 of file view3d_draw.c.
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(), View3D_Runtime::flag, View3D::flag, View3D::flag2, G_MAIN, NULL, ARegion::regiondata, RegionView3D::rflag, RGN_TYPE_WINDOW, View3D::runtime, RV3D_ZOFFSET_DISABLED, scene, SPACE_VIEW3D, UI_SetTheme(), UI_Theme_Restore(), UI_Theme_Store(), V3D_DEPTH_GPENCIL_ONLY, V3D_DEPTH_NO_GPENCIL, V3D_DEPTH_OBJECT_ONLY, V3D_HIDE_OVERLAYS, V3D_RUNTIME_DEPTHBUF_OVERRIDDEN, V3D_SELECT_OUTLINE, 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(), curve_draw_invoke(), ED_view3d_autodist(), gpencil_get_depth_array(), gpencil_paint_strokeend(), gpencil_point_conversion_init(), gpencil_primitive_update_strokes(), gpencil_stroke_doeraser(), object_transform_axis_target_invoke(), PE_set_view3d_data(), and view3d_zoom_border_exec().
void ED_view3d_depths_free | ( | ViewDepths * | depths | ) |
Definition at line 2366 of file view3d_draw.c.
References ViewDepths::depths, and MEM_freeN.
Referenced by annotation_session_free(), curve_draw_exit(), ED_view3d_depth_override(), gpencil_fill_exit(), gpencil_primitive_exit(), gpencil_session_free(), object_transform_axis_target_free_data(), and PE_data_free().
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 1606 of file view3d_draw.c.
References BKE_image_free_anim_gputextures(), View3D::camera, depsgraph, draw_background(), DRW_cache_free_old_subdiv(), 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(), MEM_freeN, NULL, RegionView3D::persp, ARegion::regiondata, RGN_TYPE_WINDOW, RV3D_CAMOB, scene, View3D::shading, SPACE_VIEW3D, View3DShading::type, UI_SetTheme(), UI_Theme_Restore(), UI_Theme_Store(), view3d_main_region_setup_offscreen(), view3d_stereo3d_setup_offscreen(), RV3DMatrixStore::viewmat, RV3DMatrixStore::winmat, ARegion::winrct, ARegion::winx, ARegion::winy, rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by ED_view3d_draw_offscreen_imbuf(), and ED_view3d_draw_offscreen_simple().
ImBuf* ED_view3d_draw_offscreen_imbuf | ( | struct Depsgraph * | depsgraph, |
struct Scene * | scene, | ||
eDrawType | drawtype, | ||
struct View3D * | v3d, | ||
struct ARegion * | region, | ||
int | sizex, | ||
int | sizey, | ||
eImBufFlags | imbuf_flag, | ||
int | alpha_mode, | ||
const char * | viewname, | ||
bool | restore_rv3d_mats, | ||
struct GPUOffScreen * | ofs, | ||
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). |
Definition at line 1831 of file view3d_draw.c.
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(), View3D::camera, camera, View3D::clip_end, View3D::clip_start, copy_m4_m4(), DEG_get_evaluated_object(), depsgraph, DRW_opengl_context_disable(), DRW_opengl_context_enable(), ED_view3d_draw_offscreen(), ED_view3d_viewplane_get(), GPU_DATA_FLOAT, GPU_DATA_UBYTE, GPU_framebuffer_active_get(), GPU_framebuffer_bind(), GPU_framebuffer_restore(), GPU_offscreen_bind(), GPU_offscreen_create(), GPU_offscreen_free(), GPU_offscreen_height(), GPU_offscreen_read_pixels(), GPU_offscreen_unbind(), GPU_offscreen_width(), GPU_RGBA8, IMB_allocImBuf(), IMB_rect_from_float(), NULL, orthographic_m4(), params, RegionView3D::persp, perspective_m4(), Scene::r, R_ADDSKY, ImBuf::rect, ImBuf::rect_float, ARegion::regiondata, RV3D_CAMOB, scene, RV3DMatrixStore::winmat, RenderData::xasp, rctf::xmax, rctf::xmin, RenderData::yasp, 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 | ( | struct Depsgraph * | depsgraph, |
struct Scene * | scene, | ||
struct View3DShading * | shading_override, | ||
eDrawType | drawtype, | ||
struct Object * | camera, | ||
int | width, | ||
int | height, | ||
eImBufFlags | imbuf_flags, | ||
eV3DOffscreenDrawFlag | draw_flags, | ||
int | alpha_mode, | ||
const char * | viewname, | ||
struct GPUOffScreen * | ofs, | ||
char | err_out[256] | ||
) |
Creates own 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). |
Definition at line 1980 of file view3d_draw.c.
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(), View3D::camera, camera, View3D::clip_end, View3D::clip_start, View3DShading::color_type, copy_m4_m4(), DEG_get_evaluated_object(), depsgraph, Scene::display, ED_view3d_draw_offscreen_imbuf(), ListBase::first, View3DShading::flag, View3D::flag2, View3DOverlay::gpencil_vertex_paint_opacity, View3D::gridflag, height, invert_m4_m4(), ListBase::last, View3D::lens, View3DShading::light, mul_m4_m4m4(), normalize_m4(), NULL, OB_MATERIAL, OB_RENDER, OB_SOLID, OB_TEXTURE, Object::obmat, View3D::overlay, params, RegionView3D::persinv, RegionView3D::persmat, RegionView3D::persp, Scene::r, View3D::regionbase, ARegion::regiondata, ARegion::regiontype, View3DShading::render_pass, RGN_TYPE_WINDOW, RV3D_CAMOB, SCE_PASS_COMBINED, scene, SceneDisplay::shading, 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, width, RegionView3D::winmat, RenderData::xasp, and RenderData::yasp.
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 | ( | struct Depsgraph * | depsgraph, |
struct Scene * | scene, | ||
struct 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, | ||
struct GPUOffScreen * | ofs, | ||
struct GPUViewport * | viewport | ||
) |
Creates own 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 1723 of file view3d_draw.c.
References View3D::clip_end, View3D::clip_start, depsgraph, Scene::display, draw_background(), ED_view3d_draw_offscreen(), ListBase::first, View3DShading::flag, View3DOverlay::flag, View3D::flag, View3D::flag2, View3D::grid, View3D::gridflag, View3D::gridlines, View3D::gridsubdiv, ListBase::last, View3D::lens, NULL, 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, scene, SceneDisplay::shading, 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_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, RV3DMatrixStore::viewmat, and RV3DMatrixStore::winmat.
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 | ||
) |
Definition at line 339 of file view3d_draw.c.
References depsgraph, ARegion::regiondata, scene, UNUSED_VARS, view3d_main_region_setup_view(), view3d_stereo3d_active(), and view3d_stereo3d_setup().
Referenced by ED_view3d_depth_override(), and view3d_draw_view().
RenderEngineType* ED_view3d_engine_type | ( | const Scene * | scene, |
int | drawtype | ||
) |
Definition at line 1543 of file view3d_draw.c.
References RenderData::engine, OB_MATERIAL, Scene::r, RE_engine_id_BLENDER_EEVEE, RE_engines_find(), RE_USE_EEVEE_VIEWPORT, scene, and type.
Referenced by ED_view3d_draw_offscreen().
Definition at line 850 of file view3d_draw.c.
References ED_scene_grid_scale(), View3D::grid, and scene.
Referenced by ED_view3d_grid_view_scale().
void ED_view3d_grid_steps | ( | const Scene * | scene, |
View3D * | v3d, | ||
RegionView3D * | rv3d, | ||
float | r_grid_steps[STEPS_LEN] | ||
) |
Definition at line 856 of file view3d_draw.c.
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, UnitSettings::scale_length, scene, STEPS_LEN, UnitSettings::system, Scene::unit, and RegionView3D::view.
Referenced by ED_view3d_grid_view_scale().
float ED_view3d_grid_view_scale | ( | struct Scene * | scene, |
struct View3D * | v3d, | ||
struct 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 901 of file view3d_draw.c.
References ARRAY_SIZE, B_UNIT_LENGTH, BKE_unit_display_name_get(), BKE_unit_system_get(), ED_view3d_grid_scale(), ED_view3d_grid_steps(), RegionView3D::is_persp, len, ARegion::regiondata, RV3D_VIEW_IS_AXIS, scene, ARegion::sizex, STEPS_LEN, UnitSettings::system, Scene::unit, RegionView3D::view, and RegionView3D::winmat.
Referenced by draw_grid_unit_name(), gpencil_snap_to_grid(), idp_snap_calc_incremental(), initSnapSpatial(), snap_curs_to_grid_exec(), snap_sel_to_grid_exec(), and v3d_cursor_snap_calc_incremental().
struct RV3DMatrixStore* ED_view3d_mats_rv3d_backup | ( | struct RegionView3D * | rv3d | ) |
Definition at line 2447 of file view3d_draw.c.
References copy_m4_m4(), copy_v4_v4(), MEM_mallocN, RV3DMatrixStore::persinv, RegionView3D::persinv, RV3DMatrixStore::persmat, RegionView3D::persmat, RV3DMatrixStore::pixsize, RegionView3D::pixsize, RV3DMatrixStore::viewcamtexcofac, RegionView3D::viewcamtexcofac, RV3DMatrixStore::viewinv, RegionView3D::viewinv, RV3DMatrixStore::viewmat, RegionView3D::viewmat, RV3DMatrixStore::winmat, and RegionView3D::winmat.
Referenced by ED_view3d_draw_offscreen().
void ED_view3d_mats_rv3d_restore | ( | struct RegionView3D * | rv3d, |
struct RV3DMatrixStore * | rv3dmat_pt | ||
) |
Definition at line 2460 of file view3d_draw.c.
References copy_m4_m4(), copy_v4_v4(), RV3DMatrixStore::persinv, RegionView3D::persinv, RV3DMatrixStore::persmat, RegionView3D::persmat, RV3DMatrixStore::pixsize, RegionView3D::pixsize, RV3DMatrixStore::viewcamtexcofac, RegionView3D::viewcamtexcofac, RV3DMatrixStore::viewinv, RegionView3D::viewinv, RV3DMatrixStore::viewmat, RegionView3D::viewmat, RV3DMatrixStore::winmat, and RegionView3D::winmat.
Referenced by ED_view3d_draw_offscreen().
void ED_view3d_screen_datamask | ( | const bContext * | C, |
const Scene * | scene, | ||
const bScreen * | screen, | ||
CustomData_MeshMasks * | r_cddata_masks | ||
) |
Definition at line 2409 of file view3d_draw.c.
References blender::compositor::area(), bScreen::areabase, C, CD_MASK_BAREMESH, CustomData_MeshMasks_update(), ED_view3d_datamask(), LISTBASE_FOREACH, scene, and SPACE_VIEW3D.
void ED_view3d_select_id_validate | ( | ViewContext * | vc | ) |
Definition at line 2190 of file view3d_draw.c.
References ViewContext::depsgraph, ViewContext::obact, ViewContext::region, ViewContext::v3d, validate_object_select_id(), and ViewContext::view_layer.
Referenced by ED_mesh_pick_face(), ED_mesh_pick_vert(), and imapaint_pick_face().
void ED_view3d_update_viewmat | ( | 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.c.
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(), MAX2, max_ii(), min_ff(), mul_m4_m4m4(), NULL, RegionView3D::persinv, RegionView3D::persmat, RegionView3D::persp, RegionView3D::pixsize, ARegion::regiondata, RV3D_CAMOB, scene, sqrtf, v1, v2, view3d_viewmatrix_set(), view3d_winmatrix_set(), RegionView3D::viewcamtexcofac, RegionView3D::viewinv, RegionView3D::viewmat, RegionView3D::winmat, ARegion::winx, ARegion::winy, rctf::xmin, and rctf::ymin.
Referenced by view3d_main_region_setup_offscreen(), and view3d_main_region_setup_view().
|
static |
Definition at line 2124 of file view3d_draw.c.
References Object::base_flag, BASE_VISIBLE_DEPSGRAPH, BKE_paint_select_face_test(), BKE_view_layer_base_find(), 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, ARegion::regiontype, 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 376 of file view3d_draw.c.
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, Scene::r, scene, ARegion::winx, ARegion::winy, RenderData::xasp, rctf::xmax, rctf::xmin, RenderData::xsch, RenderData::yasp, rctf::ymax, rctf::ymin, and RenderData::ysch.
Referenced by ED_view3d_calc_camera_border(), and ED_view3d_calc_camera_border_size().
Definition at line 2095 of file view3d_draw.c.
References plane_point_side_v3().
Referenced by ED_view3d_clipping_test().
float view3d_depth_near | ( | struct ViewDepths * | d | ) |
Utility function to find the closest Z value, use for auto-depth.
Definition at line 2271 of file view3d_draw.c.
References float().
Referenced by view3d_zoom_border_exec(), and view_autodist_depth_margin().
|
static |
Definition at line 2248 of file view3d_draw.c.
References GPU_DATA_UINT_24_8, GPU_texture_height(), GPU_texture_read(), GPU_texture_width(), GPU_viewport_depth_texture(), MEM_callocN, 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 2206 of file view3d_draw.c.
References BLI_rcti_isect(), BLI_rcti_size_x(), BLI_rcti_size_y(), ViewDepths::depth_range, ViewDepths::depths, ViewDepths::h, MEM_mallocN, NULL, r, view3d_opengl_read_Z_pixels(), w(), ViewDepths::w, ARegion::winx, ARegion::winy, WM_draw_region_get_viewport(), x, ViewDepths::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 1120 of file view3d_draw.c.
References C, CTX_data_expect_evaluated_depsgraph(), CTX_data_scene(), CTX_wm_view3d(), depsgraph, drawrenderborder(), drawviewborder(), View3D::flag2, RegionView3D::persp, ARegion::regiondata, RV3D_CAMOB, scene, and V3D_RENDER_BORDER.
Referenced by view3d_draw_region_info().
Definition at line 1445 of file view3d_draw.c.
References BLF_batch_draw_begin(), BLF_batch_draw_end(), C, 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(), View3DOverlay::flag, View3D::flag2, View3D::gizmo_flag, View3D::gridflag, View3D::localvd, NDOF_SHOW_GUIDE, NULL, OBACT, View3D::overlay, RegionView3D::persp, ARegion::regiondata, RV3D_CAMOB, RV3D_LOCK_FLAGS, RV3D_LOCK_ROTATION, scene, 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 1527 of file view3d_draw.c.
References C, CTX_data_expect_evaluated_depsgraph(), CTX_data_scene(), CTX_wm_manager(), CTX_wm_view3d(), CTX_wm_window(), DRW_draw_view(), ED_view3d_draw_setup_view(), and NULL.
Referenced by view3d_main_region_draw().
|
static |
Viewport Name
Definition at line 1152 of file view3d_draw.c.
References BLI_assert, CAM_ORTHO, CAM_PANO, CAM_PERSP, View3D::camera, Object::data, IFACE_, NULL, 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().
Definition at line 2535 of file view3d_draw.c.
References RenderData::engine, Scene::r, RE_engines_find(), scene, and type.
Referenced by ED_view3d_calc_render_border().
Definition at line 1557 of file view3d_draw.c.
References BKE_image_free_old_gputextures(), C, CTX_data_main(), CTX_wm_view3d(), DRW_cache_free_old_batches(), DRW_cache_free_old_subdiv(), View3D_Runtime::flag, GPU_DEPTH_NONE, GPU_depth_test(), GPU_pass_cache_garbage_collect(), View3D::runtime, V3D_RUNTIME_DEPTHBUF_OVERRIDDEN, and view3d_draw_view().
Referenced by ED_spacetype_view3d().
|
static |
Definition at line 194 of file view3d_draw.c.
References depsgraph, ED_view3d_update_viewmat(), GPU_matrix_projection_set, GPU_matrix_set, NULL, ARegion::regiondata, scene, 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.c.
References depsgraph, ED_view3d_update_viewmat(), GPU_matrix_projection_set, GPU_matrix_set, ARegion::regiondata, scene, RegionView3D::viewmat, and RegionView3D::winmat.
Referenced by ED_view3d_draw_setup_view(), and view3d_stereo3d_setup().
|
static |
Definition at line 2166 of file view3d_draw.c.
References BLI_rcti_size_x(), BLI_rcti_size_y(), data, GPU_DATA_FLOAT, GPU_framebuffer_bind(), GPU_framebuffer_free(), GPU_framebuffer_read_depth(), GPU_framebuffer_restore(), GPU_viewport_depth_texture(), NULL, rcti::xmin, and rcti::ymin.
Referenced by view3d_depths_rect_create().
|
static |
Definition at line 209 of file view3d_draw.c.
References BKE_scene_multiview_is_stereo3d(), View3D::camera, NULL, OB_CAMERA, RegionView3D::persp, Scene::r, R_MULTIVIEW, RV3D_CAMOB, SCE_VIEWS_FORMAT_MULTIVIEW, RenderData::scemode, scene, View3D::stereo3d_camera, STEREO_3D_ID, STEREO_LEFT_ID, STEREO_MONO_ID, STEREO_RIGHT_ID, Object::type, RenderData::views_format, and WM_stereo3d_enabled().
Referenced by ED_view3d_draw_setup_view().
|
static |
Definition at line 253 of file view3d_draw.c.
References BKE_camera_multiview_render(), BKE_camera_multiview_shift_x(), BKE_camera_multiview_view_matrix(), BLI_thread_lock(), BLI_thread_unlock(), View3D::camera, camera, data, Object::data, DEG_get_evaluated_id(), depsgraph, is_left(), LOCK_VIEW3D, View3D::multiview_eye, names, NULL, Scene::r, SCE_VIEWS_FORMAT_STEREO_3D, scene, Camera::shiftx, View3D::stereo3d_camera, STEREO_3D_ID, STEREO_LEFT_ID, STEREO_LEFT_NAME, STEREO_RIGHT_ID, STEREO_RIGHT_NAME, view3d_main_region_setup_view(), and RenderData::views_format.
Referenced by ED_view3d_draw_setup_view().
|
static |
Definition at line 1582 of file view3d_draw.c.
References BKE_camera_multiview_render(), BKE_camera_multiview_view_matrix(), View3D::camera, camera, depsgraph, is_left(), Scene::r, SCE_VIEWS_FORMAT_STEREO_3D, scene, STEREO_LEFT_NAME, STREQ, view3d_main_region_setup_offscreen(), and RenderData::views_format.
Referenced by ED_view3d_draw_offscreen().