Fixed a build problem.
[gljewel.git] / bcube.c
blob4313b7fe0d30c41f294980128b03d8ed8411da59
1 /**
2 * @file bcube.c
3 * @brief The cheese cube module.
5 * Copyright 2001, 2008 David Ashley <dashxdr@gmail.com>
6 * Copyright 2008 Stephen M. Webb <stephen.webb@bregmasoft.ca>
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of Version 2 of the GNU General Public License as
10 * published by the Free Software Foundation.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 #include "bcube.h"
23 #if defined(_WIN32) && !defined(__CYGWIN__)
24 # define WIN32_LEAN_AND_MEAN 1
25 # include <windows.h>
26 #endif
28 #include <GL/gl.h>
30 void makebcube(float scale)
32 float sizex,sizey,sizez;
33 float bsizex,bsizey,bsizez;
34 float bevel;
36 sizex=sizey=sizez=0.6f*scale;
37 bevel=0.15f*scale;
38 bsizex=sizex+bevel;
39 bsizey=sizey+bevel;
40 bsizez=sizez+bevel;
41 glDisable(GL_TEXTURE_2D);
42 glEnable(GL_NORMALIZE);
44 glBegin(GL_QUADS);
45 glNormal3f( 0.0, sizey, 0.0);
46 glVertex3f( sizex, bsizey, sizez);
47 glVertex3f( sizex, bsizey,-sizez);
48 glVertex3f(-sizex, bsizey,-sizez);
49 glVertex3f(-sizex, bsizey, sizez);
51 glNormal3f( 0.0, 0.0, sizez);
52 glVertex3f( sizex, sizey, bsizez);
53 glVertex3f(-sizex, sizey, bsizez);
54 glVertex3f(-sizex,-sizey, bsizez);
55 glVertex3f( sizex,-sizey, bsizez);
58 glNormal3f( 0.0, 0.0,-sizez);
59 glVertex3f(-sizex,-sizey,-bsizez);
60 glVertex3f(-sizex, sizey,-bsizez);
61 glVertex3f( sizex, sizey,-bsizez);
62 glVertex3f( sizex,-sizey,-bsizez);
64 glNormal3f( sizex, 0.0, 0.0);
65 glVertex3f( bsizex, sizey, sizez);
66 glVertex3f( bsizex,-sizey, sizez);
67 glVertex3f( bsizex,-sizey,-sizez);
68 glVertex3f( bsizex, sizey,-sizez);
70 glNormal3f(-sizex, 0.0, 0.0);
71 glVertex3f(-bsizex,-sizey,-sizez);
72 glVertex3f(-bsizex,-sizey, sizez);
73 glVertex3f(-bsizex, sizey, sizez);
74 glVertex3f(-bsizex, sizey,-sizez);
76 glNormal3f( 0.0,-sizey, 0.0);
77 glVertex3f(-sizex,-bsizey,-sizez);
78 glVertex3f( sizex,-bsizey,-sizez);
79 glVertex3f( sizex,-bsizey, sizez);
80 glVertex3f(-sizex,-bsizey, sizez);
82 // setmaterial(blue);
84 glNormal3f( 0.0, sizey, sizez);
85 glVertex3f( -sizex, bsizey, sizez);
86 glVertex3f( -sizex, sizey, bsizez);
87 glVertex3f( sizex, sizey, bsizez);
88 glVertex3f( sizex, bsizey, sizez);
90 glNormal3f( sizex, 0.0, sizez);
91 glVertex3f( bsizex, sizey, sizez);
92 glVertex3f( sizex, sizey, bsizez);
93 glVertex3f( sizex, -sizey, bsizez);
94 glVertex3f( bsizex, -sizey, sizez);
96 glNormal3f( sizex, sizey, 0.0);
97 glVertex3f(bsizex, sizey, -sizez);
98 glVertex3f(sizex, bsizey, -sizez);
99 glVertex3f(sizex, bsizey, sizez);
100 glVertex3f(bsizex, sizey, sizez);
102 glNormal3f( 0.0, -sizey, -sizez);
103 glVertex3f( -sizex, -bsizey, -sizez);
104 glVertex3f( -sizex, -sizey, -bsizez);
105 glVertex3f( sizex, -sizey, -bsizez);
106 glVertex3f( sizex, -bsizey, -sizez);
108 glNormal3f( -sizex, 0.0, -sizez);
109 glVertex3f( -bsizex, sizey, -sizez);
110 glVertex3f( -sizex, sizey, -bsizez);
111 glVertex3f( -sizex, -sizey, -bsizez);
112 glVertex3f( -bsizex, -sizey, -sizez);
114 glNormal3f( -sizex, -sizey, 0.0);
115 glVertex3f(-bsizex, -sizey, -sizez);
116 glVertex3f(-sizex, -bsizey, -sizez);
117 glVertex3f(-sizex, -bsizey, sizez);
118 glVertex3f(-bsizex, -sizey, sizez);
120 glNormal3f( 0.0, -sizey, sizez);
121 glVertex3f( sizex, -bsizey, sizez);
122 glVertex3f( sizex, -sizey, bsizez);
123 glVertex3f( -sizex, -sizey, bsizez);
124 glVertex3f( -sizex, -bsizey, sizez);
126 glNormal3f( 0.0, sizey, -sizez);
127 glVertex3f( -sizex, sizey, -bsizez);
128 glVertex3f( -sizex, bsizey, -sizez);
129 glVertex3f( sizex, bsizey, -sizez);
130 glVertex3f( sizex, sizey, -bsizez);
132 glNormal3f( -sizex, 0.0, sizez);
133 glVertex3f( -bsizex, -sizey, sizez);
134 glVertex3f( -sizex, -sizey, bsizez);
135 glVertex3f( -sizex, sizey, bsizez);
136 glVertex3f( -bsizex,sizey, sizez);
138 glNormal3f( sizex, 0.0, -sizez);
139 glVertex3f( sizex, sizey, -bsizez);
140 glVertex3f( bsizex, sizey, -sizez);
141 glVertex3f( bsizex, -sizey, -sizez);
142 glVertex3f( sizex,-sizey, -bsizez);
144 glNormal3f( -sizex, sizey, 0.0);
145 glVertex3f( -bsizex,sizey, sizez);
146 glVertex3f( -sizex, bsizey, sizez);
147 glVertex3f( -sizex, bsizey, -sizez);
148 glVertex3f( -bsizex, sizey, -sizez);
150 glNormal3f( sizex, -sizey, 0.0);
151 glVertex3f( sizex, -bsizey, -sizez);
152 glVertex3f( bsizex, -sizey, -sizez);
153 glVertex3f( bsizex, -sizey, sizez);
154 glVertex3f( sizex, -bsizey, sizez);
156 glEnd();
158 // setmaterial(red);
159 glBegin(GL_TRIANGLES);
161 glNormal3f(sizex,sizey,sizez);
162 glVertex3f(bsizex,sizey,sizez);
163 glVertex3f(sizex,bsizey,sizez);
164 glVertex3f(sizex,sizey,bsizez);
166 glNormal3f(-sizex,sizey,sizez);
167 glVertex3f(-sizex,bsizey,sizez);
168 glVertex3f(-bsizex,sizey,sizez);
169 glVertex3f(-sizex,sizey,bsizez);
171 glNormal3f(-sizex,-sizey,sizez);
172 glVertex3f(-bsizex,-sizey,sizez);
173 glVertex3f(-sizex,-bsizey,sizez);
174 glVertex3f(-sizex,-sizey,bsizez);
176 glNormal3f(sizex,-sizey,sizez);
177 glVertex3f(sizex,-bsizey,sizez);
178 glVertex3f(bsizex,-sizey,sizez);
179 glVertex3f(sizex,-sizey,bsizez);
182 glNormal3f(-sizex,-sizey,-sizez);
183 glVertex3f(-sizex,-sizey,-bsizez);
184 glVertex3f(-sizex,-bsizey,-sizez);
185 glVertex3f(-bsizex,-sizey,-sizez);
187 glNormal3f(sizex,-sizey,-sizez);
188 glVertex3f(sizex,-sizey,-bsizez);
189 glVertex3f(bsizex,-sizey,-sizez);
190 glVertex3f(sizex,-bsizey,-sizez);
192 glNormal3f(sizex,sizey,-sizez);
193 glVertex3f(sizex,sizey,-bsizez);
194 glVertex3f(sizex,bsizey,-sizez);
195 glVertex3f(bsizex,sizey,-sizez);
197 glNormal3f(-sizex,sizey,-sizez);
198 glVertex3f(-sizex,sizey,-bsizez);
199 glVertex3f(-bsizex,sizey,-sizez);
200 glVertex3f(-sizex,bsizey,-sizez);
202 glEnd();