[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