bab9499944b9d952e2af8000ecbef1635961fe52
2 * Copyright (C) 2009 Chia-I Wu <olv@0xlab.org>
5 * Copyright (C) 1999-2001 Brian Paul All Rights Reserved.
6 * Copyright (C) 2008 Brian Paul All Rights Reserved.
7 * Copyright (C) 2008 Jakob Bornecrantz All Rights Reserved.
9 * Permission is hereby granted, free of charge, to any person obtaining a
10 * copy of this software and associated documentation files (the "Software"),
11 * to deal in the Software without restriction, including without limitation
12 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
13 * and/or sell copies of the Software, and to permit persons to whom the
14 * Software is furnished to do so, subject to the following conditions:
16 * The above copyright notice and this permission notice shall be included
17 * in all copies or substantial portions of the Software.
19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
20 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
22 * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
23 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
24 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
33 static GLfloat view_rotx
= 0.0, view_roty
= 0.0, view_rotz
= 0.0;
35 static void tri_init()
37 glClearColor(0.4, 0.4, 0.4, 0.0);
40 static void tri_reshape(int width
, int height
)
42 GLfloat ar
= (GLfloat
) width
/ (GLfloat
) height
;
44 glViewport(0, 0, (GLint
) width
, (GLint
) height
);
46 glMatrixMode(GL_PROJECTION
);
48 glFrustumf(-ar
, ar
, -1, 1, 5.0, 60.0);
50 glMatrixMode(GL_MODELVIEW
);
52 glTranslatef(0.0, 0.0, -10.0);
55 static void tri_draw(void *data
)
57 static const GLfloat verts
[3][2] = {
62 static const GLfloat colors
[3][4] = {
68 glClear(GL_COLOR_BUFFER_BIT
| GL_DEPTH_BUFFER_BIT
);
71 glRotatef(view_rotx
, 1, 0, 0);
72 glRotatef(view_roty
, 0, 1, 0);
73 glRotatef(view_rotz
, 0, 0, 1);
76 glVertexPointer(2, GL_FLOAT
, 0, verts
);
77 glColorPointer(4, GL_FLOAT
, 0, colors
);
78 glEnableClientState(GL_VERTEX_ARRAY
);
79 glEnableClientState(GL_COLOR_ARRAY
);
81 glDrawArrays(GL_TRIANGLES
, 0, 3);
83 glDisableClientState(GL_VERTEX_ARRAY
);
84 glDisableClientState(GL_COLOR_ARRAY
);
90 static void tri_run(void)
92 winsysRun(3.0, tri_draw
, NULL
);
95 int main(int argc
, char *argv
[])
98 GLboolean printInfo
= GL_FALSE
;
101 /* parse cmd line args */
102 for (i
= 1; i
< argc
; i
++) {
103 if (strcmp(argv
[i
], "-info") == 0) {
107 printf("Warning: unknown parameter: %s\n", argv
[i
]);
111 if (!winsysInitScreen())
113 winsysQueryScreenSize(&width
, &height
);
116 printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER
));
117 printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION
));
118 printf("GL_VENDOR = %s\n", (char *) glGetString(GL_VENDOR
));
119 printf("GL_EXTENSIONS = %s\n", (char *) glGetString(GL_EXTENSIONS
));
123 tri_reshape(width
, height
);