[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49675] branches/soc-2012-swiss_cheese/ source: Quads and polygons is not supported by ES and 3.0+

Alexander Kuznetsov kuzsasha at gmail.com
Wed Aug 8 01:10:18 CEST 2012


Revision: 49675
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49675
Author:   alexk
Date:     2012-08-07 23:10:18 +0000 (Tue, 07 Aug 2012)
Log Message:
-----------
Quads and polygons is not supported by ES and 3.0+
Converted all GL_QUAD_STRIP to GL_TRIANGLE_STRIP as hey are identical.
Converted all GL_POLYGON to GL_TRIANGLE_FAN because it seems graphics cards use it internally
Converted some singular quads GL_QUADS to GL_TRIANGLE_FAN
Still there ~45 QUADS left. 
A: we can write an emulator, 
B: we can stop using QUADS because they are triangles anyway
Maybe A then B

Modified Paths:
--------------
    branches/soc-2012-swiss_cheese/source/blender/blenkernel/intern/subsurf_ccg.c
    branches/soc-2012-swiss_cheese/source/blender/editors/animation/anim_channels_defines.c
    branches/soc-2012-swiss_cheese/source/blender/editors/interface/interface_draw.c
    branches/soc-2012-swiss_cheese/source/blender/editors/interface/interface_icons.c
    branches/soc-2012-swiss_cheese/source/blender/editors/interface/interface_widgets.c
    branches/soc-2012-swiss_cheese/source/blender/editors/screen/area.c
    branches/soc-2012-swiss_cheese/source/blender/editors/screen/glutil.c
    branches/soc-2012-swiss_cheese/source/blender/editors/screen/screen_edit.c
    branches/soc-2012-swiss_cheese/source/blender/editors/sculpt_paint/paint_cursor.c
    branches/soc-2012-swiss_cheese/source/blender/editors/space_clip/clip_draw.c
    branches/soc-2012-swiss_cheese/source/blender/editors/space_image/image_draw.c
    branches/soc-2012-swiss_cheese/source/blender/editors/space_nla/nla_draw.c
    branches/soc-2012-swiss_cheese/source/blender/editors/space_node/drawnode.c
    branches/soc-2012-swiss_cheese/source/blender/editors/space_node/node_draw.c
    branches/soc-2012-swiss_cheese/source/blender/editors/space_view3d/drawarmature.c
    branches/soc-2012-swiss_cheese/source/blender/editors/space_view3d/drawobject.c
    branches/soc-2012-swiss_cheese/source/blender/editors/space_view3d/drawvolume.c
    branches/soc-2012-swiss_cheese/source/blender/editors/transform/transform_manipulator.c
    branches/soc-2012-swiss_cheese/source/blender/editors/uvedit/uvedit_draw.c
    branches/soc-2012-swiss_cheese/source/blender/gpu/intern/gpu_buffers.c
    branches/soc-2012-swiss_cheese/source/blender/gpu/intern/gpu_draw.c
    branches/soc-2012-swiss_cheese/source/blender/gpu/intern/gpu_extensions.c
    branches/soc-2012-swiss_cheese/source/blender/windowmanager/intern/wm_draw.c
    branches/soc-2012-swiss_cheese/source/blender/windowmanager/intern/wm_gesture.c
    branches/soc-2012-swiss_cheese/source/blender/windowmanager/intern/wm_operators.c
    branches/soc-2012-swiss_cheese/source/gameengine/GamePlayer/common/GPC_Canvas.cpp
    branches/soc-2012-swiss_cheese/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp

