Commit: f59d3a7b0cab84ec0646ec1aa341400ba99cb4d3
Author: Campbell Barton
Date:   Thu Apr 27 01:01:20 2017 +1000
Branches: blender2.8
https://developer.blender.org/rBf59d3a7b0cab84ec0646ec1aa341400ba99cb4d3

View3D: move depth drawing into own function

No functional changes

===================================================================

M       source/blender/editors/space_view3d/view3d_draw.c
M       source/blender/editors/space_view3d/view3d_draw_legacy.c
M       source/blender/editors/space_view3d/view3d_intern.h

===================================================================

diff --git a/source/blender/editors/space_view3d/view3d_draw.c 
b/source/blender/editors/space_view3d/view3d_draw.c
index 1313d8245a7..4f90c2b5017 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@ -784,6 +784,56 @@ static void drawrenderborder(ARegion *ar, View3D *v3d)
        immUnbindProgram();
 }
 
+void ED_view3d_draw_depth(Scene *scene, ARegion *ar, View3D *v3d, bool 
alphaoverride)
+{
+       RegionView3D *rv3d = ar->regiondata;
+
+       short zbuf = v3d->zbuf;
+       short flag = v3d->flag;
+       float glalphaclip = U.glalphaclip;
+       int obcenter_dia = U.obcenter_dia;
+       /* temp set drawtype to solid */
+       /* Setting these temporarily is not nice */
+       v3d->flag &= ~V3D_SELECT_OUTLINE;
+       U.glalphaclip = alphaoverride ? 0.5f : glalphaclip; /* not that nice 
but means we wont zoom into billboards */
+       U.obcenter_dia = 0;
+
+       view3d_winmatrix_set(ar, v3d, NULL);
+       view3d_viewmatrix_set(scene, v3d, rv3d);  /* note: calls 
BKE_object_where_is_calc for camera... */
+
+       mul_m4_m4m4(rv3d->persmat, rv3d->winmat, rv3d->viewmat);
+       invert_m4_m4(rv3d->persinv, rv3d->persmat);
+       invert_m4_m4(rv3d->viewinv, rv3d->viewmat);
+
+       glClear(GL_DEPTH_BUFFER_BIT);
+
+       gpuLoadMatrix(rv3d->viewmat);
+
+       if (rv3d->rflag & RV3D_CLIPPING) {
+               ED_view3d_clipping_set(rv3d);
+       }
+       /* get surface depth without bias */
+       rv3d->rflag |= RV3D_ZOFFSET_DISABLED;
+
+       v3d->zbuf = true;
+       glEnable(GL_DEPTH_TEST);
+
+       /* temp, calls into view3d_draw_legacy.c */
+       ED_view3d_draw_depth_loop(scene, ar, v3d);
+
+       if (rv3d->rflag & RV3D_CLIPPING) {
+               ED_view3d_clipping_disable();
+       }
+       rv3d->rflag &= ~RV3D_ZOFFSET_DISABLED;
+
+       v3d->zbuf = zbuf;
+       if (!v3d->zbuf) glDisable(GL_DEPTH_TEST);
+
+       U.glalphaclip = glalphaclip;
+       v3d->flag = flag;
+       U.obcenter_dia = obcenter_dia;
+}
+
 /* ******************** offline engine ***************** */
 
 static bool view3d_draw_render_draw(const bContext *C, Scene *scene,
diff --git a/source/blender/editors/space_view3d/view3d_draw_legacy.c 
b/source/blender/editors/space_view3d/view3d_draw_legacy.c
index fb995c0e649..60b9cbb3b1c 100644
--- a/source/blender/editors/space_view3d/view3d_draw_legacy.c
+++ b/source/blender/editors/space_view3d/view3d_draw_legacy.c
@@ -1202,43 +1202,13 @@ void ED_view3d_draw_depth_gpencil(Scene *scene, ARegion 
*ar, View3D *v3d)
        if (!zbuf) glDisable(GL_DEPTH_TEST);
 }
 
