[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45238] trunk/blender: Cycles: viewport rendered draw mode now shows background images, also changed the

Brecht Van Lommel brechtvanlommel at pandora.be
Wed Mar 28 11:07:20 CEST 2012


Revision: 45238
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45238
Author:   blendix
Date:     2012-03-28 09:07:10 +0000 (Wed, 28 Mar 2012)
Log Message:
-----------
Cycles: viewport rendered draw mode now shows background images, also changed the
image editor checkerboard pattern to be the same as cycles viewport.

Modified Paths:
--------------
    trunk/blender/intern/cycles/render/buffers.cpp
    trunk/blender/intern/cycles/render/buffers.h
    trunk/blender/source/blender/editors/include/BIF_glutil.h
    trunk/blender/source/blender/editors/screen/glutil.c
    trunk/blender/source/blender/editors/space_image/image_draw.c
    trunk/blender/source/blender/editors/space_view3d/view3d_draw.c

Modified: trunk/blender/intern/cycles/render/buffers.cpp
===================================================================
--- trunk/blender/intern/cycles/render/buffers.cpp	2012-03-28 08:42:19 UTC (rev 45237)
+++ trunk/blender/intern/cycles/render/buffers.cpp	2012-03-28 09:07:10 UTC (rev 45238)
@@ -250,36 +250,10 @@
 	draw_height = height;
 }
 
-void DisplayBuffer::draw_transparency_grid()
-{
-	GLubyte checker_stipple_sml[32*32/8] = {
-		255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0, \
-		255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0, \
-		0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255, \
-		0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255, \
-		255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0, \
-		255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0, \
-		0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255, \
-		0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255, \
-	};
-
-	glColor4ub(50, 50, 50, 255);
-	glRectf(0, 0, params.width, params.height);
-	glEnable(GL_POLYGON_STIPPLE);
-	glColor4ub(55, 55, 55, 255);
-	glPolygonStipple(checker_stipple_sml);
-	glRectf(0, 0, params.width, params.height);
-	glDisable(GL_POLYGON_STIPPLE);
-}
-
 void DisplayBuffer::draw(Device *device)
 {
-	if(draw_width != 0 && draw_height != 0) {
-		if(transparent)
-			draw_transparency_grid();
-
+	if(draw_width != 0 && draw_height != 0)
 		device->draw_pixels(rgba, 0, draw_width, draw_height, 0, params.width, params.height, transparent);
-	}
 }
 
 bool DisplayBuffer::draw_ready()

Modified: trunk/blender/intern/cycles/render/buffers.h
===================================================================
--- trunk/blender/intern/cycles/render/buffers.h	2012-03-28 08:42:19 UTC (rev 45237)
+++ trunk/blender/intern/cycles/render/buffers.h	2012-03-28 09:07:10 UTC (rev 45238)
@@ -119,7 +119,6 @@
 	bool draw_ready();
 
 protected:
-	void draw_transparency_grid();
 	void device_free();
 
 	Device *device;

Modified: trunk/blender/source/blender/editors/include/BIF_glutil.h
===================================================================
--- trunk/blender/source/blender/editors/include/BIF_glutil.h	2012-03-28 08:42:19 UTC (rev 45237)
+++ trunk/blender/source/blender/editors/include/BIF_glutil.h	2012-03-28 09:07:10 UTC (rev 45238)
@@ -47,6 +47,8 @@
 void fdrawXORellipse(float xofs, float yofs, float hw, float hh);
 void fdrawXORcirc(float xofs, float yofs, float rad);
 
+void fdrawcheckerboard(float x1, float y1, float x2, float y2);
+
 /* glStipple defines */
 extern unsigned char stipple_halftone[128];
 extern unsigned char stipple_quarttone[128];

Modified: trunk/blender/source/blender/editors/screen/glutil.c
===================================================================
--- trunk/blender/source/blender/editors/screen/glutil.c	2012-03-28 08:42:19 UTC (rev 45237)
+++ trunk/blender/source/blender/editors/screen/glutil.c	2012-03-28 09:07:10 UTC (rev 45238)
@@ -191,6 +191,31 @@
 	glEnd();
 }
 
