glu.h revision 1f0123a5
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#if defined(USE_MGL_NAMESPACE)
35f220fa62Smrg#include "glu_mangle.h"
36f220fa62Smrg#endif
37f220fa62Smrg
38f220fa62Smrg#include <GL/gl.h>
39f220fa62Smrg
40f220fa62Smrg#ifndef GLAPIENTRY
41f220fa62Smrg#if defined(_MSC_VER) || defined(__MINGW32__)
42f220fa62Smrg#define GLAPIENTRY __stdcall
43f220fa62Smrg#else
44f220fa62Smrg#define GLAPIENTRY
45f220fa62Smrg#endif
46f220fa62Smrg#endif
47f220fa62Smrg
48f220fa62Smrg#ifndef GLAPIENTRYP
49f220fa62Smrg#define GLAPIENTRYP GLAPIENTRY *
50f220fa62Smrg#endif
51f220fa62Smrg
52f220fa62Smrg#if (defined(_MSC_VER) || defined(__MINGW32__)) && defined(BUILD_GLU32)
53f220fa62Smrg# undef GLAPI
54f220fa62Smrg# define GLAPI __declspec(dllexport)
55f220fa62Smrg#elif (defined(_MSC_VER) || defined(__MINGW32__)) && defined(_DLL)
56f220fa62Smrg/* tag specifying we're building for DLL runtime support */
57f220fa62Smrg# undef GLAPI
58f220fa62Smrg# define GLAPI __declspec(dllimport)
59f220fa62Smrg#elif !defined(GLAPI)
60f220fa62Smrg/* for use with static link lib build of Win32 edition only */
61f220fa62Smrg# define GLAPI extern
62f220fa62Smrg#endif /* _STATIC_MESA support */
63f220fa62Smrg
64f220fa62Smrg#ifdef __cplusplus
65f220fa62Smrgextern "C" {
66f220fa62Smrg#endif
67f220fa62Smrg
68f220fa62Smrg/*************************************************************/
69f220fa62Smrg
70f220fa62Smrg/* Extensions */
71f220fa62Smrg#define GLU_EXT_object_space_tess          1
72f220fa62Smrg#define GLU_EXT_nurbs_tessellator          1
73f220fa62Smrg
74f220fa62Smrg/* Boolean */
75f220fa62Smrg#define GLU_FALSE                          0
76f220fa62Smrg#define GLU_TRUE                           1
77f220fa62Smrg
78f220fa62Smrg/* Version */
79f220fa62Smrg#define GLU_VERSION_1_1                    1
80f220fa62Smrg#define GLU_VERSION_1_2                    1
81f220fa62Smrg#define GLU_VERSION_1_3                    1
82f220fa62Smrg
83f220fa62Smrg/* StringName */
84f220fa62Smrg#define GLU_VERSION                        100800
85f220fa62Smrg#define GLU_EXTENSIONS                     100801
86f220fa62Smrg
87f220fa62Smrg/* ErrorCode */
88f220fa62Smrg#define GLU_INVALID_ENUM                   100900
89f220fa62Smrg#define GLU_INVALID_VALUE                  100901
90f220fa62Smrg#define GLU_OUT_OF_MEMORY                  100902
91f220fa62Smrg#define GLU_INCOMPATIBLE_GL_VERSION        100903
92f220fa62Smrg#define GLU_INVALID_OPERATION              100904
93f220fa62Smrg
94f220fa62Smrg/* NurbsDisplay */
95f220fa62Smrg/*      GLU_FILL */
96f220fa62Smrg#define GLU_OUTLINE_POLYGON                100240
97f220fa62Smrg#define GLU_OUTLINE_PATCH                  100241
98f220fa62Smrg
99f220fa62Smrg/* NurbsCallback */
100f220fa62Smrg#define GLU_NURBS_ERROR                    100103
101f220fa62Smrg#define GLU_ERROR                          100103
102f220fa62Smrg#define GLU_NURBS_BEGIN                    100164
103f220fa62Smrg#define GLU_NURBS_BEGIN_EXT                100164
104f220fa62Smrg#define GLU_NURBS_VERTEX                   100165
105f220fa62Smrg#define GLU_NURBS_VERTEX_EXT               100165
106f220fa62Smrg#define GLU_NURBS_NORMAL                   100166
107f220fa62Smrg#define GLU_NURBS_NORMAL_EXT               100166
108f220fa62Smrg#define GLU_NURBS_COLOR                    100167
109f220fa62Smrg#define GLU_NURBS_COLOR_EXT                100167
110f220fa62Smrg#define GLU_NURBS_TEXTURE_COORD            100168
111f220fa62Smrg#define GLU_NURBS_TEX_COORD_EXT            100168
112f220fa62Smrg#define GLU_NURBS_END                      100169
113f220fa62Smrg#define GLU_NURBS_END_EXT                  100169
114f220fa62Smrg#define GLU_NURBS_BEGIN_DATA               100170
115f220fa62Smrg#define GLU_NURBS_BEGIN_DATA_EXT           100170
116f220fa62Smrg#define GLU_NURBS_VERTEX_DATA              100171
117f220fa62Smrg#define GLU_NURBS_VERTEX_DATA_EXT          100171
118f220fa62Smrg#define GLU_NURBS_NORMAL_DATA              100172
119f220fa62Smrg#define GLU_NURBS_NORMAL_DATA_EXT          100172
120f220fa62Smrg#define GLU_NURBS_COLOR_DATA               100173
121f220fa62Smrg#define GLU_NURBS_COLOR_DATA_EXT           100173
122f220fa62Smrg#define GLU_NURBS_TEXTURE_COORD_DATA       100174
123f220fa62Smrg#define GLU_NURBS_TEX_COORD_DATA_EXT       100174
124f220fa62Smrg#define GLU_NURBS_END_DATA                 100175
125f220fa62Smrg#define GLU_NURBS_END_DATA_EXT             100175
126f220fa62Smrg
127f220fa62Smrg/* NurbsError */
128f220fa62Smrg#define GLU_NURBS_ERROR1                   100251
129f220fa62Smrg#define GLU_NURBS_ERROR2                   100252
130f220fa62Smrg#define GLU_NURBS_ERROR3                   100253
131f220fa62Smrg#define GLU_NURBS_ERROR4                   100254
132f220fa62Smrg#define GLU_NURBS_ERROR5                   100255
133f220fa62Smrg#define GLU_NURBS_ERROR6                   100256
134f220fa62Smrg#define GLU_NURBS_ERROR7                   100257
135f220fa62Smrg#define GLU_NURBS_ERROR8                   100258
136f220fa62Smrg#define GLU_NURBS_ERROR9                   100259
137f220fa62Smrg#define GLU_NURBS_ERROR10                  100260
138f220fa62Smrg#define GLU_NURBS_ERROR11                  100261
139f220fa62Smrg#define GLU_NURBS_ERROR12                  100262
140f220fa62Smrg#define GLU_NURBS_ERROR13                  100263
141f220fa62Smrg#define GLU_NURBS_ERROR14                  100264
142f220fa62Smrg#define GLU_NURBS_ERROR15                  100265
143f220fa62Smrg#define GLU_NURBS_ERROR16                  100266
144f220fa62Smrg#define GLU_NURBS_ERROR17                  100267
145f220fa62Smrg#define GLU_NURBS_ERROR18                  100268
146f220fa62Smrg#define GLU_NURBS_ERROR19                  100269
147f220fa62Smrg#define GLU_NURBS_ERROR20                  100270
148f220fa62Smrg#define GLU_NURBS_ERROR21                  100271
149f220fa62Smrg#define GLU_NURBS_ERROR22                  100272
150f220fa62Smrg#define GLU_NURBS_ERROR23                  100273
151f220fa62Smrg#define GLU_NURBS_ERROR24                  100274
152f220fa62Smrg#define GLU_NURBS_ERROR25                  100275
153f220fa62Smrg#define GLU_NURBS_ERROR26                  100276
154f220fa62Smrg#define GLU_NURBS_ERROR27                  100277
155f220fa62Smrg#define GLU_NURBS_ERROR28                  100278
156f220fa62Smrg#define GLU_NURBS_ERROR29                  100279
157f220fa62Smrg#define GLU_NURBS_ERROR30                  100280
158f220fa62Smrg#define GLU_NURBS_ERROR31                  100281
159f220fa62Smrg#define GLU_NURBS_ERROR32                  100282
160f220fa62Smrg#define GLU_NURBS_ERROR33                  100283
161f220fa62Smrg#define GLU_NURBS_ERROR34                  100284
162f220fa62Smrg#define GLU_NURBS_ERROR35                  100285
163f220fa62Smrg#define GLU_NURBS_ERROR36                  100286
164f220fa62Smrg#define GLU_NURBS_ERROR37                  100287
165f220fa62Smrg
166f220fa62Smrg/* NurbsProperty */
167f220fa62Smrg#define GLU_AUTO_LOAD_MATRIX               100200
168f220fa62Smrg#define GLU_CULLING                        100201
169f220fa62Smrg#define GLU_SAMPLING_TOLERANCE             100203
170f220fa62Smrg#define GLU_DISPLAY_MODE                   100204
171f220fa62Smrg#define GLU_PARAMETRIC_TOLERANCE           100202
172f220fa62Smrg#define GLU_SAMPLING_METHOD                100205
173f220fa62Smrg#define GLU_U_STEP                         100206
174f220fa62Smrg#define GLU_V_STEP                         100207
175f220fa62Smrg#define GLU_NURBS_MODE                     100160
176f220fa62Smrg#define GLU_NURBS_MODE_EXT                 100160
177f220fa62Smrg#define GLU_NURBS_TESSELLATOR              100161
178f220fa62Smrg#define GLU_NURBS_TESSELLATOR_EXT          100161
179f220fa62Smrg#define GLU_NURBS_RENDERER                 100162
180f220fa62Smrg#define GLU_NURBS_RENDERER_EXT             100162
181f220fa62Smrg
182f220fa62Smrg/* NurbsSampling */
183f220fa62Smrg#define GLU_OBJECT_PARAMETRIC_ERROR        100208
184f220fa62Smrg#define GLU_OBJECT_PARAMETRIC_ERROR_EXT    100208
185f220fa62Smrg#define GLU_OBJECT_PATH_LENGTH             100209
186f220fa62Smrg#define GLU_OBJECT_PATH_LENGTH_EXT         100209
187f220fa62Smrg#define GLU_PATH_LENGTH                    100215
188f220fa62Smrg#define GLU_PARAMETRIC_ERROR               100216
189f220fa62Smrg#define GLU_DOMAIN_DISTANCE                100217
190f220fa62Smrg
191f220fa62Smrg/* NurbsTrim */
192f220fa62Smrg#define GLU_MAP1_TRIM_2                    100210
193f220fa62Smrg#define GLU_MAP1_TRIM_3                    100211
194f220fa62Smrg
195f220fa62Smrg/* QuadricDrawStyle */
196f220fa62Smrg#define GLU_POINT                          100010
197f220fa62Smrg#define GLU_LINE                           100011
198f220fa62Smrg#define GLU_FILL                           100012
199f220fa62Smrg#define GLU_SILHOUETTE                     100013
200f220fa62Smrg
201f220fa62Smrg/* QuadricCallback */
202f220fa62Smrg/*      GLU_ERROR */
203f220fa62Smrg
204f220fa62Smrg/* QuadricNormal */
205f220fa62Smrg#define GLU_SMOOTH                         100000
206f220fa62Smrg#define GLU_FLAT                           100001
207f220fa62Smrg#define GLU_NONE                           100002
208f220fa62Smrg
209f220fa62Smrg/* QuadricOrientation */
210f220fa62Smrg#define GLU_OUTSIDE                        100020
211f220fa62Smrg#define GLU_INSIDE                         100021
212f220fa62Smrg
213f220fa62Smrg/* TessCallback */
214f220fa62Smrg#define GLU_TESS_BEGIN                     100100
215f220fa62Smrg#define GLU_BEGIN                          100100
216f220fa62Smrg#define GLU_TESS_VERTEX                    100101
217f220fa62Smrg#define GLU_VERTEX                         100101
218f220fa62Smrg#define GLU_TESS_END                       100102
219f220fa62Smrg#define GLU_END                            100102
220f220fa62Smrg#define GLU_TESS_ERROR                     100103
221f220fa62Smrg#define GLU_TESS_EDGE_FLAG                 100104
222f220fa62Smrg#define GLU_EDGE_FLAG                      100104
223f220fa62Smrg#define GLU_TESS_COMBINE                   100105
224f220fa62Smrg#define GLU_TESS_BEGIN_DATA                100106
225f220fa62Smrg#define GLU_TESS_VERTEX_DATA               100107
226f220fa62Smrg#define GLU_TESS_END_DATA                  100108
227f220fa62Smrg#define GLU_TESS_ERROR_DATA                100109
228f220fa62Smrg#define GLU_TESS_EDGE_FLAG_DATA            100110
229f220fa62Smrg#define GLU_TESS_COMBINE_DATA              100111
230f220fa62Smrg
231f220fa62Smrg/* TessContour */
232f220fa62Smrg#define GLU_CW                             100120
233f220fa62Smrg#define GLU_CCW                            100121
234f220fa62Smrg#define GLU_INTERIOR                       100122
235f220fa62Smrg#define GLU_EXTERIOR                       100123
236f220fa62Smrg#define GLU_UNKNOWN                        100124
237f220fa62Smrg
238f220fa62Smrg/* TessProperty */
239f220fa62Smrg#define GLU_TESS_WINDING_RULE              100140
240f220fa62Smrg#define GLU_TESS_BOUNDARY_ONLY             100141
241f220fa62Smrg#define GLU_TESS_TOLERANCE                 100142
242f220fa62Smrg
243f220fa62Smrg/* TessError */
244f220fa62Smrg#define GLU_TESS_ERROR1                    100151
245f220fa62Smrg#define GLU_TESS_ERROR2                    100152
246f220fa62Smrg#define GLU_TESS_ERROR3                    100153
247f220fa62Smrg#define GLU_TESS_ERROR4                    100154
248f220fa62Smrg#define GLU_TESS_ERROR5                    100155
249f220fa62Smrg#define GLU_TESS_ERROR6                    100156
250f220fa62Smrg#define GLU_TESS_ERROR7                    100157
251f220fa62Smrg#define GLU_TESS_ERROR8                    100158
252f220fa62Smrg#define GLU_TESS_MISSING_BEGIN_POLYGON     100151
253f220fa62Smrg#define GLU_TESS_MISSING_BEGIN_CONTOUR     100152
254f220fa62Smrg#define GLU_TESS_MISSING_END_POLYGON       100153
255f220fa62Smrg#define GLU_TESS_MISSING_END_CONTOUR       100154
256f220fa62Smrg#define GLU_TESS_COORD_TOO_LARGE           100155
257f220fa62Smrg#define GLU_TESS_NEED_COMBINE_CALLBACK     100156
258f220fa62Smrg
259f220fa62Smrg/* TessWinding */
260f220fa62Smrg#define GLU_TESS_WINDING_ODD               100130
261f220fa62Smrg#define GLU_TESS_WINDING_NONZERO           100131
262f220fa62Smrg#define GLU_TESS_WINDING_POSITIVE          100132
263f220fa62Smrg#define GLU_TESS_WINDING_NEGATIVE          100133
264f220fa62Smrg#define GLU_TESS_WINDING_ABS_GEQ_TWO       100134
265f220fa62Smrg
266f220fa62Smrg/*************************************************************/
267f220fa62Smrg
268f220fa62Smrg
269f220fa62Smrg#ifdef __cplusplus
270f220fa62Smrgclass GLUnurbs;
271f220fa62Smrgclass GLUquadric;
272f220fa62Smrgclass GLUtesselator;
273f220fa62Smrg#else
274f220fa62Smrgtypedef struct GLUnurbs GLUnurbs;
275f220fa62Smrgtypedef struct GLUquadric GLUquadric;
276f220fa62Smrgtypedef struct GLUtesselator GLUtesselator;
277f220fa62Smrg#endif
278f220fa62Smrg
279f220fa62Smrgtypedef GLUnurbs GLUnurbsObj;
280f220fa62Smrgtypedef GLUquadric GLUquadricObj;
281f220fa62Smrgtypedef GLUtesselator GLUtesselatorObj;
282f220fa62Smrgtypedef GLUtesselator GLUtriangulatorObj;
283f220fa62Smrg
2841f0123a5Sbouyer/* GLdouble is double in gl.h */
2851f0123a5Sbouyer#include <float.h>	/* Not a good place to do that, but... */
2861f0123a5Sbouyer#if DBL_MAX_10_EXP < 40
2871f0123a5Sbouyer#define GLU_TESS_MAX_COORD 1e15
288b69beb7dSchristos#else
2891f0123a5Sbouyer#define GLU_TESS_MAX_COORD 1e150
290b69beb7dSchristos#endif
291f220fa62Smrg
292f220fa62Smrg/* Internal convenience typedefs */
293f220fa62Smrgtypedef void (GLAPIENTRYP _GLUfuncptr)(void);
294f220fa62Smrg
295f220fa62SmrgGLAPI void GLAPIENTRY gluBeginCurve (GLUnurbs* nurb);
296f220fa62SmrgGLAPI void GLAPIENTRY gluBeginPolygon (GLUtesselator* tess);
297f220fa62SmrgGLAPI void GLAPIENTRY gluBeginSurface (GLUnurbs* nurb);
298f220fa62SmrgGLAPI void GLAPIENTRY gluBeginTrim (GLUnurbs* nurb);
299f220fa62SmrgGLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
300f220fa62SmrgGLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
301f220fa62SmrgGLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
302f220fa62SmrgGLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
303f220fa62SmrgGLAPI 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);
304f220fa62SmrgGLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
305f220fa62SmrgGLAPI GLboolean GLAPIENTRY gluCheckExtension (const GLubyte *extName, const GLubyte *extString);
306f220fa62SmrgGLAPI void GLAPIENTRY gluCylinder (GLUquadric* quad, GLdouble base, GLdouble top, GLdouble height, GLint slices, GLint stacks);
307f220fa62SmrgGLAPI void GLAPIENTRY gluDeleteNurbsRenderer (GLUnurbs* nurb);
308f220fa62SmrgGLAPI void GLAPIENTRY gluDeleteQuadric (GLUquadric* quad);
309f220fa62SmrgGLAPI void GLAPIENTRY gluDeleteTess (GLUtesselator* tess);
310f220fa62SmrgGLAPI void GLAPIENTRY gluDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops);
311f220fa62SmrgGLAPI void GLAPIENTRY gluEndCurve (GLUnurbs* nurb);
312f220fa62SmrgGLAPI void GLAPIENTRY gluEndPolygon (GLUtesselator* tess);
313f220fa62SmrgGLAPI void GLAPIENTRY gluEndSurface (GLUnurbs* nurb);
314f220fa62SmrgGLAPI void GLAPIENTRY gluEndTrim (GLUnurbs* nurb);
315f220fa62SmrgGLAPI const GLubyte * GLAPIENTRY gluErrorString (GLenum error);
316f220fa62SmrgGLAPI void GLAPIENTRY gluGetNurbsProperty (GLUnurbs* nurb, GLenum property, GLfloat* data);
317f220fa62SmrgGLAPI const GLubyte * GLAPIENTRY gluGetString (GLenum name);
318f220fa62SmrgGLAPI void GLAPIENTRY gluGetTessProperty (GLUtesselator* tess, GLenum which, GLdouble* data);
319f220fa62SmrgGLAPI void GLAPIENTRY gluLoadSamplingMatrices (GLUnurbs* nurb, const GLfloat *model, const GLfloat *perspective, const GLint *view);
320f220fa62SmrgGLAPI void GLAPIENTRY gluLookAt (GLdouble eyeX, GLdouble eyeY, GLdouble eyeZ, GLdouble centerX, GLdouble centerY, GLdouble centerZ, GLdouble upX, GLdouble upY, GLdouble upZ);
321f220fa62SmrgGLAPI GLUnurbs* GLAPIENTRY gluNewNurbsRenderer (void);
322f220fa62SmrgGLAPI GLUquadric* GLAPIENTRY gluNewQuadric (void);
323f220fa62SmrgGLAPI GLUtesselator* GLAPIENTRY gluNewTess (void);
324f220fa62SmrgGLAPI void GLAPIENTRY gluNextContour (GLUtesselator* tess, GLenum type);
325f220fa62SmrgGLAPI void GLAPIENTRY gluNurbsCallback (GLUnurbs* nurb, GLenum which, _GLUfuncptr CallBackFunc);
326f220fa62SmrgGLAPI void GLAPIENTRY gluNurbsCallbackData (GLUnurbs* nurb, GLvoid* userData);
327f220fa62SmrgGLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData);
328f220fa62SmrgGLAPI void GLAPIENTRY gluNurbsCurve (GLUnurbs* nurb, GLint knotCount, GLfloat *knots, GLint stride, GLfloat *control, GLint order, GLenum type);
329f220fa62SmrgGLAPI void GLAPIENTRY gluNurbsProperty (GLUnurbs* nurb, GLenum property, GLfloat value);
330f220fa62SmrgGLAPI 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);
331f220fa62SmrgGLAPI void GLAPIENTRY gluOrtho2D (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top);
332f220fa62SmrgGLAPI void GLAPIENTRY gluPartialDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops, GLdouble start, GLdouble sweep);
333f220fa62SmrgGLAPI void GLAPIENTRY gluPerspective (GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar);
334f220fa62SmrgGLAPI void GLAPIENTRY gluPickMatrix (GLdouble x, GLdouble y, GLdouble delX, GLdouble delY, GLint *viewport);
335f220fa62SmrgGLAPI GLint GLAPIENTRY gluProject (GLdouble objX, GLdouble objY, GLdouble objZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* winX, GLdouble* winY, GLdouble* winZ);
336f220fa62SmrgGLAPI void GLAPIENTRY gluPwlCurve (GLUnurbs* nurb, GLint count, GLfloat* data, GLint stride, GLenum type);
337f220fa62SmrgGLAPI void GLAPIENTRY gluQuadricCallback (GLUquadric* quad, GLenum which, _GLUfuncptr CallBackFunc);
338f220fa62SmrgGLAPI void GLAPIENTRY gluQuadricDrawStyle (GLUquadric* quad, GLenum draw);
339f220fa62SmrgGLAPI void GLAPIENTRY gluQuadricNormals (GLUquadric* quad, GLenum normal);
340f220fa62SmrgGLAPI void GLAPIENTRY gluQuadricOrientation (GLUquadric* quad, GLenum orientation);
341f220fa62SmrgGLAPI void GLAPIENTRY gluQuadricTexture (GLUquadric* quad, GLboolean texture);
342f220fa62SmrgGLAPI GLint GLAPIENTRY gluScaleImage (GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void *dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid* dataOut);
343f220fa62SmrgGLAPI void GLAPIENTRY gluSphere (GLUquadric* quad, GLdouble radius, GLint slices, GLint stacks);
344f220fa62SmrgGLAPI void GLAPIENTRY gluTessBeginContour (GLUtesselator* tess);
345f220fa62SmrgGLAPI void GLAPIENTRY gluTessBeginPolygon (GLUtesselator* tess, GLvoid* data);
346f220fa62SmrgGLAPI void GLAPIENTRY gluTessCallback (GLUtesselator* tess, GLenum which, _GLUfuncptr CallBackFunc);
347f220fa62SmrgGLAPI void GLAPIENTRY gluTessEndContour (GLUtesselator* tess);
348f220fa62SmrgGLAPI void GLAPIENTRY gluTessEndPolygon (GLUtesselator* tess);
349f220fa62SmrgGLAPI void GLAPIENTRY gluTessNormal (GLUtesselator* tess, GLdouble valueX, GLdouble valueY, GLdouble valueZ);
350f220fa62SmrgGLAPI void GLAPIENTRY gluTessProperty (GLUtesselator* tess, GLenum which, GLdouble data);
351f220fa62SmrgGLAPI void GLAPIENTRY gluTessVertex (GLUtesselator* tess, GLdouble *location, GLvoid* data);
352f220fa62SmrgGLAPI GLint GLAPIENTRY gluUnProject (GLdouble winX, GLdouble winY, GLdouble winZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* objX, GLdouble* objY, GLdouble* objZ);
353f220fa62SmrgGLAPI 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);
354f220fa62Smrg
355f220fa62Smrg#ifdef __cplusplus
356f220fa62Smrg}
357f220fa62Smrg#endif
358f220fa62Smrg
359f220fa62Smrg#endif /* __glu_h__ */
360