-void ED_view3d_draw_depth(Scene *scene, ARegion *ar, View3D *v3d, bool 
alphaoverride)
+void ED_view3d_draw_depth_loop(Scene *scene, ARegion *ar, View3D *v3d)
 {
-       RegionView3D *rv3d = ar->regiondata;
        Base *base;
-       short zbuf = v3d->zbuf;
-       short flag = v3d->flag;
-       float glalphaclip = U.glalphaclip;
-       int obcenter_dia = U.obcenter_dia;
        SceneLayer *sl = BKE_scene_layer_context_active(scene);
        /* no need for color when drawing depth buffer */
        const short dflag_depth = DRAW_CONSTCOLOR;
-       /* temp set drawtype to solid */
-       /* Setting these temporarily is not nice */
-       v3d->flag &= ~V3D_SELECT_OUTLINE;
-       U.glalphaclip = alphaoverride ? 0.5f : glalphaclip; /* not that nice 
but means we wont zoom into billboards */
-       U.obcenter_dia = 0;
-       
-       view3d_winmatrix_set(ar, v3d, NULL);
-       view3d_viewmatrix_set(scene, v3d, rv3d);  /* note: calls 
BKE_object_where_is_calc for camera... */
-       
-       mul_m4_m4m4(rv3d->persmat, rv3d->winmat, rv3d->viewmat);
-       invert_m4_m4(rv3d->persinv, rv3d->persmat);
-       invert_m4_m4(rv3d->viewinv, rv3d->viewmat);
-       
-       glClear(GL_DEPTH_BUFFER_BIT);
-       
-       gpuLoadMatrix(rv3d->viewmat);
-       
-       if (rv3d->rflag & RV3D_CLIPPING) {
-               ED_view3d_clipping_set(rv3d);
-       }
-       /* get surface depth without bias */
-       rv3d->rflag |= RV3D_ZOFFSET_DISABLED;
 
-       v3d->zbuf = true;
-       glEnable(GL_DEPTH_TEST);
-       
        /* draw set first */
        if (scene->set) {
                Scene *sce_iter;
@@ -1312,18 +1282,6 @@ void ED_view3d_draw_depth(Scene *scene, ARegion *ar, 
View3D *v3d, bool alphaover
 
                glDepthMask(mask_orig);
        }
-       
-       if (rv3d->rflag & RV3D_CLIPPING) {
-               ED_view3d_clipping_disable();
-       }
-       rv3d->rflag &= ~RV3D_ZOFFSET_DISABLED;
-       
-       v3d->zbuf = zbuf;
-       if (!v3d->zbuf) glDisable(GL_DEPTH_TEST);
-
-       U.glalphaclip = glalphaclip;
-       v3d->flag = flag;
-       U.obcenter_dia = obcenter_dia;
 }
 
 void ED_view3d_draw_select_loop(
diff --git a/source/blender/editors/space_view3d/view3d_intern.h 
b/source/blender/editors/space_view3d/view3d_intern.h
index e97f186e4f1..c30b7076ac6 100644
--- a/source/blender/editors/space_view3d/view3d_intern.h
+++ b/source/blender/editors/space_view3d/view3d_intern.h
@@ -211,14 +211,18 @@ void draw_sim_debug_data(Scene *scene, View3D *v3d, 
ARegion *ar);
 void view3d_main_region_draw(const struct bContext *C, struct ARegion *ar);
 void view3d_draw_region_info(const struct bContext *C, struct ARegion *ar);
 
+void ED_view3d_draw_depth(Scene *scene, struct ARegion *ar, View3D *v3d, bool 
alphaoverride);
+
 /* view3d_draw_legacy.c */
 void view3d_main_region_draw_legacy(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_draw_select_loop(
         ViewContext *vc, Scene *scene, struct SceneLayer *sl, View3D *v3d, 
ARegion *ar,
         bool use_obedit_skip, bool use_nearest);
 
+void ED_view3d_draw_depth_loop(Scene *scene, ARegion *ar, View3D *v3d);
+
 void ED_view3d_after_add(ListBase *lb, BaseLegacy *base, const short dflag);
 
 void view3d_update_depths_rect(struct ARegion *ar, struct ViewDepths *d, 
struct rcti *rect);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to