PageRenderTime 14ms CodeModel.GetById 7ms app.highlight 4ms RepoModel.GetById 1ms app.codeStats 1ms

/opengles/redbook/cube.c

http://ftk.googlecode.com/
C | 92 lines | 45 code | 6 blank | 41 comment | 1 complexity | 63899b7b313c3a1717ef5992b400c2b0 MD5 | raw file
 1/*
 2 * License Applicability. Except to the extent portions of this file are
 3 * made subject to an alternative license as permitted in the SGI Free
 4 * Software License B, Version 1.1 (the "License"), the contents of this
 5 * file are subject only to the provisions of the License. You may not use
 6 * this file except in compliance with the License. You may obtain a copy
 7 * of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
 8 * Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
 9 * 
10 * http://oss.sgi.com/projects/FreeB
11 * 
12 * Note that, as provided in the License, the Software is distributed on an
13 * "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
14 * DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
15 * CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
16 * PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
17 * 
18 * Original Code. The Original Code is: OpenGL Sample Implementation,
19 * Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
20 * Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
21 * Copyright in any portions created by third parties is as indicated
22 * elsewhere herein. All Rights Reserved.
23 * 
24 * Additional Notice Provisions: The application programming interfaces
25 * established by SGI in conjunction with the Original Code are The
26 * OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
27 * April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
28 * 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
29 * Window System(R) (Version 1.3), released October 19, 1998. This software
30 * was created using the OpenGL(R) version 1.2.1 Sample Implementation
31 * published by SGI, but has not been independently verified as being
32 * compliant with the OpenGL(R) version 1.2.1 Specification.
33 *
34 */
35
36/*
37 *  cube.c
38 *  This program demonstrates a single modeling transformation,
39 *  glScalef() and a single viewing transformation, gluLookAt().
40 *  A wireframe cube is rendered.
41 */
42#include <stdlib.h>
43#include "ug.h"
44
45void init(void) 
46{
47   glClearColor (0.0, 0.0, 0.0, 0.0);
48   glShadeModel (GL_FLAT);
49}
50
51void display(UGWindow uwin)
52{
53   glClear (GL_COLOR_BUFFER_BIT);
54   glColor4f (1.0, 1.0, 1.0, 1.0);
55   glLoadIdentity ();             /* clear the matrix */
56           /* viewing transformation  */
57   ugluLookAtf(0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
58   glScalef (1.0, 2.0, 1.0);      /* modeling transformation */ 
59   ugWireCubef(1.0);
60   glFlush();
61   ugSwapBuffers(uwin);
62}
63
64void reshape (UGWindow uwin, int w, int h)
65{
66   glViewport (0, 0, (GLsizei) w, (GLsizei) h); 
67   glMatrixMode (GL_PROJECTION);
68   glLoadIdentity ();
69   glFrustumf(-1.0, 1.0, -1.0, 1.0, 1.5, 20.0);
70   glMatrixMode (GL_MODELVIEW);
71}
72
73void keyboard(UGWindow uwin, int key, int x, int y)
74{
75   switch (key) {
76      case 27:
77         exit(0);
78         break;
79   }
80}
81
82int main(int argc, char** argv)
83{
84   UGCtx ug = ugInit();
85   UGWindow uwin = ugCreateWindow (ug, "", argv[0], 500, 500, 100, 100);
86   init ();
87   ugDisplayFunc(uwin, display); 
88   ugReshapeFunc(uwin, reshape);
89   ugKeyboardFunc(uwin, keyboard);
90   ugMainLoop(ug);
91   return 0;
92}