Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/space_view3d/view3d_draw.c
| Show First 20 Lines • Show All 790 Lines • ▼ Show 20 Lines | void ED_view3d_draw_depth(Depsgraph *depsgraph, ARegion *ar, View3D *v3d, bool alphaoverride) | ||||
| /* Tools may request depth outside of regular drawing code. */ | /* Tools may request depth outside of regular drawing code. */ | ||||
| UI_Theme_Store(&theme_state); | UI_Theme_Store(&theme_state); | ||||
| UI_SetTheme(SPACE_VIEW3D, RGN_TYPE_WINDOW); | UI_SetTheme(SPACE_VIEW3D, RGN_TYPE_WINDOW); | ||||
| ED_view3d_draw_setup_view(NULL, depsgraph, scene, ar, v3d, NULL, NULL, NULL); | ED_view3d_draw_setup_view(NULL, depsgraph, scene, ar, v3d, NULL, NULL, NULL); | ||||
| GPU_clear(GPU_DEPTH_BIT); | GPU_clear(GPU_DEPTH_BIT); | ||||
| if (rv3d->rflag & RV3D_CLIPPING) { | if (RV3D_CLIPPING_ENABLED(v3d, rv3d)) { | ||||
| ED_view3d_clipping_set(rv3d); | ED_view3d_clipping_set(rv3d); | ||||
| } | } | ||||
| /* get surface depth without bias */ | /* get surface depth without bias */ | ||||
| rv3d->rflag |= RV3D_ZOFFSET_DISABLED; | rv3d->rflag |= RV3D_ZOFFSET_DISABLED; | ||||
| GPU_depth_test(true); | GPU_depth_test(true); | ||||
| /* Needed in cases the view-port isn't already setup. */ | /* Needed in cases the view-port isn't already setup. */ | ||||
| WM_draw_region_viewport_ensure(ar, SPACE_VIEW3D); | WM_draw_region_viewport_ensure(ar, SPACE_VIEW3D); | ||||
| WM_draw_region_viewport_bind(ar); | WM_draw_region_viewport_bind(ar); | ||||
| GPUViewport *viewport = WM_draw_region_get_viewport(ar, 0); | GPUViewport *viewport = WM_draw_region_get_viewport(ar, 0); | ||||
| /* When Blender is starting, a click event can trigger a depth test while the viewport is not | /* When Blender is starting, a click event can trigger a depth test while the viewport is not | ||||
| * yet available. */ | * yet available. */ | ||||
| if (viewport != NULL) { | if (viewport != NULL) { | ||||
| DRW_draw_depth_loop(depsgraph, ar, v3d, viewport, false); | DRW_draw_depth_loop(depsgraph, ar, v3d, viewport, false); | ||||
| } | } | ||||
| WM_draw_region_viewport_unbind(ar); | WM_draw_region_viewport_unbind(ar); | ||||
| if (rv3d->rflag & RV3D_CLIPPING) { | if (RV3D_CLIPPING_ENABLED(v3d, rv3d)) { | ||||
| ED_view3d_clipping_disable(); | ED_view3d_clipping_disable(); | ||||
| } | } | ||||
| rv3d->rflag &= ~RV3D_ZOFFSET_DISABLED; | rv3d->rflag &= ~RV3D_ZOFFSET_DISABLED; | ||||
| /* Reset default for UI */ | /* Reset default for UI */ | ||||
| GPU_depth_test(false); | GPU_depth_test(false); | ||||
| U.glalphaclip = glalphaclip; | U.glalphaclip = glalphaclip; | ||||
| ▲ Show 20 Lines • Show All 1,115 Lines • Show Last 20 Lines | |||||