[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [54185] trunk/blender/source/blender: Alpha display changes:

Sergey Sharybin sergey.vfx at gmail.com
Tue Jan 29 13:03:42 CET 2013


Revision: 54185
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=54185
Author:   nazgul
Date:     2013-01-29 12:03:38 +0000 (Tue, 29 Jan 2013)
Log Message:
-----------
Alpha display changes:

Previous alpha-overing on black for RGB display wasn't so much useful
for artists, changed in a way:

- Made RGBA display default for node editor backdrop and image editor,
  so it'll be clear that image does have alpha channel
- RGB display will ignore alpha channel completely

Reshuffled buttons for RGBA/RGB so now the order is following:
    RGBA | RGB | Alpha | Z

Still to come: startup.blend shall be altered to make RGBA default.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_image/image_draw.c
    trunk/blender/source/blender/editors/space_image/space_image.c
    trunk/blender/source/blender/editors/space_node/drawnode.c
    trunk/blender/source/blender/editors/space_node/space_node.c
    trunk/blender/source/blender/makesrna/intern/rna_space.c

Modified: trunk/blender/source/blender/editors/space_image/image_draw.c
===================================================================
--- trunk/blender/source/blender/editors/space_image/image_draw.c	2013-01-29 10:43:15 UTC (rev 54184)
+++ trunk/blender/source/blender/editors/space_image/image_draw.c	2013-01-29 12:03:38 UTC (rev 54185)
@@ -514,16 +514,12 @@
 		unsigned char *display_buffer;
 		void *cache_handle;
 
-		glEnable(GL_BLEND);
-		glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-
 		if (sima->flag & SI_USE_ALPHA) {
+			glEnable(GL_BLEND);
+			glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+
 			fdrawcheckerboard(x, y, x + ibuf->x * zoomx, y + ibuf->y * zoomy);
 		}
-		else {
-			glColor4f(0.0f, 0.0f, 0.0f, 1.0f);
-			glRecti(x, y, x + ibuf->x * zoomx, y + ibuf->y * zoomy);
-		}
 
 		display_buffer = IMB_display_buffer_acquire_ctx(C, ibuf, &cache_handle);
 
@@ -536,7 +532,8 @@
 
 		IMB_display_buffer_release(cache_handle);
 
-		glDisable(GL_BLEND);
+		if (sima->flag & SI_USE_ALPHA)
+			glDisable(GL_BLEND);
 	}
 
 	/* reset zoom */

Modified: trunk/blender/source/blender/editors/space_image/space_image.c
===================================================================
--- trunk/blender/source/blender/editors/space_image/space_image.c	2013-01-29 10:43:15 UTC (rev 54184)
+++ trunk/blender/source/blender/editors/space_image/space_image.c	2013-01-29 12:03:38 UTC (rev 54185)
@@ -152,7 +152,7 @@
 	simage->spacetype = SPACE_IMAGE;
 	simage->zoom = 1.0f;
 	simage->lock = TRUE;
-	simage->flag = SI_SHOW_GPENCIL;
+	simage->flag = SI_SHOW_GPENCIL | SI_USE_ALPHA;
 
 	simage->iuser.ok = TRUE;
 	simage->iuser.fie_ima = 2;

Modified: trunk/blender/source/blender/editors/space_node/drawnode.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/drawnode.c	2013-01-29 10:43:15 UTC (rev 54184)
+++ trunk/blender/source/blender/editors/space_node/drawnode.c	2013-01-29 12:03:38 UTC (rev 54185)
@@ -3283,17 +3283,9 @@
 				else {
 					glPixelZoom(snode->zoom, snode->zoom);
 
-					glEnable(GL_BLEND);
-					glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-
-					glColor4f(0.0f, 0.0f, 0.0f, 1.0f);
-					glRecti(x, y, x + ibuf->x * snode->zoom, y + ibuf->y * snode->zoom);
-
 					glaDrawPixelsSafe(x, y, ibuf->x, ibuf->y, ibuf->x, GL_RGBA, GL_UNSIGNED_BYTE, display_buffer);
 					
 					glPixelZoom(1.0f, 1.0f);
-
-					glDisable(GL_BLEND);
 				}
 			}
 

