X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=progs%2Ftrivial%2Fquad-tex-2d.c;h=8a886ef578c9c4db15ffdcd93cd83970f0f60448;hb=8648c2685870174cf620ef15de70ef030a8d5a20;hp=cb0b9202a25f999ac8122f66ac7091a39abd82e8;hpb=bfcc337e386902712de49d43308167bc79c9e709;p=mesa.git diff --git a/progs/trivial/quad-tex-2d.c b/progs/trivial/quad-tex-2d.c index cb0b9202a25..8a886ef578c 100644 --- a/progs/trivial/quad-tex-2d.c +++ b/progs/trivial/quad-tex-2d.c @@ -30,12 +30,15 @@ static GLenum Target = GL_TEXTURE_2D; static GLenum Filter = GL_NEAREST; GLenum doubleBuffer; +static float Rot = 0; +static int win = 0; static void Init(void) { fprintf(stderr, "GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER)); fprintf(stderr, "GL_VERSION = %s\n", (char *) glGetString(GL_VERSION)); fprintf(stderr, "GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR)); + fflush(stderr); glClearColor(0.0, 0.0, 1.0, 0.0); @@ -81,14 +84,27 @@ static void Reshape(int width, int height) glViewport(0, 0, (GLint)width, (GLint)height); glMatrixMode(GL_PROJECTION); glLoadIdentity(); +#if 0 glOrtho(-1.0, 1.0, -1.0, 1.0, -0.5, 1000.0); +#else + glFrustum(-1, 1, -1, 1, 10, 20); +#endif glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + glTranslatef(0, 0, -15); } static void Key(unsigned char key, int x, int y) { switch (key) { + case 'r': + Rot += 10.0; + break; + case 'R': + Rot -= 10.0; + break; case 27: + glutDestroyWindow(win); exit(0); default: return; @@ -100,17 +116,22 @@ static void Draw(void) { glClear(GL_COLOR_BUFFER_BIT); + glPushMatrix(); + glRotatef(Rot, 0, 1, 0); + glBegin(GL_QUADS); glTexCoord2f(1,0); - glVertex3f( 0.9, -0.9, -30.0); + glVertex3f( 0.9, -0.9, 0.0); glTexCoord2f(1,1); - glVertex3f( 0.9, 0.9, -30.0); + glVertex3f( 0.9, 0.9, 0.0); glTexCoord2f(0,1); - glVertex3f(-0.9, 0.9, -30.0); + glVertex3f(-0.9, 0.9, 0.0); glTexCoord2f(0,0); - glVertex3f(-0.9, -0.9, -30.0); + glVertex3f(-0.9, -0.9, 0.0); glEnd(); + glPopMatrix(); + glFlush(); if (doubleBuffer) { @@ -153,7 +174,8 @@ int main(int argc, char **argv) type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE; glutInitDisplayMode(type); - if (glutCreateWindow("First Tri") == GL_FALSE) { + win = glutCreateWindow(*argv); + if (!win) { exit(1); }