[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