10typedef unsigned int GLenum;
11typedef unsigned int GLsizei;
13typedef double GLdouble;
14typedef unsigned char GLubyte;
20#define GL_LINE_LOOP 0x0002
21#define GL_LINE_STRIP 0x0003
22#define GL_TRIANGLES 0x0004
23#define GL_TRIANGLE_STRIP 0x0005
24#define GL_TRIANGLE_FAN 0x0006
45#define GLU_EXT_object_space_tess 1
46#define GLU_EXT_nurbs_tessellator 1
53#define GLU_VERSION_1_1 1
54#define GLU_VERSION_1_2 1
55#define GLU_VERSION_1_3 1
58#define GLU_VERSION 100800
59#define GLU_EXTENSIONS 100801
62#define GLU_INVALID_ENUM 100900
63#define GLU_INVALID_VALUE 100901
64#define GLU_OUT_OF_MEMORY 100902
65#define GLU_INCOMPATIBLE_GL_VERSION 100903
66#define GLU_INVALID_OPERATION 100904
70#define GLU_OUTLINE_POLYGON 100240
71#define GLU_OUTLINE_PATCH 100241
74#define GLU_NURBS_ERROR 100103
75#define GLU_ERROR 100103
76#define GLU_NURBS_BEGIN 100164
77#define GLU_NURBS_BEGIN_EXT 100164
78#define GLU_NURBS_VERTEX 100165
79#define GLU_NURBS_VERTEX_EXT 100165
80#define GLU_NURBS_NORMAL 100166
81#define GLU_NURBS_NORMAL_EXT 100166
82#define GLU_NURBS_COLOR 100167
83#define GLU_NURBS_COLOR_EXT 100167
84#define GLU_NURBS_TEXTURE_COORD 100168
85#define GLU_NURBS_TEX_COORD_EXT 100168
86#define GLU_NURBS_END 100169
87#define GLU_NURBS_END_EXT 100169
88#define GLU_NURBS_BEGIN_DATA 100170
89#define GLU_NURBS_BEGIN_DATA_EXT 100170
90#define GLU_NURBS_VERTEX_DATA 100171
91#define GLU_NURBS_VERTEX_DATA_EXT 100171
92#define GLU_NURBS_NORMAL_DATA 100172
93#define GLU_NURBS_NORMAL_DATA_EXT 100172
94#define GLU_NURBS_COLOR_DATA 100173
95#define GLU_NURBS_COLOR_DATA_EXT 100173
96#define GLU_NURBS_TEXTURE_COORD_DATA 100174
97#define GLU_NURBS_TEX_COORD_DATA_EXT 100174
98#define GLU_NURBS_END_DATA 100175
99#define GLU_NURBS_END_DATA_EXT 100175
102#define GLU_NURBS_ERROR1 100251
103#define GLU_NURBS_ERROR2 100252
104#define GLU_NURBS_ERROR3 100253
105#define GLU_NURBS_ERROR4 100254
106#define GLU_NURBS_ERROR5 100255
107#define GLU_NURBS_ERROR6 100256
108#define GLU_NURBS_ERROR7 100257
109#define GLU_NURBS_ERROR8 100258
110#define GLU_NURBS_ERROR9 100259
111#define GLU_NURBS_ERROR10 100260
112#define GLU_NURBS_ERROR11 100261
113#define GLU_NURBS_ERROR12 100262
114#define GLU_NURBS_ERROR13 100263
115#define GLU_NURBS_ERROR14 100264
116#define GLU_NURBS_ERROR15 100265
117#define GLU_NURBS_ERROR16 100266
118#define GLU_NURBS_ERROR17 100267
119#define GLU_NURBS_ERROR18 100268
120#define GLU_NURBS_ERROR19 100269
121#define GLU_NURBS_ERROR20 100270
122#define GLU_NURBS_ERROR21 100271
123#define GLU_NURBS_ERROR22 100272
124#define GLU_NURBS_ERROR23 100273
125#define GLU_NURBS_ERROR24 100274
126#define GLU_NURBS_ERROR25 100275
127#define GLU_NURBS_ERROR26 100276
128#define GLU_NURBS_ERROR27 100277
129#define GLU_NURBS_ERROR28 100278
130#define GLU_NURBS_ERROR29 100279
131#define GLU_NURBS_ERROR30 100280
132#define GLU_NURBS_ERROR31 100281
133#define GLU_NURBS_ERROR32 100282
134#define GLU_NURBS_ERROR33 100283
135#define GLU_NURBS_ERROR34 100284
136#define GLU_NURBS_ERROR35 100285
137#define GLU_NURBS_ERROR36 100286
138#define GLU_NURBS_ERROR37 100287
141#define GLU_AUTO_LOAD_MATRIX 100200
142#define GLU_CULLING 100201
143#define GLU_SAMPLING_TOLERANCE 100203
144#define GLU_DISPLAY_MODE 100204
145#define GLU_PARAMETRIC_TOLERANCE 100202
146#define GLU_SAMPLING_METHOD 100205
147#define GLU_U_STEP 100206
148#define GLU_V_STEP 100207
149#define GLU_NURBS_MODE 100160
150#define GLU_NURBS_MODE_EXT 100160
151#define GLU_NURBS_TESSELLATOR 100161
152#define GLU_NURBS_TESSELLATOR_EXT 100161
153#define GLU_NURBS_RENDERER 100162
154#define GLU_NURBS_RENDERER_EXT 100162
157#define GLU_OBJECT_PARAMETRIC_ERROR 100208
158#define GLU_OBJECT_PARAMETRIC_ERROR_EXT 100208
159#define GLU_OBJECT_PATH_LENGTH 100209
160#define GLU_OBJECT_PATH_LENGTH_EXT 100209
161#define GLU_PATH_LENGTH 100215
162#define GLU_PARAMETRIC_ERROR 100216
163#define GLU_DOMAIN_DISTANCE 100217
166#define GLU_MAP1_TRIM_2 100210
167#define GLU_MAP1_TRIM_3 100211
170#define GLU_POINT 100010
171#define GLU_LINE 100011
172#define GLU_FILL 100012
173#define GLU_SILHOUETTE 100013
179#define GLU_SMOOTH 100000
180#define GLU_FLAT 100001
181#define GLU_NONE 100002
184#define GLU_OUTSIDE 100020
185#define GLU_INSIDE 100021
188#define GLU_TESS_BEGIN 100100
189#define GLU_BEGIN 100100
190#define GLU_TESS_VERTEX 100101
191#define GLU_VERTEX 100101
192#define GLU_TESS_END 100102
193#define GLU_END 100102
194#define GLU_TESS_ERROR 100103
195#define GLU_TESS_EDGE_FLAG 100104
196#define GLU_EDGE_FLAG 100104
197#define GLU_TESS_COMBINE 100105
198#define GLU_TESS_BEGIN_DATA 100106
199#define GLU_TESS_VERTEX_DATA 100107
200#define GLU_TESS_END_DATA 100108
201#define GLU_TESS_ERROR_DATA 100109
202#define GLU_TESS_EDGE_FLAG_DATA 100110
203#define GLU_TESS_COMBINE_DATA 100111
207#define GLU_CCW 100121
208#define GLU_INTERIOR 100122
209#define GLU_EXTERIOR 100123
210#define GLU_UNKNOWN 100124
213#define GLU_TESS_WINDING_RULE 100140
214#define GLU_TESS_BOUNDARY_ONLY 100141
215#define GLU_TESS_TOLERANCE 100142
218#define GLU_TESS_ERROR1 100151
219#define GLU_TESS_ERROR2 100152
220#define GLU_TESS_ERROR3 100153
221#define GLU_TESS_ERROR4 100154
222#define GLU_TESS_ERROR5 100155
223#define GLU_TESS_ERROR6 100156
224#define GLU_TESS_ERROR7 100157
225#define GLU_TESS_ERROR8 100158
226#define GLU_TESS_MISSING_BEGIN_POLYGON 100151
227#define GLU_TESS_MISSING_BEGIN_CONTOUR 100152
228#define GLU_TESS_MISSING_END_POLYGON 100153
229#define GLU_TESS_MISSING_END_CONTOUR 100154
230#define GLU_TESS_COORD_TOO_LARGE 100155
231#define GLU_TESS_NEED_COMBINE_CALLBACK 100156
234#define GLU_TESS_WINDING_ODD 100130
235#define GLU_TESS_WINDING_NONZERO 100131
236#define GLU_TESS_WINDING_POSITIVE 100132
237#define GLU_TESS_WINDING_NEGATIVE 100133
238#define GLU_TESS_WINDING_ABS_GEQ_TWO 100134
247typedef struct GLUnurbs GLUnurbs;
248typedef struct GLUquadric GLUquadric;
249typedef struct GLUtesselator GLUtesselator;
252typedef GLUnurbs GLUnurbsObj;
253typedef GLUquadric GLUquadricObj;
254typedef GLUtesselator GLUtesselatorObj;
255typedef GLUtesselator GLUtriangulatorObj;
257#define GLU_TESS_MAX_COORD 1.0e150
260typedef void(GLAPIENTRYP _GLUfuncptr)(void);
262GLAPI
void GLAPIENTRY gluBeginCurve(GLUnurbs *nurb);
263GLAPI
void GLAPIENTRY gluBeginPolygon(GLUtesselator *tess);
264GLAPI
void GLAPIENTRY gluBeginSurface(GLUnurbs *nurb);
265GLAPI
void GLAPIENTRY gluBeginTrim(GLUnurbs *nurb);
266GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format,
267 GLenum type, GLint level, GLint base, GLint max,
const void *data);
268GLAPI GLint GLAPIENTRY gluBuild1DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type,
270GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height,
271 GLenum format, GLenum type, GLint level, GLint base, GLint max,
273GLAPI GLint GLAPIENTRY gluBuild2DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height,
274 GLenum format, GLenum type,
const void *data);
275GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height,
276 GLsizei depth, GLenum format, GLenum type, GLint level, GLint base,
277 GLint max,
const void *data);
278GLAPI GLint GLAPIENTRY gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height,
279 GLsizei depth, GLenum format, GLenum type,
const void *data);
280GLAPI GLboolean GLAPIENTRY gluCheckExtension(
const GLubyte *extName,
const GLubyte *extString);
281GLAPI
void GLAPIENTRY gluCylinder(GLUquadric *quad, GLdouble base, GLdouble top, GLdouble height, GLint slices,
283GLAPI
void GLAPIENTRY gluDeleteNurbsRenderer(GLUnurbs *nurb);
284GLAPI
void GLAPIENTRY gluDeleteQuadric(GLUquadric *quad);
285GLAPI
void GLAPIENTRY gluDeleteTess(GLUtesselator *tess);
286GLAPI
void GLAPIENTRY gluDisk(GLUquadric *quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops);
287GLAPI
void GLAPIENTRY gluEndCurve(GLUnurbs *nurb);
288GLAPI
void GLAPIENTRY gluEndPolygon(GLUtesselator *tess);
289GLAPI
void GLAPIENTRY gluEndSurface(GLUnurbs *nurb);
290GLAPI
void GLAPIENTRY gluEndTrim(GLUnurbs *nurb);
291GLAPI
const GLubyte *GLAPIENTRY gluErrorString(GLenum error);
292GLAPI
void GLAPIENTRY gluGetNurbsProperty(GLUnurbs *nurb, GLenum property, GLfloat *data);
293GLAPI
const GLubyte *GLAPIENTRY gluGetString(GLenum name);
294GLAPI
void GLAPIENTRY gluGetTessProperty(GLUtesselator *tess, GLenum which, GLdouble *data);
295GLAPI
void GLAPIENTRY gluLoadSamplingMatrices(GLUnurbs *nurb,
const GLfloat *model,
const GLfloat *perspective,
297GLAPI
void GLAPIENTRY gluLookAt(GLdouble eyeX, GLdouble eyeY, GLdouble eyeZ, GLdouble centerX, GLdouble centerY,
298 GLdouble centerZ, GLdouble upX, GLdouble upY, GLdouble upZ);
299GLAPI GLUnurbs *GLAPIENTRY gluNewNurbsRenderer(
void);
300GLAPI GLUquadric *GLAPIENTRY gluNewQuadric(
void);
301GLAPI GLUtesselator *GLAPIENTRY gluNewTess(
void);
302GLAPI
void GLAPIENTRY gluNextContour(GLUtesselator *tess, GLenum type);
303GLAPI
void GLAPIENTRY gluNurbsCallback(GLUnurbs *nurb, GLenum which, _GLUfuncptr CallBackFunc);
304GLAPI
void GLAPIENTRY gluNurbsCallbackData(GLUnurbs *nurb, GLvoid *userData);
305GLAPI
void GLAPIENTRY gluNurbsCallbackDataEXT(GLUnurbs *nurb, GLvoid *userData);
306GLAPI
void GLAPIENTRY gluNurbsCurve(GLUnurbs *nurb, GLint knotCount, GLfloat *knots, GLint stride, GLfloat *control,
307 GLint order, GLenum type);
308GLAPI
void GLAPIENTRY gluNurbsProperty(GLUnurbs *nurb, GLenum property, GLfloat value);
309GLAPI
void GLAPIENTRY gluNurbsSurface(GLUnurbs *nurb, GLint sKnotCount, GLfloat *sKnots, GLint tKnotCount,
310 GLfloat *tKnots, GLint sStride, GLint tStride, GLfloat *control, GLint sOrder,
311 GLint tOrder, GLenum type);
312GLAPI
void GLAPIENTRY gluOrtho2D(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top);
313GLAPI
void GLAPIENTRY gluPartialDisk(GLUquadric *quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops,
314 GLdouble start, GLdouble sweep);
315GLAPI
void GLAPIENTRY gluPerspective(GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar);
316GLAPI
void GLAPIENTRY gluPickMatrix(GLdouble x, GLdouble y, GLdouble delX, GLdouble delY, GLint *viewport);
317GLAPI GLint GLAPIENTRY gluProject(GLdouble objX, GLdouble objY, GLdouble objZ,
const GLdouble *model,
318 const GLdouble *proj,
const GLint *view, GLdouble *winX, GLdouble *winY,
320GLAPI
void GLAPIENTRY gluPwlCurve(GLUnurbs *nurb, GLint count, GLfloat *data, GLint stride, GLenum type);
321GLAPI
void GLAPIENTRY gluQuadricCallback(GLUquadric *quad, GLenum which, _GLUfuncptr CallBackFunc);
322GLAPI
void GLAPIENTRY gluQuadricDrawStyle(GLUquadric *quad, GLenum draw);
323GLAPI
void GLAPIENTRY gluQuadricNormals(GLUquadric *quad, GLenum normal);
324GLAPI
void GLAPIENTRY gluQuadricOrientation(GLUquadric *quad, GLenum orientation);
325GLAPI
void GLAPIENTRY gluQuadricTexture(GLUquadric *quad, GLboolean texture);
326GLAPI GLint GLAPIENTRY gluScaleImage(GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn,
const void *dataIn,
327 GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid *dataOut);
328GLAPI
void GLAPIENTRY gluSphere(GLUquadric *quad, GLdouble radius, GLint slices, GLint stacks);
329GLAPI
void GLAPIENTRY gluTessBeginContour(GLUtesselator *tess);
330GLAPI
void GLAPIENTRY gluTessBeginPolygon(GLUtesselator *tess, GLvoid *data);
331GLAPI
void GLAPIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, _GLUfuncptr CallBackFunc);
332GLAPI
void GLAPIENTRY gluTessEndContour(GLUtesselator *tess);
333GLAPI
void GLAPIENTRY gluTessEndPolygon(GLUtesselator *tess);
334GLAPI
void GLAPIENTRY gluTessNormal(GLUtesselator *tess, GLdouble valueX, GLdouble valueY, GLdouble valueZ);
335GLAPI
void GLAPIENTRY gluTessProperty(GLUtesselator *tess, GLenum which, GLdouble data);
336GLAPI
void GLAPIENTRY gluTessVertex(GLUtesselator *tess, GLdouble *location, GLvoid *data);
337GLAPI GLint GLAPIENTRY gluUnProject(GLdouble winX, GLdouble winY, GLdouble winZ,
const GLdouble *model,
338 const GLdouble *proj,
const GLint *view, GLdouble *objX, GLdouble *objY,
340GLAPI GLint GLAPIENTRY gluUnProject4(GLdouble winX, GLdouble winY, GLdouble winZ, GLdouble clipW,
const GLdouble *model,
341 const GLdouble *proj,
const GLint *view, GLdouble nearVal, GLdouble farVal,
342 GLdouble *objX, GLdouble *objY, GLdouble *objZ, GLdouble *objW);