From f9505b23b7796219ecc73ad97c68764356797163 Mon Sep 17 00:00:00 2001 From: Derek Foreman Date: Sun, 25 May 2003 03:17:29 +0000 Subject: [PATCH] pipecross --- render/gradient.c | 126 ++++++++++++++++++++++++++++++---------------- render/test.c | 2 +- 2 files changed, 85 insertions(+), 43 deletions(-) diff --git a/render/gradient.c b/render/gradient.c index aedd3bbe..ce066b21 100644 --- a/render/gradient.c +++ b/render/gradient.c @@ -543,41 +543,41 @@ void render_gl_gradient(Surface *sf, int x, int y, int w, int h) case Background_Solid: /* already handled */ glBegin(GL_TRIANGLES); glColor3f(pr, pg, pb); - glVertex3i(x, y, 0); - glVertex3i(x+w, y, 0); - glVertex3i(x+w, y+h, 0); + glVertex2i(x, y); + glVertex2i(x+w, y); + glVertex2i(x+w, y+h); - glVertex3i(x+w, y+h, 0); - glVertex3i(x, y+h, 0); - glVertex3i(x, y, 0); + glVertex2i(x+w, y+h); + glVertex2i(x, y+h); + glVertex2i(x, y); glEnd(); return; case Background_Horizontal: glBegin(GL_TRIANGLES); glColor3f(pr, pg, pb); - glVertex3i(x, y, 0); + glVertex2i(x, y); glColor3f(sr, sg, sb); - glVertex3i(x+w, y, 0); - glVertex3i(x+w, y+h, 0); + glVertex2i(x+w, y); + glVertex2i(x+w, y+h); - glVertex3i(x+w, y+h, 0); + glVertex2i(x+w, y+h); glColor3f(pr, pg, pb); - glVertex3i(x, y+h, 0); - glVertex3i(x, y, 0); + glVertex2i(x, y+h); + glVertex2i(x, y); glEnd(); break; case Background_Vertical: glBegin(GL_TRIANGLES); glColor3f(pr, pg, pb); - glVertex3i(x, y, 0); - glVertex3i(x+w, y, 0); + glVertex2i(x, y); + glVertex2i(x+w, y); glColor3f(sr, sg, sb); - glVertex3i(x+w, y+h, 0); + glVertex2i(x+w, y+h); - glVertex3i(x+w, y+h, 0); - glVertex3i(x, y+h, 0); + glVertex2i(x+w, y+h); + glVertex2i(x, y+h); glColor3f(pr, pg, pb); - glVertex3i(x, y, 0); + glVertex2i(x, y); glEnd(); break; case Background_Diagonal: @@ -586,18 +586,18 @@ void render_gl_gradient(Surface *sf, int x, int y, int w, int h) ab = (pb + sb) / 2.0; glBegin(GL_TRIANGLES); glColor3f(ar, ag, ab); - glVertex3i(x, y, 0); + glVertex2i(x, y); glColor3f(pr, pg, pb); - glVertex3i(x+w, y, 0); + glVertex2i(x+w, y); glColor3f(ar, ag, ab); - glVertex3i(x+w, y+h, 0); + glVertex2i(x+w, y+h); glColor3f(ar, ag, ab); - glVertex3i(x+w, y+h, 0); + glVertex2i(x+w, y+h); glColor3f(sr, sg, sb); - glVertex3i(x, y+h, 0); + glVertex2i(x, y+h); glColor3f(ar, ag, ab); - glVertex3i(x, y, 0); + glVertex2i(x, y); glEnd(); break; case Background_CrossDiagonal: @@ -606,51 +606,93 @@ void render_gl_gradient(Surface *sf, int x, int y, int w, int h) ab = (pb + sb) / 2.0; glBegin(GL_TRIANGLES); glColor3f(pr, pg, pb); - glVertex3i(x, y, 0); + glVertex2i(x, y); glColor3f(ar, ag, ab); - glVertex3i(x+w, y, 0); + glVertex2i(x+w, y); glColor3f(sr, sg, sb); - glVertex3i(x+w, y+h, 0); + glVertex2i(x+w, y+h); glColor3f(sr, sg, sb); - glVertex3i(x+w, y+h, 0); + glVertex2i(x+w, y+h); glColor3f(ar, ag, ab); - glVertex3i(x, y+h, 0); + glVertex2i(x, y+h); glColor3f(pr, pg, pb); - glVertex3i(x, y, 0); + glVertex2i(x, y); glEnd(); break; case Background_Pyramid: printf("pyramid\n"); break; case Background_PipeCross: + glBegin(GL_TRIANGLES); + glColor3f(pr, pg, pb); + glVertex2i(x, y); + glColor3f(sr, sg, sb); + glVertex2i(x+w/2, y+h/2); + glVertex2i(x, y+h/2); + + glVertex2i(x, y+h/2); + glVertex2i(x+w/2, y+h/2); + glColor3f(pr, pg, pb); + glVertex2i(x, y+h); + + glVertex2i(x, y+h); + glColor3f(sr, sg, sb); + glVertex2i(x+w/2, y+h/2); + glVertex2i(x+w/2, y+h); + + glVertex2i(x+w/2, y+h); + glVertex2i(x+w/2, y+h/2); + glColor3f(pr, pg, pb); + glVertex2i(x+w, y+h); + + glVertex2i(x+w, y+h); + glColor3f(sr, sg, sb); + glVertex2i(x+w/2, y+h/2); + glVertex2i(x+w, y+h/2); + + glVertex2i(x+w, y+h/2); + glVertex2i(x+w/2, y+h/2); + glColor3f(pr, pg, pb); + glVertex2i(x+w, y); + + glVertex2i(x+w, y); + glColor3f(sr, sg, sb); + glVertex2i(x+w/2, y+h/2); + glVertex2i(x+w/2, y); + + glVertex2i(x+w/2, y); + glVertex2i(x+w/2, y+h/2); + glColor3f(pr, pg, pb); + glVertex2i(x, y); + glEnd(); break; case Background_Rectangle: glBegin(GL_TRIANGLES); glColor3f(pr, pg, pb); - glVertex3i(x, y, 0); + glVertex2i(x, y); glColor3f(sr, sg, sb); - glVertex3i(x+w/2, y+h/2, 0); + glVertex2i(x+w/2, y+h/2); glColor3f(pr, pg, pb); - glVertex3i(x, y+h, 0); + glVertex2i(x, y+h); - glVertex3i(x, y+h, 0); + glVertex2i(x, y+h); glColor3f(sr, sg, sb); - glVertex3i(x+w/2, y+h/2, 0); + glVertex2i(x+w/2, y+h/2); glColor3f(pr, pg, pb); - glVertex3i(x+w, y+h, 0); + glVertex2i(x+w, y+h); - glVertex3i(x+w, y+h, 0); + glVertex2i(x+w, y+h); glColor3f(sr, sg, sb); - glVertex3i(x+w/2, y+h/2, 0); + glVertex2i(x+w/2, y+h/2); glColor3f(pr, pg, pb); - glVertex3i(x+w, y, 0); + glVertex2i(x+w, y); - glVertex3i(x+w, y, 0); + glVertex2i(x+w, y); glColor3f(sr, sg, sb); - glVertex3i(x+w/2, y+h/2, 0); + glVertex2i(x+w/2, y+h/2); glColor3f(pr, pg, pb); - glVertex3i(x, y, 0); + glVertex2i(x, y); glEnd(); break; diff --git a/render/test.c b/render/test.c index 2170a341..f737748f 100644 --- a/render/test.c +++ b/render/test.c @@ -51,7 +51,7 @@ int main() render_startup(); look = appearance_new(Surface_Planar, 0); - look->surface.data.planar.grad = Background_Rectangle; + look->surface.data.planar.grad = Background_PipeCross; look->surface.data.planar.secondary = color_parse("Yellow"); look->surface.data.planar.primary = color_parse("Blue"); look->surface.data.planar.interlaced = FALSE; -- 2.39.2