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

Antony Riakiotakis noreply at git.blender.org
Mon Nov 24 14:29:21 CET 2014


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)");




More information about the Bf-blender-cvs mailing list