Modified: trunk/blender/source/blender/editors/space_node/space_node.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/space_node.c	2013-01-29 10:43:15 UTC (rev 54184)
+++ trunk/blender/source/blender/editors/space_node/space_node.c	2013-01-29 12:03:38 UTC (rev 54185)
@@ -119,7 +119,7 @@
 	snode = MEM_callocN(sizeof(SpaceNode), "initnode");
 	snode->spacetype = SPACE_NODE;
 
-	snode->flag = SNODE_SHOW_GPENCIL;
+	snode->flag = SNODE_SHOW_GPENCIL | SNODE_USE_ALPHA;
 
 	/* backdrop */
 	snode->zoom = 1.0f;

Modified: trunk/blender/source/blender/makesrna/intern/rna_space.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_space.c	2013-01-29 10:43:15 UTC (rev 54184)
+++ trunk/blender/source/blender/makesrna/intern/rna_space.c	2013-01-29 12:03:38 UTC (rev 54185)
@@ -80,9 +80,9 @@
 };
 
 static EnumPropertyItem draw_channels_items[] = {
-	{0, "COLOR", ICON_IMAGE_RGB, "Color", "Draw image with RGB colors"},
 	{SI_USE_ALPHA, "COLOR_ALPHA", ICON_IMAGE_RGB_ALPHA, "Color and Alpha",
 	               "Draw image with RGB colors and alpha transparency"},
+	{0, "COLOR", ICON_IMAGE_RGB, "Color", "Draw image with RGB colors"},
 	{SI_SHOW_ALPHA, "ALPHA", ICON_IMAGE_ALPHA, "Alpha", "Draw alpha transparency channel"},
 	{SI_SHOW_ZBUF, "Z_BUFFER", ICON_IMAGE_ZDEPTH, "Z-Buffer",
 	               "Draw Z-buffer associated with image (mapped from camera clip start to end)"},
@@ -633,15 +633,18 @@
 	if (alpha && zbuf)
 		return draw_channels_items;
 
-	RNA_enum_items_add_value(&item, &totitem, draw_channels_items, 0);
-
 	if (alpha) {
 		RNA_enum_items_add_value(&item, &totitem, draw_channels_items, SI_USE_ALPHA);
+		RNA_enum_items_add_value(&item, &totitem, draw_channels_items, 0);
 		RNA_enum_items_add_value(&item, &totitem, draw_channels_items, SI_SHOW_ALPHA);
 	}
 	else if (zbuf) {
+		RNA_enum_items_add_value(&item, &totitem, draw_channels_items, 0);
 		RNA_enum_items_add_value(&item, &totitem, draw_channels_items, SI_SHOW_ZBUF);
 	}
+	else {
+		RNA_enum_items_add_value(&item, &totitem, draw_channels_items, 0);
+	}
 
 	RNA_enum_item_end(&item, &totitem);
 	*free = 1;
@@ -3062,9 +3065,9 @@
 	};
 
 	static EnumPropertyItem backdrop_channels_items[] = {
-		{0, "COLOR", ICON_IMAGE_RGB, "Color", "Draw image with RGB colors"},
 		{SNODE_USE_ALPHA, "COLOR_ALPHA", ICON_IMAGE_RGB_ALPHA, "Color and Alpha",
 		                  "Draw image with RGB colors and alpha transparency"},
+		{0, "COLOR", ICON_IMAGE_RGB, "Color", "Draw image with RGB colors"},
 		{SNODE_SHOW_ALPHA, "ALPHA", ICON_IMAGE_ALPHA, "Alpha", "Draw alpha transparency channel"},
 		{SNODE_SHOW_R, "RED",   ICON_COLOR_RED, "Red", ""},
 		{SNODE_SHOW_G, "GREEN", ICON_COLOR_GREEN, "Green", ""},




More information about the Bf-blender-cvs mailing list