diff options
author | Campbell Barton <ideasman42@gmail.com> | 2017-03-09 19:15:58 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2017-03-09 21:00:49 +0300 |
commit | 62cc226101fab61b5ae2f18f8cbe8f1e5ac6ce82 (patch) | |
tree | 52a6a05b1c103c0601b2465892163bc36325241d /source/blender/editors/space_view3d/view3d_intern.h | |
parent | 9de9f25b2455808335b5373003695610599daab7 (diff) |
3D View: x-ray support for depth picking
Selection loop would draw the selection ignoring xray.
Now draw in a separate pass after clearing the depth buffer,
as with regular drawing.
Also disable depth sorting,
caller can sort the hit-list by depth if needed.
Diffstat (limited to 'source/blender/editors/space_view3d/view3d_intern.h')
-rw-r--r-- | source/blender/editors/space_view3d/view3d_intern.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/source/blender/editors/space_view3d/view3d_intern.h b/source/blender/editors/space_view3d/view3d_intern.h index 87b3d95cd4e..c2b8d1f8bda 100644 --- a/source/blender/editors/space_view3d/view3d_intern.h +++ b/source/blender/editors/space_view3d/view3d_intern.h @@ -143,6 +143,8 @@ void draw_motion_paths_cleanup(View3D *v3d); /* drawobject.c */ void draw_object(Scene *scene, struct ARegion *ar, View3D *v3d, Base *base, const short dflag); +void draw_object_select(Scene *scene, ARegion *ar, View3D *v3d, Base *base, const short dflag); + bool draw_glsl_material(Scene *scene, struct Object *ob, View3D *v3d, const char dt); void draw_object_instance(Scene *scene, View3D *v3d, RegionView3D *rv3d, struct Object *ob, const char dt, int outline); void draw_object_backbufsel(Scene *scene, View3D *v3d, RegionView3D *rv3d, struct Object *ob); @@ -195,7 +197,11 @@ void draw_sim_debug_data(Scene *scene, View3D *v3d, ARegion *ar); void view3d_main_region_draw(const struct bContext *C, struct ARegion *ar); void ED_view3d_draw_depth(Scene *scene, struct ARegion *ar, View3D *v3d, bool alphaoverride); void ED_view3d_draw_depth_gpencil(Scene *scene, ARegion *ar, View3D *v3d); -void ED_view3d_after_add(ListBase *lb, Base *base, const short dflag); +void ED_view3d_draw_select_loop( + ViewContext *vc, Scene *scene, View3D *v3d, ARegion *ar, + bool use_obedit_skip, bool use_nearest); + +void ED_view3d_after_add(ListBase *lb, Base *base, const short dflag);\ void circf(float x, float y, float rad); void circ(float x, float y, float rad); |