diff options
author | Germano Cavalcante <germano.costa@ig.com.br> | 2021-03-30 22:23:58 +0300 |
---|---|---|
committer | Germano Cavalcante <germano.costa@ig.com.br> | 2021-03-30 22:23:58 +0300 |
commit | 142541124976af41f08fb5479886350c2d803710 (patch) | |
tree | 6ee06d11f3179f4d704a20531f91541a4a15094e /source/blender/editors/include/ED_view3d.h | |
parent | da1b002c8d2f331d97458167746e5974d8556799 (diff) |
Cleanup/Refactor: Unify functions that redraw the depth buffer
Now `ED_view3d_backbuf_depth_validate`, `ED_view3d_draw_depth` and
`ED_view3d_draw_depth_gpencil` are unified in `ED_view3d_depth_override`.
This new function replaces `ED_view3d_autodist_init`.
Also, since `ED_view3d_depth_update` depends on the render context, and
changing the context is a slow operation, that function also was removed,
and the depth buffer cached is now updated inside the new unified drawing
function when the "bool update_cache" parameter is true.
Finally `V3D_INVALID_BACKBUF` flag has been renamed and moved to
`runtime.flag`.
Differential revision: https://developer.blender.org/D10678
Diffstat (limited to 'source/blender/editors/include/ED_view3d.h')
-rw-r--r-- | source/blender/editors/include/ED_view3d.h | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/source/blender/editors/include/ED_view3d.h b/source/blender/editors/include/ED_view3d.h index 3b8e062ffec..d00d03abae7 100644 --- a/source/blender/editors/include/ED_view3d.h +++ b/source/blender/editors/include/ED_view3d.h @@ -144,7 +144,17 @@ bool ED_view3d_camera_to_view_selected(struct Main *bmain, void ED_view3d_lastview_store(struct RegionView3D *rv3d); /* Depth buffer */ -void ED_view3d_depth_update(struct ARegion *region); +typedef enum { + V3D_DEPTH_NO_GPENCIL = 0, + V3D_DEPTH_GPENCIL_ONLY, + V3D_DEPTH_OBJECT_ONLY, +} eV3DDepthOverrideMode; +void ED_view3d_depth_override(struct Depsgraph *depsgraph, + struct ARegion *region, + struct View3D *v3d, + struct Object *obact, + eV3DDepthOverrideMode mode, + bool update_cache); float ED_view3d_depth_read_cached(const struct ViewContext *vc, const int mval[2]); bool ED_view3d_depth_read_cached_normal(const ViewContext *vc, const int mval[2], @@ -481,11 +491,6 @@ bool ED_view3d_autodist(struct Depsgraph *depsgraph, const bool alphaoverride, const float fallback_depth_pt[3]); -/* Only draw so #ED_view3d_autodist_simple can be called many times after. */ -void ED_view3d_autodist_init(struct Depsgraph *depsgraph, - struct ARegion *region, - struct View3D *v3d, - int mode); bool ED_view3d_autodist_simple(struct ARegion *region, const int mval[2], float mouse_worldloc[3], |