[Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45510] trunk/blender: mango request: option to draw background in front of all objects in the viewport.

Sergey Sharybin sergey.vfx at gmail.com
Tue Apr 10 17:22:22 CEST 2012


Was afraid such renaming will mess up all documentation and tutorials
created for 2,63.

On Tue, Apr 10, 2012 at 5:07 PM, Dalai Felinto <dfelinto at gmail.com> wrote:

> Perhaps it should now be named 'Reference Image' instead of 'Background
> Image'?
>
> 2012/4/10 Sergey Sharybin <sergey.vfx at gmail.com>
>
> > Revision: 45510
> >
> >
> http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45510
> > Author:   nazgul
> > Date:     2012-04-10 14:59:06 +0000 (Tue, 10 Apr 2012)
> > Log Message:
> > -----------
> > mango request: option to draw background in front of all objects in the
> > viewport.
> > Should be really handy for painting clean plates.
> >
> > Modified Paths:
> > --------------
> >    trunk/blender/release/scripts/startup/bl_ui/space_view3d.py
> >    trunk/blender/source/blender/editors/space_view3d/view3d_draw.c
> >    trunk/blender/source/blender/makesdna/DNA_view3d_types.h
> >    trunk/blender/source/blender/makesrna/intern/rna_space.c
> >
> > Modified: trunk/blender/release/scripts/startup/bl_ui/space_view3d.py
> > ===================================================================
> > --- trunk/blender/release/scripts/startup/bl_ui/space_view3d.py
> 2012-04-10
> > 14:58:21 UTC (rev 45509)
> > +++ trunk/blender/release/scripts/startup/bl_ui/space_view3d.py
> 2012-04-10
> > 14:59:06 UTC (rev 45510)
> > @@ -2478,10 +2478,12 @@
> >                     column.prop(bg.clip_user, "use_render_undistorted")
> >
> >                 if has_bg:
> > -                    box.prop(bg, "opacity", slider=True)
> > +                    col = box.column()
> > +                    col.prop(bg, "show_on_foreground")
> > +                    col.prop(bg, "opacity", slider=True)
> >                     if bg.view_axis != 'CAMERA':
> > -                        box.prop(bg, "size")
> > -                        row = box.row(align=True)
> > +                        col.prop(bg, "size")
> > +                        row = col.row(align=True)
> >                         row.prop(bg, "offset_x", text="X")
> >                         row.prop(bg, "offset_y", text="Y")
> >
> >
> > Modified: trunk/blender/source/blender/editors/space_view3d/view3d_draw.c
> > ===================================================================
> > --- trunk/blender/source/blender/editors/space_view3d/view3d_draw.c
> > 2012-04-10 14:58:21 UTC (rev 45509)
> > +++ trunk/blender/source/blender/editors/space_view3d/view3d_draw.c
> > 2012-04-10 14:59:06 UTC (rev 45510)
> > @@ -1515,7 +1515,7 @@
> >
> >  /* ************************************************************* */
> >
> > -static void draw_bgpic(Scene *scene, ARegion *ar, View3D *v3d)
> > +static void draw_bgpic(Scene *scene, ARegion *ar, View3D *v3d, int
> > foreground)
> >  {
> >        RegionView3D *rv3d = ar->regiondata;
> >        BGpic *bgpic;
> > @@ -1524,10 +1524,13 @@
> >        ImBuf *ibuf = NULL, *freeibuf;
> >        float vec[4], fac, asp, zoomx, zoomy;
> >        float x1, y1, x2, y2, cx, cy;
> > +       int fg_flag = foreground ? V3D_BGPIC_FOREGROUND : 0;
> >
> > -
> >        for (bgpic = v3d->bgpicbase.first; bgpic; bgpic = bgpic->next) {
> >
> > +               if ((bgpic->flag & V3D_BGPIC_FOREGROUND) != fg_flag)
> > +                       continue;
> > +
> >                if ((bgpic->view == 0) || /* zero for any */
> >                    (bgpic->view & (1 << rv3d->view)) || /* check agaist
> > flags */
> >                    (rv3d->persp == RV3D_CAMOB && bgpic->view == (1 <<
> > RV3D_VIEW_CAMERA)))
> > @@ -1680,6 +1683,26 @@
> >        }
> >  }
> >
> > +static void draw_bgpics(Scene *scene, ARegion *ar, View3D *v3d, int
> > foreground)
> > +{
> > +       RegionView3D *rv3d = ar->regiondata;
> > +
> > +       if ((v3d->flag & V3D_DISPBGPICS) == 0)
> > +               return;
> > +
> > +       if (v3d->flag2 & V3D_RENDER_OVERRIDE)
> > +               return;
> > +
> > +       if ((rv3d->view == RV3D_VIEW_USER) || (rv3d->persp !=
> RV3D_ORTHO))
> > {
> > +               if (rv3d->persp == RV3D_CAMOB) {
> > +                       draw_bgpic(scene, ar, v3d, foreground);
> > +               }
> > +       }
> > +       else {
> > +                       draw_bgpic(scene, ar, v3d, foreground);
> > +       }
> > +}
> > +
> >  /* ****************** View3d afterdraw *************** */
> >
> >  typedef struct View3DAfter {
> > @@ -2750,13 +2773,16 @@
> >
> >        /* render result draw */
> >        if (v3d->flag & V3D_DISPBGPICS)
> > -               draw_bgpic(scene, ar, v3d);
> > +               draw_bgpic(scene, ar, v3d, FALSE);
> >        else
> >                fdrawcheckerboard(0, 0, ar->winx, ar->winy);
> >
> >        type = rv3d->render_engine->type;
> >        type->view_draw(rv3d->render_engine, C);
> >
> > +       if (v3d->flag & V3D_DISPBGPICS)
> > +               draw_bgpic(scene, ar, v3d, TRUE);
> > +
> >        return 1;
> >  }
> >
> > @@ -2837,9 +2863,6 @@
> >
>  star_stuff_term_func);
> >                                }
> >                        }
> > -                       if ((v3d->flag2 & V3D_RENDER_OVERRIDE) == 0) {
> > -                               if (v3d->flag & V3D_DISPBGPICS)
> > draw_bgpic(scene, ar, v3d);
> > -                       }
> >                }
> >        }
> >        else {
> > @@ -2851,13 +2874,11 @@
> >                        glLoadMatrixf(rv3d->winmat);
> >                        glMatrixMode(GL_MODELVIEW);
> >                        glLoadMatrixf(rv3d->viewmat);
> > -
> > -                       if (v3d->flag & V3D_DISPBGPICS) {
> > -                               draw_bgpic(scene, ar, v3d);
> > -                       }
> >                }
> >        }
> > -
> > +
> > +       draw_bgpics(scene, ar, v3d, FALSE);
> > +
> >        if (rv3d->rflag & RV3D_CLIPPING)
> >                ED_view3d_clipping_set(rv3d);
> >
> > @@ -2915,6 +2936,8 @@
> >                }
> >        }
> >
> > +       draw_bgpics(scene, ar, v3d, TRUE);
> > +
> >  //     REEB_draw();
> >
> >        if ((v3d->flag2 & V3D_RENDER_OVERRIDE) == 0) {
> >
> > Modified: trunk/blender/source/blender/makesdna/DNA_view3d_types.h
> > ===================================================================
> > --- trunk/blender/source/blender/makesdna/DNA_view3d_types.h
>  2012-04-10
> > 14:58:21 UTC (rev 45509)
> > +++ trunk/blender/source/blender/makesdna/DNA_view3d_types.h
>  2012-04-10
> > 14:59:06 UTC (rev 45510)
> > @@ -314,6 +314,7 @@
> >  #define V3D_BGPIC_EXPANDED             2
> >  #define V3D_BGPIC_CAMERACLIP   4
> >  #define V3D_BGPIC_DISABLED             8
> > +#define V3D_BGPIC_FOREGROUND           16
> >
> >  /* BGPic->source */
> >  /* may want to use 1 for select ?*/
> >
> > Modified: trunk/blender/source/blender/makesrna/intern/rna_space.c
> > ===================================================================
> > --- trunk/blender/source/blender/makesrna/intern/rna_space.c
>  2012-04-10
> > 14:58:21 UTC (rev 45509)
> > +++ trunk/blender/source/blender/makesrna/intern/rna_space.c
>  2012-04-10
> > 14:59:06 UTC (rev 45510)
> > @@ -1350,6 +1350,11 @@
> >        RNA_def_property_boolean_negative_sdna(prop, NULL, "flag",
> > V3D_BGPIC_DISABLED);
> >        RNA_def_property_ui_text(prop, "Show Background Image", "Show this
> > image as background");
> >        RNA_def_property_update(prop, NC_SPACE|ND_SPACE_VIEW3D, NULL);
> > +
> > +       prop = RNA_def_property(srna, "show_on_foreground", PROP_BOOLEAN,
> > PROP_NONE);
> > +       RNA_def_property_boolean_sdna(prop, NULL, "flag",
> > V3D_BGPIC_FOREGROUND);
> > +       RNA_def_property_ui_text(prop, "Show On Foreground", "Show this
> > image in fround of objects in viewport");
> > +       RNA_def_property_update(prop, NC_SPACE|ND_SPACE_VIEW3D, NULL);
> >  }
> >
> >  static void rna_def_backgroundImages(BlenderRNA *brna, PropertyRNA
> *cprop)
> >
> > _______________________________________________
> > Bf-blender-cvs mailing list
> > Bf-blender-cvs at blender.org
> > http://lists.blender.org/mailman/listinfo/bf-blender-cvs
> >
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers
>



-- 
With best regards, Sergey Sharybin


More information about the Bf-committers mailing list