diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-07-11 15:20:39 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-07-17 15:59:07 +0300 |
commit | 7b3a18f0aa3ed9612aca602878a8ebdf2f1250f9 (patch) | |
tree | 4f8ff9cdc37f66dd200946f4589e13d135f1e140 /source/blender/editors/space_view3d | |
parent | f8e2dba7fe429c6e514a2f12ff35addc8f474294 (diff) |
Cleanup: moving shading type into View3DShading.
So all shading settings are in this struct and can be reused in the OpenGL
render engine.
Diffstat (limited to 'source/blender/editors/space_view3d')
9 files changed, 31 insertions, 30 deletions
diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c index f48d7ef578f..a6714927249 100644 --- a/source/blender/editors/space_view3d/drawobject.c +++ b/source/blender/editors/space_view3d/drawobject.c @@ -121,10 +121,10 @@ int view3d_effective_drawtype(const struct View3D *v3d) { - if (v3d->drawtype == OB_RENDER) { - return v3d->prev_drawtype; + if (v3d->shading.type == OB_RENDER) { + return v3d->shading.prev_type; } - return v3d->drawtype; + return v3d->shading.type; } static bool check_ob_drawface_dot(Scene *sce, View3D *vd, char dt) @@ -139,10 +139,10 @@ static bool check_ob_drawface_dot(Scene *sce, View3D *vd, char dt) return true; /* if its drawing textures with zbuf sel, then don't draw dots */ - if (dt == OB_TEXTURE && vd->drawtype == OB_TEXTURE) + if (dt == OB_TEXTURE && vd->shading.type == OB_TEXTURE) return false; - if ((vd->drawtype >= OB_SOLID) && (vd->flag2 & V3D_SOLID_TEX)) + if ((vd->shading.type >= OB_SOLID) && (vd->flag2 & V3D_SOLID_TEX)) return false; return true; diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c index 75c9b4a050f..188ee928f3c 100644 --- a/source/blender/editors/space_view3d/space_view3d.c +++ b/source/blender/editors/space_view3d/space_view3d.c @@ -293,7 +293,7 @@ void ED_view3d_shade_update(Main *bmain, View3D *v3d, ScrArea *sa) { wmWindowManager *wm = bmain->wm.first; - if (v3d->drawtype != OB_RENDER) { + if (v3d->shading.type != OB_RENDER) { ARegion *ar; for (ar = sa->regionbase.first; ar; ar = ar->next) { @@ -324,7 +324,8 @@ static SpaceLink *view3d_new(const ScrArea *UNUSED(sa), const Scene *scene) v3d->grid = 1.0f; v3d->gridlines = 16; v3d->gridsubdiv = 10; - v3d->drawtype = OB_SOLID; + v3d->shading.type = OB_SOLID; + v3d->shading.prev_type = OB_SOLID; v3d->shading.flag = V3D_SHADING_SPECULAR_HIGHLIGHT; v3d->shading.light = V3D_LIGHTING_STUDIO; v3d->shading.shadow_intensity = 0.5f; @@ -431,8 +432,8 @@ static SpaceLink *view3d_duplicate(SpaceLink *sl) v3dn->lay = v3do->localvd->lay & 0xFFFFFF; } - if (v3dn->drawtype == OB_RENDER) - v3dn->drawtype = OB_SOLID; + if (v3dn->shading.type == OB_RENDER) + v3dn->shading.type = OB_SOLID; /* copy or clear inside new stuff */ @@ -1421,7 +1422,7 @@ static void space_view3d_listener( case NC_MATERIAL: switch (wmn->data) { case ND_NODES: - if (v3d->drawtype == OB_TEXTURE) + if (v3d->shading.type == OB_TEXTURE) ED_area_tag_redraw_regiontype(sa, RGN_TYPE_WINDOW); break; } diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c index 4928f6e1f28..e03fe149af6 100644 --- a/source/blender/editors/space_view3d/view3d_draw.c +++ b/source/blender/editors/space_view3d/view3d_draw.c @@ -1589,7 +1589,7 @@ ImBuf *ED_view3d_draw_offscreen_imbuf_simple( v3d.camera = camera; v3d.lay = scene->lay; - v3d.drawtype = drawtype; + v3d.shading.type = drawtype; v3d.flag2 = V3D_RENDER_OVERRIDE; if (draw_flags & V3D_OFSDRAW_USE_GPENCIL) { diff --git a/source/blender/editors/space_view3d/view3d_draw_legacy.c b/source/blender/editors/space_view3d/view3d_draw_legacy.c index cc7f23e2c18..94cd4dfc73d 100644 --- a/source/blender/editors/space_view3d/view3d_draw_legacy.c +++ b/source/blender/editors/space_view3d/view3d_draw_legacy.c @@ -179,7 +179,7 @@ static void backdrawview3d( } /* texture paint mode sampling */ else if (obact_eval && (obact_eval->mode & OB_MODE_TEXTURE_PAINT) && - (v3d->drawtype > OB_WIRE)) + (v3d->shading.type > OB_WIRE)) { /* do nothing */ } @@ -211,7 +211,7 @@ static void backdrawview3d( #endif #if 0 /* v3d->zbuf deprecated */ - if (v3d->drawtype > OB_WIRE) v3d->zbuf = true; + if (v3d->shading.type > OB_WIRE) v3d->zbuf = true; #endif /* dithering and AA break color coding, so disable */ @@ -1033,7 +1033,7 @@ bool ED_view3d_calc_render_border(const Scene *scene, Depsgraph *depsgraph, View bool use_border; /* test if there is a 3d view rendering */ - if (v3d->drawtype != OB_RENDER || !view3d_main_region_do_render_draw(scene)) + if (v3d->shading.type != OB_RENDER || !view3d_main_region_do_render_draw(scene)) return false; /* test if there is a border render */ diff --git a/source/blender/editors/space_view3d/view3d_edit.c b/source/blender/editors/space_view3d/view3d_edit.c index 792a341fba4..2cc1236e5c6 100644 --- a/source/blender/editors/space_view3d/view3d_edit.c +++ b/source/blender/editors/space_view3d/view3d_edit.c @@ -4873,7 +4873,7 @@ static int toggle_shading_exec(bContext *C, wmOperator *op) int type = RNA_enum_get(op->ptr, "type"); if (type == OB_SOLID) { - if (v3d->drawtype == OB_SOLID) { + if (v3d->shading.type == OB_SOLID) { /* Toggle X-Ray if already in solid mode. */ if (ED_operator_posemode(C) || ED_operator_editmesh(C)) { v3d->flag ^= V3D_ZBUF_SELECT; @@ -4884,24 +4884,24 @@ static int toggle_shading_exec(bContext *C, wmOperator *op) } else { /* Go to solid mode. */ - v3d->drawtype = OB_SOLID; + v3d->shading.type = OB_SOLID; } } else if (type == OB_MATERIAL) { - if (v3d->drawtype == OB_MATERIAL) { - v3d->drawtype = OB_SOLID; + if (v3d->shading.type == OB_MATERIAL) { + v3d->shading.type = OB_SOLID; } else { - v3d->drawtype = OB_MATERIAL; + v3d->shading.type = OB_MATERIAL; } } else if (type == OB_RENDER) { - if (v3d->drawtype == OB_RENDER) { - v3d->drawtype = v3d->prev_drawtype; + if (v3d->shading.type == OB_RENDER) { + v3d->shading.type = v3d->shading.prev_type; } else { - v3d->prev_drawtype = v3d->drawtype; - v3d->drawtype = OB_RENDER; + v3d->shading.prev_type = v3d->shading.type; + v3d->shading.type = OB_RENDER; } } diff --git a/source/blender/editors/space_view3d/view3d_gizmo_ruler.c b/source/blender/editors/space_view3d/view3d_gizmo_ruler.c index db7ba040b3b..e9a8dd5ee08 100644 --- a/source/blender/editors/space_view3d/view3d_gizmo_ruler.c +++ b/source/blender/editors/space_view3d/view3d_gizmo_ruler.c @@ -1052,7 +1052,7 @@ static int view3d_ruler_add_invoke(bContext *C, wmOperator *UNUSED(op), const wm wmGizmoMap *gzmap = ar->gizmo_map; wmGizmoGroup *gzgroup = WM_gizmomap_group_find(gzmap, view3d_gzgt_ruler_id); - const bool use_depth = (v3d->drawtype >= OB_SOLID); + const bool use_depth = (v3d->shading.type >= OB_SOLID); /* Create new line */ RulerItem *ruler_item; diff --git a/source/blender/editors/space_view3d/view3d_ruler.c b/source/blender/editors/space_view3d/view3d_ruler.c index 4617b92c780..133af8e6da7 100644 --- a/source/blender/editors/space_view3d/view3d_ruler.c +++ b/source/blender/editors/space_view3d/view3d_ruler.c @@ -911,7 +911,7 @@ static int view3d_ruler_modal(bContext *C, wmOperator *op, const wmEvent *event) BLI_listbase_is_empty(&ruler_info->items)) { View3D *v3d = CTX_wm_view3d(C); - const bool use_depth = (v3d->drawtype >= OB_SOLID); + const bool use_depth = (v3d->shading.type >= OB_SOLID); /* Create new line */ RulerItem *ruler_item_prev = ruler_item_active_get(ruler_info); diff --git a/source/blender/editors/space_view3d/view3d_select.c b/source/blender/editors/space_view3d/view3d_select.c index 3175075e9c3..7da69c5b2d5 100644 --- a/source/blender/editors/space_view3d/view3d_select.c +++ b/source/blender/editors/space_view3d/view3d_select.c @@ -1189,7 +1189,7 @@ static int mixed_bones_object_selectbuffer( /* define if we use solid nearest select or not */ if (use_cycle) { - if (v3d->drawtype > OB_WIRE) { + if (v3d->shading.type > OB_WIRE) { do_nearest = true; if (len_manhattan_v2v2_int(mval, last_mval) < 3) { do_nearest = false; @@ -1198,7 +1198,7 @@ static int mixed_bones_object_selectbuffer( copy_v2_v2_int(last_mval, mval); } else { - if (v3d->drawtype > OB_WIRE) { + if (v3d->shading.type > OB_WIRE) { do_nearest = true; } } diff --git a/source/blender/editors/space_view3d/view3d_view.c b/source/blender/editors/space_view3d/view3d_view.c index bb0745b1998..8a4a0efad2a 100644 --- a/source/blender/editors/space_view3d/view3d_view.c +++ b/source/blender/editors/space_view3d/view3d_view.c @@ -184,7 +184,7 @@ void ED_view3d_smooth_view_ex( } /* skip smooth viewing for render engine draw */ - if (smooth_viewtx && v3d->drawtype != OB_RENDER) { + if (smooth_viewtx && v3d->shading.type != OB_RENDER) { bool changed = false; /* zero means no difference */ if (sview->camera_old != sview->camera) @@ -1003,7 +1003,7 @@ int view3d_opengl_select( * the object & bone view locking takes 'rect' into account, see: T51629. */ ED_view3d_draw_setup_view(vc->win, depsgraph, scene, ar, v3d, vc->rv3d->viewmat, NULL, &rect); - if (v3d->drawtype > OB_WIRE) { + if (v3d->shading.type > OB_WIRE) { GPU_depth_test(true); } @@ -1048,7 +1048,7 @@ int view3d_opengl_select( G.f &= ~G_PICKSEL; ED_view3d_draw_setup_view(vc->win, depsgraph, scene, ar, v3d, vc->rv3d->viewmat, NULL, NULL); - if (v3d->drawtype > OB_WIRE) { + if (v3d->shading.type > OB_WIRE) { GPU_depth_test(false); } |