Modified: branches/soc-2012-swiss_cheese/source/blender/blenkernel/intern/subsurf_ccg.c
===================================================================
--- branches/soc-2012-swiss_cheese/source/blender/blenkernel/intern/subsurf_ccg.c	2012-08-07 22:56:39 UTC (rev 49674)
+++ branches/soc-2012-swiss_cheese/source/blender/blenkernel/intern/subsurf_ccg.c	2012-08-07 23:10:18 UTC (rev 49675)
@@ -1938,7 +1938,7 @@
 
 			if (drawSmooth) {
 				for (y = 0; y < gridFaces; y++) {
-					gpuBegin(GL_QUAD_STRIP);
+					gpuBegin(GL_TRIANGLE_STRIP);
 					for (x = 0; x < gridFaces; x++) {
 						vda = CCG_grid_elem(&key, faceGridData, x, y + 0);
 						vdb = CCG_grid_elem(&key, faceGridData, x, y + 1);
@@ -2097,7 +2097,7 @@
 
 			if (drawSmooth) {
 				for (y = 0; y < gridFaces; y++) {
-					gpuBegin(GL_QUAD_STRIP);
+					gpuBegin(GL_TRIANGLE_STRIP);
 					for (x = 0; x < gridFaces; x++) {
 						vda = CCG_grid_elem(&key, faceGridData, x, y);
 						vdb = CCG_grid_elem(&key, faceGridData, x, y + 1);
@@ -2236,7 +2236,7 @@
 			if (drawSmooth) {
 				glShadeModel(GL_SMOOTH);
 				for (y = 0; y < gridFaces; y++) {
-					gpuBegin(GL_QUAD_STRIP);
+					gpuBegin(GL_TRIANGLE_STRIP);
 					for (x = 0; x < gridFaces; x++) {
 						a = CCG_grid_elem(&key, faceGridData, x, y + 0);
 						b = CCG_grid_elem(&key, faceGridData, x, y + 1);
@@ -2441,7 +2441,7 @@
 					if (drawSmooth) {
 						for (y = 0; y < gridFaces; y++) {
 							CCGElem *a, *b;
-							gpuBegin(GL_QUAD_STRIP);
+							gpuBegin(GL_TRIANGLE_STRIP);
 							for (x = 0; x < gridFaces; x++) {
 								a = CCG_grid_elem(&key, faceGridData, x, y + 0);
 								b = CCG_grid_elem(&key, faceGridData, x, y + 1);

Modified: branches/soc-2012-swiss_cheese/source/blender/editors/animation/anim_channels_defines.c
===================================================================
--- branches/soc-2012-swiss_cheese/source/blender/editors/animation/anim_channels_defines.c	2012-08-07 22:56:39 UTC (rev 49674)
+++ branches/soc-2012-swiss_cheese/source/blender/editors/animation/anim_channels_defines.c	2012-08-07 23:10:18 UTC (rev 49675)
@@ -120,7 +120,7 @@
 
 	/* rounded corners on LHS only - top only when expanded, but bottom too when collapsed */
 	uiSetRoundBox(expanded ? UI_CNR_TOP_LEFT : (UI_CNR_TOP_LEFT | UI_CNR_BOTTOM_LEFT));
-	uiDrawBox(GL_POLYGON, offset,  yminc, v2d->cur.xmax + EXTRA_SCROLL_PAD, ymaxc, 8);
+	uiDrawBox(GL_TRIANGLE_FAN, offset,  yminc, v2d->cur.xmax + EXTRA_SCROLL_PAD, ymaxc, 8);
 }
 
 
@@ -416,7 +416,7 @@
 	 *	- special hack: make the top a bit higher, since we are first... 
 	 */
 	uiSetRoundBox(UI_CNR_TOP_LEFT | UI_CNR_BOTTOM_LEFT);
-	uiDrawBox(GL_POLYGON, 0,  yminc - 2, v2d->cur.xmax + EXTRA_SCROLL_PAD, ymaxc, 8);
+	uiDrawBox(GL_TRIANGLE_FAN, 0,  yminc - 2, v2d->cur.xmax + EXTRA_SCROLL_PAD, ymaxc, 8);
 }
 
 /* name for summary entries */
@@ -788,7 +788,7 @@
 	
 	/* rounded corners on LHS only - top only when expanded, but bottom too when collapsed */
 	uiSetRoundBox(expanded ? UI_CNR_TOP_LEFT : (UI_CNR_TOP_LEFT | UI_CNR_BOTTOM_LEFT));
-	uiDrawBox(GL_POLYGON, offset,  yminc, v2d->cur.xmax + EXTRA_SCROLL_PAD, ymaxc, 8);
+	uiDrawBox(GL_TRIANGLE_FAN, offset,  yminc, v2d->cur.xmax + EXTRA_SCROLL_PAD, ymaxc, 8);
 }
 
 /* name for group entries */

Modified: branches/soc-2012-swiss_cheese/source/blender/editors/interface/interface_draw.c
===================================================================
--- branches/soc-2012-swiss_cheese/source/blender/editors/interface/interface_draw.c	2012-08-07 22:56:39 UTC (rev 49674)
+++ branches/soc-2012-swiss_cheese/source/blender/editors/interface/interface_draw.c	2012-08-07 23:10:18 UTC (rev 49675)
@@ -93,6 +93,8 @@
 	gpuImmediateFormat_V2(); // DOODLE: ui box, a rounded rectangle
 	gpuBegin(mode);
 
+
+
 	/* start with corner right-bottom */
 	if (roundboxtype & UI_CNR_BOTTOM_RIGHT) {
 		gpuVertex2f(maxx - rad, miny);
@@ -387,7 +389,7 @@
 		glEnable(GL_BLEND);
 	}
 
-	ui_draw_anti_roundbox(GL_POLYGON, minx, miny, maxx, maxy, rad);
+	ui_draw_anti_roundbox(GL_TRIANGLE_FAN, minx, miny, maxx, maxy, rad);
 }
 
 
@@ -693,7 +695,7 @@
 
 		glShadeModel(GL_FLAT);
 
-	gpuBegin(GL_QUAD_STRIP); // DOODLE: line graph drawn using quads, locking done by function callee
+	gpuBegin(GL_TRIANGLE_STRIP); // DOODLE: line graph drawn using quads, locking done by function callee
 	gpuVertex2f(x, y);
 	gpuVertex2f(x, y + (data[0] * h));
 		for (i = 1; i < res; i++) {
@@ -742,7 +744,7 @@
 
 	gpuCurrentColor4x(CPACK_BLACK, 0.300f);
 	uiSetRoundBox(UI_CNR_ALL);
-	uiDrawBox(GL_POLYGON, rect.xmin - 1, rect.ymin - 1, rect.xmax + 1, rect.ymax + 1, 3.0f);
+	uiDrawBox(GL_TRIANGLE_FAN, rect.xmin - 1, rect.ymin - 1, rect.xmax + 1, rect.ymax + 1, 3.0f);
 
 	/* need scissor test, histogram can draw outside of boundary */
 	glGetIntegerv(GL_VIEWPORT, scissor);
@@ -824,7 +826,7 @@
 
 	gpuCurrentColor4x(CPACK_BLACK, 0.300f);
 	uiSetRoundBox(UI_CNR_ALL);
-	uiDrawBox(GL_POLYGON, rect.xmin - 1, rect.ymin - 1, rect.xmax + 1, rect.ymax + 1, 3.0f);
+	uiDrawBox(GL_TRIANGLE_FAN, rect.xmin - 1, rect.ymin - 1, rect.xmax + 1, rect.ymax + 1, 3.0f);
 	
 
 	/* need scissor test, waveform can draw outside of boundary */
@@ -1064,7 +1066,7 @@
 
 	gpuCurrentColor4x(CPACK_BLACK, 0.300f);
 	uiSetRoundBox(UI_CNR_ALL);
-	uiDrawBox(GL_POLYGON, rect.xmin - 1, rect.ymin - 1, rect.xmax + 1, rect.ymax + 1, 3.0f);
+	uiDrawBox(GL_TRIANGLE_FAN, rect.xmin - 1, rect.ymin - 1, rect.xmax + 1, rect.ymax + 1, 3.0f);
 
 	/* need scissor test, hvectorscope can draw outside of boundary */
 	glGetIntegerv(GL_VIEWPORT, scissor);
@@ -1175,7 +1177,7 @@
 	v1[1] = y1;
 	v2[1] = y1 + sizey;
 
-	gpuBegin(GL_QUAD_STRIP);
+	gpuBegin(GL_TRIANGLE_STRIP);
 
 	gpuColor4fv(&cbd->r);
 	gpuVertex2fv(v1); gpuVertex2fv(v2);
@@ -1278,7 +1280,7 @@
 	/* backdrop */
 	gpuCurrentColor3ubv((unsigned char *)wcol->inner);
 	uiSetRoundBox(UI_CNR_ALL);
-	uiDrawBox(GL_POLYGON, rect->xmin, rect->ymin, rect->xmax, rect->ymax, 5.0f);
+	uiDrawBox(GL_TRIANGLE_FAN, rect->xmin, rect->ymin, rect->xmax, rect->ymax, 5.0f);
 	
 	/* sphere color */
 	gpuMaterialfv(GL_FRONT, GL_DIFFUSE, diffn);
@@ -1609,7 +1611,7 @@
 	if (scopes->track_disabled) {
 		gpuCurrentColor4f(0.7f, 0.3f, 0.3f, 0.3f);
 		uiSetRoundBox(15);
-		uiDrawBox(GL_POLYGON, rect.xmin - 1, rect.ymin, rect.xmax + 1, rect.ymax + 1, 3.0f);
+		uiDrawBox(GL_TRIANGLE_FAN, rect.xmin - 1, rect.ymin, rect.xmax + 1, rect.ymax + 1, 3.0f);
 
 		ok = 1;
 	}
@@ -1659,7 +1661,7 @@
 			if (scopes->use_track_mask) {
 				gpuCurrentColor4x(CPACK_BLACK, 0.300f);
 				uiSetRoundBox(15);
-				uiDrawBox(GL_POLYGON, rect.xmin - 1, rect.ymin, rect.xmax + 1, rect.ymax + 1, 3.0f);
+				uiDrawBox(GL_TRIANGLE_FAN, rect.xmin - 1, rect.ymin, rect.xmax + 1, rect.ymax + 1, 3.0f);
 			}
 
 			glaDrawPixelsSafe(rect.xmin, rect.ymin + 1, drawibuf->x, drawibuf->y,
@@ -1700,7 +1702,7 @@
 	if (!ok) {
 		gpuCurrentColor4x(CPACK_BLACK, 0.300f);
 		uiSetRoundBox(15);
-		uiDrawBox(GL_POLYGON, rect.xmin - 1, rect.ymin, rect.xmax + 1, rect.ymax + 1, 3.0f);
+		uiDrawBox(GL_TRIANGLE_FAN, rect.xmin - 1, rect.ymin, rect.xmax + 1, rect.ymax + 1, 3.0f);
 	}
 
 	/* outline, scale gripper */
@@ -1718,7 +1720,7 @@
 	glShadeModel(GL_SMOOTH);
 	
 	/* right quad */
-	gpuBegin(GL_POLYGON);
+	gpuBegin(GL_TRIANGLE_FAN);
 
 	gpuColor4x(CPACK_BLACK, alpha);
 	gpuVertex2f(maxx, miny);
@@ -1731,7 +1733,7 @@
 	gpuEnd();
 	
 	/* corner shape */
-	gpuBegin(GL_POLYGON);
+	gpuBegin(GL_TRIANGLE_FAN);
 
 	gpuColor4x(CPACK_BLACK, alpha);
 	gpuVertex2f(maxx, miny);
@@ -1744,7 +1746,7 @@
 	gpuEnd();
 	
 	/* bottom quad */		
-	gpuBegin(GL_POLYGON);
+	gpuBegin(GL_TRIANGLE_FAN);
 
 	gpuColor4x(CPACK_BLACK, alpha);
 	gpuVertex2f(minx + 0.3f * shadsize, miny);
@@ -1801,7 +1803,7 @@
 		gpuCurrentColor4x(CPACK_BLACK, calpha);
 		calpha += dalpha;
 
-		uiDrawBox(GL_POLYGON, rct->xmin - a, rct->ymin - a, rct->xmax + a, rct->ymax - 10.0f + a, rad + a);
+		uiDrawBox(GL_TRIANGLE_FAN, rct->xmin - a, rct->ymin - a, rct->xmax + a, rct->ymax - 10.0f + a, rad + a);
 	}
 
 	/* outline emphasis */

Modified: branches/soc-2012-swiss_cheese/source/blender/editors/interface/interface_icons.c
===================================================================
--- branches/soc-2012-swiss_cheese/source/blender/editors/interface/interface_icons.c	2012-08-07 22:56:39 UTC (rev 49674)
+++ branches/soc-2012-swiss_cheese/source/blender/editors/interface/interface_icons.c	2012-08-07 23:10:18 UTC (rev 49675)
@@ -953,7 +953,7 @@
 	glBindTexture(GL_TEXTURE_2D, icongltex.id);
 
 	gpuImmediateFormat_T2_V2(); // DOODLE: icon, single quad with texture
-	gpuBegin(GL_QUADS);
+	gpuBegin(GL_TRIANGLE_FAN);
 
 	gpuTexCoord2f(x1, y1);
 	gpuVertex2f(x, y);

Modified: branches/soc-2012-swiss_cheese/source/blender/editors/interface/interface_widgets.c
===================================================================
--- branches/soc-2012-swiss_cheese/source/blender/editors/interface/interface_widgets.c	2012-08-07 22:56:39 UTC (rev 49674)
+++ branches/soc-2012-swiss_cheese/source/blender/editors/interface/interface_widgets.c	2012-08-07 23:10:18 UTC (rev 49675)
@@ -678,7 +678,7 @@
 	float quad_strip[WIDGET_SIZE_MAX * 2 + 2][2]; /* + 2 because the last pair is wrapped */
 	widget_verts_to_quad_strip(wtb, wtb->totvert, quad_strip);
 
-	gpuSingleClientArrays_V2F(GL_QUAD_STRIP, quad_strip, 0, 0, 2*(wtb->totvert) + 2);
+	gpuSingleClientArrays_V2F(GL_TRIANGLE_STRIP, quad_strip, 0, 0, 2*(wtb->totvert) + 2);
 }
 
 static void widgetbase_draw(uiWidgetBase *wtb, uiWidgetColors *wcol)
@@ -703,7 +703,7 @@
 				/* dark checkers */
 				gpuCurrentColor4ub(UI_TRANSP_DARK, UI_TRANSP_DARK, UI_TRANSP_DARK, 255);
 				arrays.vertexPointer = wtb->inner_v;
-				gpuDrawClientArrays(GL_POLYGON, &arrays, 0, wtb->totvert);
+				gpuDrawClientArrays(GL_TRIANGLE_FAN, &arrays, 0, wtb->totvert);
 
 				/* light checkers */
 				glEnable(GL_POLYGON_STIPPLE);
@@ -729,13 +729,13 @@
 				/* 1/2 solid color */
 				gpuCurrentColor4ub(wcol->inner[0], wcol->inner[1], wcol->inner[2], 255);
 				arrays.vertexPointer = inner_v_half;
-				gpuDrawClientArrays(GL_POLYGON, &arrays, 0, wtb->totvert);
+				gpuDrawClientArrays(GL_TRIANGLE_FAN, &arrays, 0, wtb->totvert);
 			}
 			else {
 				/* simple fill */
 				gpuCurrentColor4ubv((unsigned char *)wcol->inner);
 				arrays.vertexPointer = wtb->inner_v;
-				gpuDrawClientArrays(GL_POLYGON, &arrays, 0, wtb->totvert);
+				gpuDrawClientArrays(GL_TRIANGLE_FAN, &arrays, 0, wtb->totvert);
 			}
 
 			gpuImmediateUnformat();
@@ -753,7 +753,7 @@
 			}
 
 			gpuSingleClientArrays_C4UB_V2F(

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list