1f220fa62Smrg/*
2f220fa62Smrg * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
3f220fa62Smrg * Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved.
4f220fa62Smrg *
5f220fa62Smrg * Permission is hereby granted, free of charge, to any person obtaining a
6f220fa62Smrg * copy of this software and associated documentation files (the "Software"),
7f220fa62Smrg * to deal in the Software without restriction, including without limitation
8f220fa62Smrg * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9f220fa62Smrg * and/or sell copies of the Software, and to permit persons to whom the
10f220fa62Smrg * Software is furnished to do so, subject to the following conditions:
11f220fa62Smrg *
12f220fa62Smrg * The above copyright notice including the dates of first publication and
13f220fa62Smrg * either this permission notice or a reference to
14f220fa62Smrg * http://oss.sgi.com/projects/FreeB/
15f220fa62Smrg * shall be included in all copies or substantial portions of the Software.
16f220fa62Smrg *
17f220fa62Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18f220fa62Smrg * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19f220fa62Smrg * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20f220fa62Smrg * SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
21f220fa62Smrg * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
22f220fa62Smrg * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23f220fa62Smrg * SOFTWARE.
24f220fa62Smrg *
25f220fa62Smrg * Except as contained in this notice, the name of Silicon Graphics, Inc.
26f220fa62Smrg * shall not be used in advertising or otherwise to promote the sale, use or
27f220fa62Smrg * other dealings in this Software without prior written authorization from
28f220fa62Smrg * Silicon Graphics, Inc.
29f220fa62Smrg */
30f220fa62Smrg
31f220fa62Smrg#ifndef __glu_h__
32f220fa62Smrg#define __glu_h__
33f220fa62Smrg
34f220fa62Smrg#include <GL/gl.h>
35f220fa62Smrg
36f220fa62Smrg#ifndef GLAPIENTRY
37f220fa62Smrg#if defined(_MSC_VER) || defined(__MINGW32__)
38f220fa62Smrg#define GLAPIENTRY __stdcall
39f220fa62Smrg#else
40f220fa62Smrg#define GLAPIENTRY
41f220fa62Smrg#endif
42f220fa62Smrg#endif
43f220fa62Smrg
44f220fa62Smrg#ifndef GLAPIENTRYP
45f220fa62Smrg#define GLAPIENTRYP GLAPIENTRY *
46f220fa62Smrg#endif
47f220fa62Smrg
48f220fa62Smrg#if (defined(_MSC_VER) || defined(__MINGW32__)) && defined(BUILD_GLU32)
49f220fa62Smrg# undef GLAPI
50f220fa62Smrg# define GLAPI __declspec(dllexport)
51f220fa62Smrg#elif (defined(_MSC_VER) || defined(__MINGW32__)) && defined(_DLL)
52f220fa62Smrg/* tag specifying we're building for DLL runtime support */
53f220fa62Smrg# undef GLAPI
54f220fa62Smrg# define GLAPI __declspec(dllimport)
55f220fa62Smrg#elif !defined(GLAPI)
56f220fa62Smrg/* for use with static link lib build of Win32 edition only */
57f220fa62Smrg# define GLAPI extern
58f220fa62Smrg#endif /* _STATIC_MESA support */
59f220fa62Smrg
60f220fa62Smrg#ifdef __cplusplus
61f220fa62Smrgextern "C" {
62f220fa62Smrg#endif
63f220fa62Smrg
64f220fa62Smrg/*************************************************************/
65f220fa62Smrg
66f220fa62Smrg/* Extensions */
67f220fa62Smrg#define GLU_EXT_object_space_tess          1
68f220fa62Smrg#define GLU_EXT_nurbs_tessellator          1
69f220fa62Smrg
70f220fa62Smrg/* Boolean */
71f220fa62Smrg#define GLU_FALSE                          0
72f220fa62Smrg#define GLU_TRUE                           1
73f220fa62Smrg
74f220fa62Smrg/* Version */
75f220fa62Smrg#define GLU_VERSION_1_1                    1
76f220fa62Smrg#define GLU_VERSION_1_2                    1
77f220fa62Smrg#define GLU_VERSION_1_3                    1
78f220fa62Smrg
79f220fa62Smrg/* StringName */
80f220fa62Smrg#define GLU_VERSION                        100800
81f220fa62Smrg#define GLU_EXTENSIONS                     100801
82f220fa62Smrg
83f220fa62Smrg/* ErrorCode */
84f220fa62Smrg#define GLU_INVALID_ENUM                   100900
85f220fa62Smrg#define GLU_INVALID_VALUE                  100901
86f220fa62Smrg#define GLU_OUT_OF_MEMORY                  100902
87f220fa62Smrg#define GLU_INCOMPATIBLE_GL_VERSION        100903
88f220fa62Smrg#define GLU_INVALID_OPERATION              100904
89f220fa62Smrg
90f220fa62Smrg/* NurbsDisplay */
91f220fa62Smrg/*      GLU_FILL */
92f220fa62Smrg#define GLU_OUTLINE_POLYGON                100240
93f220fa62Smrg#define GLU_OUTLINE_PATCH                  100241
94f220fa62Smrg
95f220fa62Smrg/* NurbsCallback */
96f220fa62Smrg#define GLU_NURBS_ERROR                    100103
97f220fa62Smrg#define GLU_ERROR                          100103
98f220fa62Smrg#define GLU_NURBS_BEGIN                    100164
99f220fa62Smrg#define GLU_NURBS_BEGIN_EXT                100164
100f220fa62Smrg#define GLU_NURBS_VERTEX                   100165
101f220fa62Smrg#define GLU_NURBS_VERTEX_EXT               100165
102f220fa62Smrg#define GLU_NURBS_NORMAL                   100166
103f220fa62Smrg#define GLU_NURBS_NORMAL_EXT               100166
104f220fa62Smrg#define GLU_NURBS_COLOR                    100167
105f220fa62Smrg#define GLU_NURBS_COLOR_EXT                100167
106f220fa62Smrg#define GLU_NURBS_TEXTURE_COORD            100168
107f220fa62Smrg#define GLU_NURBS_TEX_COORD_EXT            100168
108f220fa62Smrg#define GLU_NURBS_END                      100169
109f220fa62Smrg#define GLU_NURBS_END_EXT                  100169
110f220fa62Smrg#define GLU_NURBS_BEGIN_DATA               100170
111f220fa62Smrg#define GLU_NURBS_BEGIN_DATA_EXT           100170
112f220fa62Smrg#define GLU_NURBS_VERTEX_DATA              100171
113f220fa62Smrg#define GLU_NURBS_VERTEX_DATA_EXT          100171
114f220fa62Smrg#define GLU_NURBS_NORMAL_DATA              100172
115f220fa62Smrg#define GLU_NURBS_NORMAL_DATA_EXT          100172
116f220fa62Smrg#define GLU_NURBS_COLOR_DATA               100173
117f220fa62Smrg#define GLU_NURBS_COLOR_DATA_EXT           100173
118f220fa62Smrg#define GLU_NURBS_TEXTURE_COORD_DATA       100174
119f220fa62Smrg#define GLU_NURBS_TEX_COORD_DATA_EXT       100174
120f220fa62Smrg#define GLU_NURBS_END_DATA                 100175
121f220fa62Smrg#define GLU_NURBS_END_DATA_EXT             100175
122f220fa62Smrg
123f220fa62Smrg/* NurbsError */
124f220fa62Smrg#define GLU_NURBS_ERROR1                   100251
125f220fa62Smrg#define GLU_NURBS_ERROR2                   100252
126f220fa62Smrg#define GLU_NURBS_ERROR3                   100253
127f220fa62Smrg#define GLU_NURBS_ERROR4                   100254
128f220fa62Smrg#define GLU_NURBS_ERROR5                   100255
129f220fa62Smrg#define GLU_NURBS_ERROR6                   100256
130f220fa62Smrg#define GLU_NURBS_ERROR7                   100257
131f220fa62Smrg#define GLU_NURBS_ERROR8                   100258
132f220fa62Smrg#define GLU_NURBS_ERROR9                   100259
133f220fa62Smrg#define GLU_NURBS_ERROR10                  100260
134f220fa62Smrg#define GLU_NURBS_ERROR11                  100261
135f220fa62Smrg#define GLU_NURBS_ERROR12                  100262
136f220fa62Smrg#define GLU_NURBS_ERROR13                  100263
137f220fa62Smrg#define GLU_NURBS_ERROR14                  100264
138f220fa62Smrg#define GLU_NURBS_ERROR15                  100265
139f220fa62Smrg#define GLU_NURBS_ERROR16                  100266
140f220fa62Smrg#define GLU_NURBS_ERROR17                  100267
141f220fa62Smrg#define GLU_NURBS_ERROR18                  100268
142f220fa62Smrg#define GLU_NURBS_ERROR19                  100269
143f220fa62Smrg#define GLU_NURBS_ERROR20                  100270
144f220fa62Smrg#define GLU_NURBS_ERROR21                  100271
145f220fa62Smrg#define GLU_NURBS_ERROR22                  100272
146f220fa62Smrg#define GLU_NURBS_ERROR23                  100273
147f220fa62Smrg#define GLU_NURBS_ERROR24                  100274
148f220fa62Smrg#define GLU_NURBS_ERROR25                  100275
149f220fa62Smrg#define GLU_NURBS_ERROR26                  100276
150f220fa62Smrg#define GLU_NURBS_ERROR27                  100277
151f220fa62Smrg#define GLU_NURBS_ERROR28                  100278
152f220fa62Smrg#define GLU_NURBS_ERROR29                  100279
153f220fa62Smrg#define GLU_NURBS_ERROR30                  100280
154f220fa62Smrg#define GLU_NURBS_ERROR31                  100281
155f220fa62Smrg#define GLU_NURBS_ERROR32                  100282
156f220fa62Smrg#define GLU_NURBS_ERROR33                  100283
157f220fa62Smrg#define GLU_NURBS_ERROR34                  100284
158f220fa62Smrg#define GLU_NURBS_ERROR35                  100285
159f220fa62Smrg#define GLU_NURBS_ERROR36                  100286
160f220fa62Smrg#define GLU_NURBS_ERROR37                  100287
161f220fa62Smrg
162f220fa62Smrg/* NurbsProperty */
163f220fa62Smrg#define GLU_AUTO_LOAD_MATRIX               100200
164f220fa62Smrg#define GLU_CULLING                        100201
165f220fa62Smrg#define GLU_SAMPLING_TOLERANCE             100203
166f220fa62Smrg#define GLU_DISPLAY_MODE                   100204
167f220fa62Smrg#define GLU_PARAMETRIC_TOLERANCE           100202
168f220fa62Smrg#define GLU_SAMPLING_METHOD                100205
169f220fa62Smrg#define GLU_U_STEP                         100206
170f220fa62Smrg#define GLU_V_STEP                         100207
171f220fa62Smrg#define GLU_NURBS_MODE                     100160
172f220fa62Smrg#define GLU_NURBS_MODE_EXT                 100160
173f220fa62Smrg#define GLU_NURBS_TESSELLATOR              100161
174f220fa62Smrg#define GLU_NURBS_TESSELLATOR_EXT          100161
175f220fa62Smrg#define GLU_NURBS_RENDERER                 100162
176f220fa62Smrg#define GLU_NURBS_RENDERER_EXT             100162
177f220fa62Smrg
178f220fa62Smrg/* NurbsSampling */
179f220fa62Smrg#define GLU_OBJECT_PARAMETRIC_ERROR        100208
180f220fa62Smrg#define GLU_OBJECT_PARAMETRIC_ERROR_EXT    100208
181f220fa62Smrg#define GLU_OBJECT_PATH_LENGTH             100209
182f220fa62Smrg#define GLU_OBJECT_PATH_LENGTH_EXT         100209
183f220fa62Smrg#define GLU_PATH_LENGTH                    100215
184f220fa62Smrg#define GLU_PARAMETRIC_ERROR               100216
185f220fa62Smrg#define GLU_DOMAIN_DISTANCE                100217
186f220fa62Smrg
187f220fa62Smrg/* NurbsTrim */
188f220fa62Smrg#define GLU_MAP1_TRIM_2                    100210
189f220fa62Smrg#define GLU_MAP1_TRIM_3                    100211
190f220fa62Smrg
191f220fa62Smrg/* QuadricDrawStyle */
192f220fa62Smrg#define GLU_POINT                          100010
193f220fa62Smrg#define GLU_LINE                           100011
194f220fa62Smrg#define GLU_FILL                           100012
195f220fa62Smrg#define GLU_SILHOUETTE                     100013
196f220fa62Smrg
197f220fa62Smrg/* QuadricCallback */
198f220fa62Smrg/*      GLU_ERROR */
199f220fa62Smrg
200f220fa62Smrg/* QuadricNormal */
201f220fa62Smrg#define GLU_SMOOTH                         100000
202f220fa62Smrg#define GLU_FLAT                           100001
203f220fa62Smrg#define GLU_NONE                           100002
204f220fa62Smrg
205f220fa62Smrg/* QuadricOrientation */
206f220fa62Smrg#define GLU_OUTSIDE                        100020
207f220fa62Smrg#define GLU_INSIDE                         100021
208f220fa62Smrg
209f220fa62Smrg/* TessCallback */
210f220fa62Smrg#define GLU_TESS_BEGIN                     100100
211f220fa62Smrg#define GLU_BEGIN                          100100
212f220fa62Smrg#define GLU_TESS_VERTEX                    100101
213f220fa62Smrg#define GLU_VERTEX                         100101
214f220fa62Smrg#define GLU_TESS_END                       100102
215f220fa62Smrg#define GLU_END                            100102
216f220fa62Smrg#define GLU_TESS_ERROR                     100103
217f220fa62Smrg#define GLU_TESS_EDGE_FLAG                 100104
218f220fa62Smrg#define GLU_EDGE_FLAG                      100104
219f220fa62Smrg#define GLU_TESS_COMBINE                   100105
220f220fa62Smrg#define GLU_TESS_BEGIN_DATA                100106
221f220fa62Smrg#define GLU_TESS_VERTEX_DATA               100107
222f220fa62Smrg#define GLU_TESS_END_DATA                  100108
223f220fa62Smrg#define GLU_TESS_ERROR_DATA                100109
224f220fa62Smrg#define GLU_TESS_EDGE_FLAG_DATA            100110
225f220fa62Smrg#define GLU_TESS_COMBINE_DATA              100111
226f220fa62Smrg
227f220fa62Smrg/* TessContour */
228f220fa62Smrg#define GLU_CW                             100120
229f220fa62Smrg#define GLU_CCW                            100121
230f220fa62Smrg#define GLU_INTERIOR                       100122
231f220fa62Smrg#define GLU_EXTERIOR                       100123
232f220fa62Smrg#define GLU_UNKNOWN                        100124
233f220fa62Smrg
234f220fa62Smrg/* TessProperty */
235f220fa62Smrg#define GLU_TESS_WINDING_RULE              100140
236f220fa62Smrg#define GLU_TESS_BOUNDARY_ONLY             100141
237f220fa62Smrg#define GLU_TESS_TOLERANCE                 100142
238f220fa62Smrg
239f220fa62Smrg/* TessError */
240f220fa62Smrg#define GLU_TESS_ERROR1                    100151
241f220fa62Smrg#define GLU_TESS_ERROR2                    100152
242f220fa62Smrg#define GLU_TESS_ERROR3                    100153
243f220fa62Smrg#define GLU_TESS_ERROR4                    100154
244f220fa62Smrg#define GLU_TESS_ERROR5                    100155
245f220fa62Smrg#define GLU_TESS_ERROR6                    100156
246f220fa62Smrg#define GLU_TESS_ERROR7                    100157
247f220fa62Smrg#define GLU_TESS_ERROR8                    100158
248f220fa62Smrg#define GLU_TESS_MISSING_BEGIN_POLYGON     100151
249f220fa62Smrg#define GLU_TESS_MISSING_BEGIN_CONTOUR     100152
250f220fa62Smrg#define GLU_TESS_MISSING_END_POLYGON       100153
251f220fa62Smrg#define GLU_TESS_MISSING_END_CONTOUR       100154
252f220fa62Smrg#define GLU_TESS_COORD_TOO_LARGE           100155
253f220fa62Smrg#define GLU_TESS_NEED_COMBINE_CALLBACK     100156
254f220fa62Smrg
255f220fa62Smrg/* TessWinding */
256f220fa62Smrg#define GLU_TESS_WINDING_ODD               100130
257f220fa62Smrg#define GLU_TESS_WINDING_NONZERO           100131
258f220fa62Smrg#define GLU_TESS_WINDING_POSITIVE          100132
259f220fa62Smrg#define GLU_TESS_WINDING_NEGATIVE          100133
260f220fa62Smrg#define GLU_TESS_WINDING_ABS_GEQ_TWO       100134
261f220fa62Smrg
262f220fa62Smrg/*************************************************************/
263f220fa62Smrg
264f220fa62Smrg
265f220fa62Smrg#ifdef __cplusplus
266f220fa62Smrgclass GLUnurbs;
267f220fa62Smrgclass GLUquadric;
268f220fa62Smrgclass GLUtesselator;
269f220fa62Smrg#else
270f220fa62Smrgtypedef struct GLUnurbs GLUnurbs;
271f220fa62Smrgtypedef struct GLUquadric GLUquadric;
272f220fa62Smrgtypedef struct GLUtesselator GLUtesselator;
273f220fa62Smrg#endif
274f220fa62Smrg
275f220fa62Smrgtypedef GLUnurbs GLUnurbsObj;
276f220fa62Smrgtypedef GLUquadric GLUquadricObj;
277f220fa62Smrgtypedef GLUtesselator GLUtesselatorObj;
278f220fa62Smrgtypedef GLUtesselator GLUtriangulatorObj;
279f220fa62Smrg
2801f0123a5Sbouyer/* GLdouble is double in gl.h */
2811f0123a5Sbouyer#include <float.h>	/* Not a good place to do that, but... */
2821f0123a5Sbouyer#if DBL_MAX_10_EXP < 40
2831f0123a5Sbouyer#define GLU_TESS_MAX_COORD 1e15
284b69beb7dSchristos#else
2851f0123a5Sbouyer#define GLU_TESS_MAX_COORD 1e150
286b69beb7dSchristos#endif
287f220fa62Smrg
288f220fa62Smrg/* Internal convenience typedefs */
289f220fa62Smrgtypedef void (GLAPIENTRYP _GLUfuncptr)(void);
290f220fa62Smrg
291f220fa62SmrgGLAPI void GLAPIENTRY gluBeginCurve (GLUnurbs* nurb);
292f220fa62SmrgGLAPI void GLAPIENTRY gluBeginPolygon (GLUtesselator* tess);
293f220fa62SmrgGLAPI void GLAPIENTRY gluBeginSurface (GLUnurbs* nurb);
294f220fa62SmrgGLAPI void GLAPIENTRY gluBeginTrim (GLUnurbs* nurb);
295f220fa62SmrgGLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
296f220fa62SmrgGLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
297f220fa62SmrgGLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
298f220fa62SmrgGLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
299f220fa62SmrgGLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
300f220fa62SmrgGLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
301f220fa62SmrgGLAPI GLboolean GLAPIENTRY gluCheckExtension (const GLubyte *extName, const GLubyte *extString);
302f220fa62SmrgGLAPI void GLAPIENTRY gluCylinder (GLUquadric* quad, GLdouble base, GLdouble top, GLdouble height, GLint slices, GLint stacks);
303f220fa62SmrgGLAPI void GLAPIENTRY gluDeleteNurbsRenderer (GLUnurbs* nurb);
304f220fa62SmrgGLAPI void GLAPIENTRY gluDeleteQuadric (GLUquadric* quad);
305f220fa62SmrgGLAPI void GLAPIENTRY gluDeleteTess (GLUtesselator* tess);
306f220fa62SmrgGLAPI void GLAPIENTRY gluDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops);
307f220fa62SmrgGLAPI void GLAPIENTRY gluEndCurve (GLUnurbs* nurb);
308f220fa62SmrgGLAPI void GLAPIENTRY gluEndPolygon (GLUtesselator* tess);
309f220fa62SmrgGLAPI void GLAPIENTRY gluEndSurface (GLUnurbs* nurb);
310f220fa62SmrgGLAPI void GLAPIENTRY gluEndTrim (GLUnurbs* nurb);
311f220fa62SmrgGLAPI const GLubyte * GLAPIENTRY gluErrorString (GLenum error);
312f220fa62SmrgGLAPI void GLAPIENTRY gluGetNurbsProperty (GLUnurbs* nurb, GLenum property, GLfloat* data);
313f220fa62SmrgGLAPI const GLubyte * GLAPIENTRY gluGetString (GLenum name);
314f220fa62SmrgGLAPI void GLAPIENTRY gluGetTessProperty (GLUtesselator* tess, GLenum which, GLdouble* data);
315f220fa62SmrgGLAPI void GLAPIENTRY gluLoadSamplingMatrices (GLUnurbs* nurb, const GLfloat *model, const GLfloat *perspective, const GLint *view);
316f220fa62SmrgGLAPI void GLAPIENTRY gluLookAt (GLdouble eyeX, GLdouble eyeY, GLdouble eyeZ, GLdouble centerX, GLdouble centerY, GLdouble centerZ, GLdouble upX, GLdouble upY, GLdouble upZ);
317f220fa62SmrgGLAPI GLUnurbs* GLAPIENTRY gluNewNurbsRenderer (void);
318f220fa62SmrgGLAPI GLUquadric* GLAPIENTRY gluNewQuadric (void);
319f220fa62SmrgGLAPI GLUtesselator* GLAPIENTRY gluNewTess (void);
320f220fa62SmrgGLAPI void GLAPIENTRY gluNextContour (GLUtesselator* tess, GLenum type);
321f220fa62SmrgGLAPI void GLAPIENTRY gluNurbsCallback (GLUnurbs* nurb, GLenum which, _GLUfuncptr CallBackFunc);
322f220fa62SmrgGLAPI void GLAPIENTRY gluNurbsCallbackData (GLUnurbs* nurb, GLvoid* userData);
323f220fa62SmrgGLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData);
324f220fa62SmrgGLAPI void GLAPIENTRY gluNurbsCurve (GLUnurbs* nurb, GLint knotCount, GLfloat *knots, GLint stride, GLfloat *control, GLint order, GLenum type);
325f220fa62SmrgGLAPI void GLAPIENTRY gluNurbsProperty (GLUnurbs* nurb, GLenum property, GLfloat value);
326f220fa62SmrgGLAPI void GLAPIENTRY gluNurbsSurface (GLUnurbs* nurb, GLint sKnotCount, GLfloat* sKnots, GLint tKnotCount, GLfloat* tKnots, GLint sStride, GLint tStride, GLfloat* control, GLint sOrder, GLint tOrder, GLenum type);
327f220fa62SmrgGLAPI void GLAPIENTRY gluOrtho2D (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top);
328f220fa62SmrgGLAPI void GLAPIENTRY gluPartialDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops, GLdouble start, GLdouble sweep);
329f220fa62SmrgGLAPI void GLAPIENTRY gluPerspective (GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar);
330f220fa62SmrgGLAPI void GLAPIENTRY gluPickMatrix (GLdouble x, GLdouble y, GLdouble delX, GLdouble delY, GLint *viewport);
331f220fa62SmrgGLAPI GLint GLAPIENTRY gluProject (GLdouble objX, GLdouble objY, GLdouble objZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* winX, GLdouble* winY, GLdouble* winZ);
332f220fa62SmrgGLAPI void GLAPIENTRY gluPwlCurve (GLUnurbs* nurb, GLint count, GLfloat* data, GLint stride, GLenum type);
333f220fa62SmrgGLAPI void GLAPIENTRY gluQuadricCallback (GLUquadric* quad, GLenum which, _GLUfuncptr CallBackFunc);
334f220fa62SmrgGLAPI void GLAPIENTRY gluQuadricDrawStyle (GLUquadric* quad, GLenum draw);
335f220fa62SmrgGLAPI void GLAPIENTRY gluQuadricNormals (GLUquadric* quad, GLenum normal);
336f220fa62SmrgGLAPI void GLAPIENTRY gluQuadricOrientation (GLUquadric* quad, GLenum orientation);
337f220fa62SmrgGLAPI void GLAPIENTRY gluQuadricTexture (GLUquadric* quad, GLboolean texture);
338f220fa62SmrgGLAPI GLint GLAPIENTRY gluScaleImage (GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void *dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid* dataOut);
339f220fa62SmrgGLAPI void GLAPIENTRY gluSphere (GLUquadric* quad, GLdouble radius, GLint slices, GLint stacks);
340f220fa62SmrgGLAPI void GLAPIENTRY gluTessBeginContour (GLUtesselator* tess);
341f220fa62SmrgGLAPI void GLAPIENTRY gluTessBeginPolygon (GLUtesselator* tess, GLvoid* data);
342f220fa62SmrgGLAPI void GLAPIENTRY gluTessCallback (GLUtesselator* tess, GLenum which, _GLUfuncptr CallBackFunc);
343f220fa62SmrgGLAPI void GLAPIENTRY gluTessEndContour (GLUtesselator* tess);
344f220fa62SmrgGLAPI void GLAPIENTRY gluTessEndPolygon (GLUtesselator* tess);
345f220fa62SmrgGLAPI void GLAPIENTRY gluTessNormal (GLUtesselator* tess, GLdouble valueX, GLdouble valueY, GLdouble valueZ);
346f220fa62SmrgGLAPI void GLAPIENTRY gluTessProperty (GLUtesselator* tess, GLenum which, GLdouble data);
347f220fa62SmrgGLAPI void GLAPIENTRY gluTessVertex (GLUtesselator* tess, GLdouble *location, GLvoid* data);
348f220fa62SmrgGLAPI GLint GLAPIENTRY gluUnProject (GLdouble winX, GLdouble winY, GLdouble winZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* objX, GLdouble* objY, GLdouble* objZ);
349f220fa62SmrgGLAPI GLint GLAPIENTRY gluUnProject4 (GLdouble winX, GLdouble winY, GLdouble winZ, GLdouble clipW, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble nearVal, GLdouble farVal, GLdouble* objX, GLdouble* objY, GLdouble* objZ, GLdouble* objW);
350f220fa62Smrg
351f220fa62Smrg#ifdef __cplusplus
352f220fa62Smrg}
353f220fa62Smrg#endif
354f220fa62Smrg
355f220fa62Smrg#endif /* __glu_h__ */
356