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