[Bf-committers] [Bf-blender-cvs] [fae3850] master: Allow explicit control over world background.

Joshua Leung aligorith at gmail.com
Mon Nov 24 21:59:12 CET 2014


Hi Antony,

Is there any reason why this *still* isn't applied for OpenGl renders too?
For certain workflows (e.g. Grease Pencil shorts) where having that makes
it easy to render things out as intended.

Joshua
On 25/11/2014 2:29 AM, "Antony Riakiotakis" <noreply at git.blender.org> wrote:

> Commit: fae385029394159428799ef0ec690dd6c31e4b72
> Author: Antony Riakiotakis
> Date:   Mon Nov 24 14:29:09 2014 +0100
> Branches: master
> https://developer.blender.org/rBfae385029394159428799ef0ec690dd6c31e4b72
>
> Allow explicit control over world background.
>
> Previosuly, world was shown on the background if "Render Only" was used.
> Now user should be able to set it independently. This is a prelude to
> (drumroll)...
>
> ===================================================================
>
> M       release/scripts/startup/bl_ui/space_view3d.py
> M       source/blender/editors/space_view3d/view3d_draw.c
> M       source/blender/makesdna/DNA_view3d_types.h
> M       source/blender/makesrna/intern/rna_space.c
>
> ===================================================================
>
> diff --git a/release/scripts/startup/bl_ui/space_view3d.py
> b/release/scripts/startup/bl_ui/space_view3d.py
> index 0ea552e..d0cfd19 100644
> --- a/release/scripts/startup/bl_ui/space_view3d.py
> +++ b/release/scripts/startup/bl_ui/space_view3d.py
> @@ -2813,6 +2813,7 @@ class VIEW3D_PT_view3d_display(Panel):
>
>          col = layout.column()
>          col.prop(view, "show_only_render")
> +        col.prop(view, "show_world")
>
>          col = layout.column()
>          display_all = not view.show_only_render
> diff --git a/source/blender/editors/space_view3d/view3d_draw.c
> b/source/blender/editors/space_view3d/view3d_draw.c
> index 21329e6..d681915 100644
> --- a/source/blender/editors/space_view3d/view3d_draw.c
> +++ b/source/blender/editors/space_view3d/view3d_draw.c
> @@ -3211,7 +3211,7 @@ static void view3d_main_area_draw_engine_info(View3D
> *v3d, RegionView3D *rv3d, A
>  static void view3d_main_area_clear(Scene *scene, View3D *v3d, ARegion *ar)
>  {
>         /* clear background */
> -       if (scene->world && (v3d->flag2 & V3D_RENDER_OVERRIDE)) {  /*
> clear with solid color */
> +       if (scene->world && (v3d->flag3 & V3D_SHOW_WORLD)) {  /* clear
> with solid color */
>                 if (scene->world->skytype & WO_SKYBLEND) {  /* blend sky */
>                         int x, y;
>                         float col_hor[3];
> diff --git a/source/blender/makesdna/DNA_view3d_types.h
> b/source/blender/makesdna/DNA_view3d_types.h
> index 3efba48..0eee28e 100644
> --- a/source/blender/makesdna/DNA_view3d_types.h
> +++ b/source/blender/makesdna/DNA_view3d_types.h
> @@ -201,7 +201,9 @@ typedef struct View3D {
>         char gridflag;
>
>         /* transform widget info */
> -       char twtype, twmode, twflag, pad2[2];
> +       char twtype, twmode, twflag;
> +
> +       short flag3;
>
>         /* afterdraw, for xray & transparent */
>         struct ListBase afterdraw_transp;
> @@ -267,21 +269,24 @@ typedef struct View3D {
>         ((view >= RV3D_VIEW_FRONT) && (view <= RV3D_VIEW_BOTTOM))
>
>  /* View3d->flag2 (short) */
> -#define V3D_RENDER_OVERRIDE            4
> -#define V3D_SOLID_TEX                  8
> -#define V3D_SHOW_GPENCIL               16
> -#define V3D_LOCK_CAMERA                        32
> -#define V3D_RENDER_SHADOW              64              /* This is a
> runtime only flag that's used to tell draw_mesh_object() that we're doing a
> shadow pass instead of a regular draw */
> -#define V3D_SHOW_RECONSTRUCTION        128
> -#define V3D_SHOW_CAMERAPATH            256
> -#define V3D_SHOW_BUNDLENAME            512
> -#define V3D_BACKFACE_CULLING   1024
> -#define V3D_RENDER_BORDER              2048
> -#define V3D_SOLID_MATCAP               4096    /* user flag */
> -#define V3D_SHOW_SOLID_MATCAP  8192    /* runtime flag */
> -#define V3D_OCCLUDE_WIRE               16384
> -#define V3D_SHADELESS_TEX              32768
> -
> +#define V3D_RENDER_OVERRIDE            (1 << 2)
> +#define V3D_SOLID_TEX                  (1 << 3)
> +#define V3D_SHOW_GPENCIL               (1 << 4)
> +#define V3D_LOCK_CAMERA                        (1 << 5)
> +#define V3D_RENDER_SHADOW              (1 << 6)                /* This is
> a runtime only flag that's used to tell draw_mesh_object() that we're doing
> a shadow pass instead of a regular draw */
> +#define V3D_SHOW_RECONSTRUCTION        (1 << 7)
> +#define V3D_SHOW_CAMERAPATH            (1 << 8)
> +#define V3D_SHOW_BUNDLENAME            (1 << 9)
> +#define V3D_BACKFACE_CULLING   (1 << 10)
> +#define V3D_RENDER_BORDER              (1 << 11)
> +#define V3D_SOLID_MATCAP               (1 << 12)       /* user flag */
> +#define V3D_SHOW_SOLID_MATCAP  (1 << 13)       /* runtime flag */
> +#define V3D_OCCLUDE_WIRE               (1 << 14)
> +#define V3D_SHADELESS_TEX              (1 << 15)
> +
> +
> +/* View3d->flag3 (short) */
> +#define V3D_SHOW_WORLD                 (1 << 0)
>
>  /* View3D->around */
>  #define V3D_CENTER              0
> diff --git a/source/blender/makesrna/intern/rna_space.c
> b/source/blender/makesrna/intern/rna_space.c
> index 68173eb..cb5da54 100644
> --- a/source/blender/makesrna/intern/rna_space.c
> +++ b/source/blender/makesrna/intern/rna_space.c
> @@ -2041,6 +2041,11 @@ static void rna_def_space_view3d(BlenderRNA *brna)
>         RNA_def_property_ui_text(prop, "Only Render", "Display only
> objects which will be rendered");
>         RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
>
> +       prop = RNA_def_property(srna, "show_world", PROP_BOOLEAN,
> PROP_NONE);
> +       RNA_def_property_boolean_sdna(prop, NULL, "flag3", V3D_SHOW_WORLD);
> +       RNA_def_property_ui_text(prop, "World Background", "Display world
> colors in the background");
> +       RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
> +
>         prop = RNA_def_property(srna, "use_occlude_geometry",
> PROP_BOOLEAN, PROP_NONE);
>         RNA_def_property_boolean_sdna(prop, NULL, "flag", V3D_ZBUF_SELECT);
>         RNA_def_property_ui_text(prop, "Occlude Geometry", "Limit
> selection to visible (clipped with depth buffer)");
>
> _______________________________________________
> Bf-blender-cvs mailing list
> Bf-blender-cvs at blender.org
> http://lists.blender.org/mailman/listinfo/bf-blender-cvs
>


More information about the Bf-committers mailing list