+void fdrawcheckerboard(float x1, float y1, float x2, float y2)
+{
+	unsigned char col1[4]= {40, 40, 40}, col2[4]= {50, 50, 50};
+
+	GLubyte checker_stipple[32*32/8] = {
+		255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,
+		255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,
+		0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,
+		0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,
+		255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,
+		255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,
+		0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,
+		0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,
+	};
+	
+	glColor3ubv(col1);
+	glRectf(x1, y1, x2, y2);
+	glColor3ubv(col2);
+
+	glEnable(GL_POLYGON_STIPPLE);
+	glPolygonStipple(checker_stipple);
+	glRectf(x1, y1, x2, y2);
+	glDisable(GL_POLYGON_STIPPLE);
+}
+
 void sdrawline(short x1, short y1, short x2, short y2)
 {
 	short v[2];

Modified: trunk/blender/source/blender/editors/space_image/image_draw.c
===================================================================
--- trunk/blender/source/blender/editors/space_image/image_draw.c	2012-03-28 08:42:19 UTC (rev 45237)
+++ trunk/blender/source/blender/editors/space_image/image_draw.c	2012-03-28 09:07:10 UTC (rev 45238)
@@ -393,28 +393,8 @@
 	glEnd();
 }
 
-static void sima_draw_alpha_backdrop(float x1, float y1, float xsize, float ysize, float zoomx, float zoomy, unsigned char col1[3], unsigned char col2[3])
+static void sima_draw_alpha_backdrop(float x1, float y1, float xsize, float ysize, float zoomx, float zoomy)
 {
-	GLubyte checker_stipple[32*32/8] =
-	{
-		255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,
-		255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,
-		255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,
-		255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,
-		0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,
-		0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,
-		0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,
-		0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,
-	};
-	
-	glColor3ubv(col1);
-	glRectf(x1, y1, x1 + zoomx*xsize, y1 + zoomy*ysize);
-	glColor3ubv(col2);
-
-	glEnable(GL_POLYGON_STIPPLE);
-	glPolygonStipple(checker_stipple);
-	glRectf(x1, y1, x1 + zoomx*xsize, y1 + zoomy*ysize);
-	glDisable(GL_POLYGON_STIPPLE);
 }
 
 static void sima_draw_alpha_pixels(float x1, float y1, int rectx, int recty, unsigned int *recti)
@@ -528,8 +508,7 @@
 	}
 	else {
 		if (sima->flag & SI_USE_ALPHA) {
-			unsigned char col1[3]= {100, 100, 100}, col2[3]= {160, 160, 160};
-			sima_draw_alpha_backdrop(x, y, ibuf->x, ibuf->y, zoomx, zoomy, col1, col2);
+			fdrawcheckerboard(x, y, x + ibuf->x*zoomx, y + ibuf->y*zoomy);
 
 			glEnable(GL_BLEND);
 			glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_draw.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_draw.c	2012-03-28 08:42:19 UTC (rev 45237)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_draw.c	2012-03-28 09:07:10 UTC (rev 45238)
@@ -2728,6 +2728,7 @@
 	RegionView3D *rv3d = CTX_wm_region_view3d(C);
 	RenderEngineType *type;
 
+	/* create render engine */
 	if (!rv3d->render_engine) {
 		type = RE_engines_find(scene->r.engine);
 
@@ -2738,13 +2739,21 @@
 		type->view_update(rv3d->render_engine, C);
 	}
 
+	/* setup view matrices */
 	view3d_main_area_setup_view(scene, v3d, ar, NULL, NULL);
 
+	/* background draw */
 	glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
 	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 
 	ED_region_pixelspace(ar);
 
+	/* render result draw */
+	if (v3d->flag & V3D_DISPBGPICS)
+		draw_bgpic(scene, ar, v3d);
+	else
+		fdrawcheckerboard(0, 0, ar->winx, ar->winy);
+
 	type = rv3d->render_engine->type;
 	type->view_draw(rv3d->render_engine, C);
 




More information about the Bf-blender-cvs mailing list