| 1 | /* | 
 
 
 
 
 | 2 | ** License Applicability. Except to the extent portions of this file are | 
 
 
 
 
 | 3 | ** made subject to an alternative license as permitted in the SGI Free | 
 
 
 
 
 | 4 | ** Software License B, Version 1.1 (the "License"), the contents of this | 
 
 
 
 
 | 5 | ** file are subject only to the provisions of the License. You may not use | 
 
 
 
 
 | 6 | ** this file except in compliance with the License. You may obtain a copy | 
 
 
 
 
 | 7 | ** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 | 
 
 
 
 
 | 8 | ** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: | 
 
 
 
 
 | 9 | ** | 
 
 
 
 
 | 10 | ** http://oss.sgi.com/projects/FreeB | 
 
 
 
 
 | 11 | ** | 
 
 
 
 
 | 12 | ** Note that, as provided in the License, the Software is distributed on an | 
 
 
 
 
 | 13 | ** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS | 
 
 
 
 
 | 14 | ** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND | 
 
 
 
 
 | 15 | ** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A | 
 
 
 
 
 | 16 | ** PARTICULAR PURPOSE, AND NON-INFRINGEMENT. | 
 
 
 
 
 | 17 | ** | 
 
 
 
 
 | 18 | ** Original Code. The Original Code is: OpenGL Sample Implementation, | 
 
 
 
 
 | 19 | ** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, | 
 
 
 
 
 | 20 | ** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc. | 
 
 
 
 
 | 21 | ** Copyright in any portions created by third parties is as indicated | 
 
 
 
 
 | 22 | ** elsewhere herein. All Rights Reserved. | 
 
 
 
 
 | 23 | ** | 
 
 
 
 
 | 24 | ** Additional Notice Provisions: This software was created using the | 
 
 
 
 
 | 25 | ** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has | 
 
 
 
 
 | 26 | ** not been independently verified as being compliant with the OpenGL(R) | 
 
 
 
 
 | 27 | ** version 1.2.1 Specification. | 
 
 
 
 
 | 28 | */ | 
 
 
 
 
 | 29 |  | 
 
 
 
 
 | 30 | #ifndef __glu_h__ | 
 
 
 
 
 | 31 | #define __glu_h__ | 
 
 
 
 
 | 32 | #define _GLU_H | 
 
 
 
 
 | 33 | #if __GNUC__ >= 3 | 
 
 
 
 
 | 34 | #pragma GCC system_header | 
 
 
 
 
 | 35 | #endif | 
 
 
 
 
 | 36 |  | 
 
 
 
 
 | 37 | #include <stddef.h> /* for wchar_t */ | 
 
 
 
 
 | 38 | #include <GL/gl.h> | 
 
 
 
 
 | 39 |  | 
 
 
 
 
 | 40 | #ifdef __cplusplus | 
 
 
 
 
 | 41 | extern "C" { | 
 
 
 
 
 | 42 | #endif | 
 
 
 
 
 | 43 |  | 
 
 
 
 
 | 44 | /*************************************************************/ | 
 
 
 
 
 | 45 |  | 
 
 
 
 
 | 46 | /* Boolean */ | 
 
 
 
 
 | 47 | #define GLU_FALSE                          0 | 
 
 
 
 
 | 48 | #define GLU_TRUE                           1 | 
 
 
 
 
 | 49 |  | 
 
 
 
 
 | 50 | /* Version */ | 
 
 
 
 
 | 51 | #define GLU_VERSION_1_1                    1 | 
 
 
 
 
 | 52 | #define GLU_VERSION_1_2                    1 | 
 
 
 
 
 | 53 |  | 
 
 
 
 
 | 54 | /* StringName */ | 
 
 
 
 
 | 55 | #define GLU_VERSION                        100800 | 
 
 
 
 
 | 56 | #define GLU_EXTENSIONS                     100801 | 
 
 
 
 
 | 57 |  | 
 
 
 
 
 | 58 | /* ErrorCode */ | 
 
 
 
 
 | 59 | #define GLU_INVALID_ENUM                   100900 | 
 
 
 
 
 | 60 | #define GLU_INVALID_VALUE                  100901 | 
 
 
 
 
 | 61 | #define GLU_OUT_OF_MEMORY                  100902 | 
 
 
 
 
 | 62 | #define GLU_INVALID_OPERATION              100904 | 
 
 
 
 
 | 63 |  | 
 
 
 
 
 | 64 | /* NurbsDisplay */ | 
 
 
 
 
 | 65 | /*      GLU_FILL */ | 
 
 
 
 
 | 66 | #define GLU_OUTLINE_POLYGON                100240 | 
 
 
 
 
 | 67 | #define GLU_OUTLINE_PATCH                  100241 | 
 
 
 
 
 | 68 |  | 
 
 
 
 
 | 69 | /* NurbsError */ | 
 
 
 
 
 | 70 | #define GLU_NURBS_ERROR1                   100251 | 
 
 
 
 
 | 71 | #define GLU_NURBS_ERROR2                   100252 | 
 
 
 
 
 | 72 | #define GLU_NURBS_ERROR3                   100253 | 
 
 
 
 
 | 73 | #define GLU_NURBS_ERROR4                   100254 | 
 
 
 
 
 | 74 | #define GLU_NURBS_ERROR5                   100255 | 
 
 
 
 
 | 75 | #define GLU_NURBS_ERROR6                   100256 | 
 
 
 
 
 | 76 | #define GLU_NURBS_ERROR7                   100257 | 
 
 
 
 
 | 77 | #define GLU_NURBS_ERROR8                   100258 | 
 
 
 
 
 | 78 | #define GLU_NURBS_ERROR9                   100259 | 
 
 
 
 
 | 79 | #define GLU_NURBS_ERROR10                  100260 | 
 
 
 
 
 | 80 | #define GLU_NURBS_ERROR11                  100261 | 
 
 
 
 
 | 81 | #define GLU_NURBS_ERROR12                  100262 | 
 
 
 
 
 | 82 | #define GLU_NURBS_ERROR13                  100263 | 
 
 
 
 
 | 83 | #define GLU_NURBS_ERROR14                  100264 | 
 
 
 
 
 | 84 | #define GLU_NURBS_ERROR15                  100265 | 
 
 
 
 
 | 85 | #define GLU_NURBS_ERROR16                  100266 | 
 
 
 
 
 | 86 | #define GLU_NURBS_ERROR17                  100267 | 
 
 
 
 
 | 87 | #define GLU_NURBS_ERROR18                  100268 | 
 
 
 
 
 | 88 | #define GLU_NURBS_ERROR19                  100269 | 
 
 
 
 
 | 89 | #define GLU_NURBS_ERROR20                  100270 | 
 
 
 
 
 | 90 | #define GLU_NURBS_ERROR21                  100271 | 
 
 
 
 
 | 91 | #define GLU_NURBS_ERROR22                  100272 | 
 
 
 
 
 | 92 | #define GLU_NURBS_ERROR23                  100273 | 
 
 
 
 
 | 93 | #define GLU_NURBS_ERROR24                  100274 | 
 
 
 
 
 | 94 | #define GLU_NURBS_ERROR25                  100275 | 
 
 
 
 
 | 95 | #define GLU_NURBS_ERROR26                  100276 | 
 
 
 
 
 | 96 | #define GLU_NURBS_ERROR27                  100277 | 
 
 
 
 
 | 97 | #define GLU_NURBS_ERROR28                  100278 | 
 
 
 
 
 | 98 | #define GLU_NURBS_ERROR29                  100279 | 
 
 
 
 
 | 99 | #define GLU_NURBS_ERROR30                  100280 | 
 
 
 
 
 | 100 | #define GLU_NURBS_ERROR31                  100281 | 
 
 
 
 
 | 101 | #define GLU_NURBS_ERROR32                  100282 | 
 
 
 
 
 | 102 | #define GLU_NURBS_ERROR33                  100283 | 
 
 
 
 
 | 103 | #define GLU_NURBS_ERROR34                  100284 | 
 
 
 
 
 | 104 | #define GLU_NURBS_ERROR35                  100285 | 
 
 
 
 
 | 105 | #define GLU_NURBS_ERROR36                  100286 | 
 
 
 
 
 | 106 | #define GLU_NURBS_ERROR37                  100287 | 
 
 
 
 
 | 107 |  | 
 
 
 
 
 | 108 | /* NurbsProperty */ | 
 
 
 
 
 | 109 | #define GLU_AUTO_LOAD_MATRIX               100200 | 
 
 
 
 
 | 110 | #define GLU_CULLING                        100201 | 
 
 
 
 
 | 111 | #define GLU_SAMPLING_TOLERANCE             100203 | 
 
 
 
 
 | 112 | #define GLU_DISPLAY_MODE                   100204 | 
 
 
 
 
 | 113 | #define GLU_PARAMETRIC_TOLERANCE           100202 | 
 
 
 
 
 | 114 | #define GLU_SAMPLING_METHOD                100205 | 
 
 
 
 
 | 115 | #define GLU_U_STEP                         100206 | 
 
 
 
 
 | 116 | #define GLU_V_STEP                         100207 | 
 
 
 
 
 | 117 |  | 
 
 
 
 
 | 118 | /* NurbsSampling */ | 
 
 
 
 
 | 119 | #define GLU_PATH_LENGTH                    100215 | 
 
 
 
 
 | 120 | #define GLU_PARAMETRIC_ERROR               100216 | 
 
 
 
 
 | 121 | #define GLU_DOMAIN_DISTANCE                100217 | 
 
 
 
 
 | 122 |  | 
 
 
 
 
 | 123 | /* NurbsTrim */ | 
 
 
 
 
 | 124 | #define GLU_MAP1_TRIM_2                    100210 | 
 
 
 
 
 | 125 | #define GLU_MAP1_TRIM_3                    100211 | 
 
 
 
 
 | 126 |  | 
 
 
 
 
 | 127 | /* QuadricDrawStyle */ | 
 
 
 
 
 | 128 | #define GLU_POINT                          100010 | 
 
 
 
 
 | 129 | #define GLU_LINE                           100011 | 
 
 
 
 
 | 130 | #define GLU_FILL                           100012 | 
 
 
 
 
 | 131 | #define GLU_SILHOUETTE                     100013 | 
 
 
 
 
 | 132 |  | 
 
 
 
 
 | 133 | /* QuadricCallback */ | 
 
 
 
 
 | 134 | #define GLU_ERROR                          100103 | 
 
 
 
 
 | 135 |  | 
 
 
 
 
 | 136 | /* QuadricNormal */ | 
 
 
 
 
 | 137 | #define GLU_SMOOTH                         100000 | 
 
 
 
 
 | 138 | #define GLU_FLAT                           100001 | 
 
 
 
 
 | 139 | #define GLU_NONE                           100002 | 
 
 
 
 
 | 140 |  | 
 
 
 
 
 | 141 | /* QuadricOrientation */ | 
 
 
 
 
 | 142 | #define GLU_OUTSIDE                        100020 | 
 
 
 
 
 | 143 | #define GLU_INSIDE                         100021 | 
 
 
 
 
 | 144 |  | 
 
 
 
 
 | 145 | /* TessCallback */ | 
 
 
 
 
 | 146 | #define GLU_TESS_BEGIN                     100100 | 
 
 
 
 
 | 147 | #define GLU_BEGIN                          100100 | 
 
 
 
 
 | 148 | #define GLU_TESS_VERTEX                    100101 | 
 
 
 
 
 | 149 | #define GLU_VERTEX                         100101 | 
 
 
 
 
 | 150 | #define GLU_TESS_END                       100102 | 
 
 
 
 
 | 151 | #define GLU_END                            100102 | 
 
 
 
 
 | 152 | #define GLU_TESS_ERROR                     100103 | 
 
 
 
 
 | 153 | #define GLU_TESS_EDGE_FLAG                 100104 | 
 
 
 
 
 | 154 | #define GLU_EDGE_FLAG                      100104 | 
 
 
 
 
 | 155 | #define GLU_TESS_COMBINE                   100105 | 
 
 
 
 
 | 156 | #define GLU_TESS_BEGIN_DATA                100106 | 
 
 
 
 
 | 157 | #define GLU_TESS_VERTEX_DATA               100107 | 
 
 
 
 
 | 158 | #define GLU_TESS_END_DATA                  100108 | 
 
 
 
 
 | 159 | #define GLU_TESS_ERROR_DATA                100109 | 
 
 
 
 
 | 160 | #define GLU_TESS_EDGE_FLAG_DATA            100110 | 
 
 
 
 
 | 161 | #define GLU_TESS_COMBINE_DATA              100111 | 
 
 
 
 
 | 162 |  | 
 
 
 
 
 | 163 | /* TessContour */ | 
 
 
 
 
 | 164 | #define GLU_CW                             100120 | 
 
 
 
 
 | 165 | #define GLU_CCW                            100121 | 
 
 
 
 
 | 166 | #define GLU_INTERIOR                       100122 | 
 
 
 
 
 | 167 | #define GLU_EXTERIOR                       100123 | 
 
 
 
 
 | 168 | #define GLU_UNKNOWN                        100124 | 
 
 
 
 
 | 169 |  | 
 
 
 
 
 | 170 | /* TessProperty */ | 
 
 
 
 
 | 171 | #define GLU_TESS_WINDING_RULE              100140 | 
 
 
 
 
 | 172 | #define GLU_TESS_BOUNDARY_ONLY             100141 | 
 
 
 
 
 | 173 | #define GLU_TESS_TOLERANCE                 100142 | 
 
 
 
 
 | 174 |  | 
 
 
 
 
 | 175 | /* TessError */ | 
 
 
 
 
 | 176 | #define GLU_TESS_ERROR1                    100151 | 
 
 
 
 
 | 177 | #define GLU_TESS_ERROR2                    100152 | 
 
 
 
 
 | 178 | #define GLU_TESS_ERROR3                    100153 | 
 
 
 
 
 | 179 | #define GLU_TESS_ERROR4                    100154 | 
 
 
 
 
 | 180 | #define GLU_TESS_ERROR5                    100155 | 
 
 
 
 
 | 181 | #define GLU_TESS_ERROR6                    100156 | 
 
 
 
 
 | 182 | #define GLU_TESS_ERROR7                    100157 | 
 
 
 
 
 | 183 | #define GLU_TESS_ERROR8                    100158 | 
 
 
 
 
 | 184 | #define GLU_TESS_MISSING_BEGIN_POLYGON     100151 | 
 
 
 
 
 | 185 | #define GLU_TESS_MISSING_BEGIN_CONTOUR     100152 | 
 
 
 
 
 | 186 | #define GLU_TESS_MISSING_END_POLYGON       100153 | 
 
 
 
 
 | 187 | #define GLU_TESS_MISSING_END_CONTOUR       100154 | 
 
 
 
 
 | 188 | #define GLU_TESS_COORD_TOO_LARGE           100155 | 
 
 
 
 
 | 189 | #define GLU_TESS_NEED_COMBINE_CALLBACK     100156 | 
 
 
 
 
 | 190 |  | 
 
 
 
 
 | 191 | /* TessWinding */ | 
 
 
 
 
 | 192 | #define GLU_TESS_WINDING_ODD               100130 | 
 
 
 
 
 | 193 | #define GLU_TESS_WINDING_NONZERO           100131 | 
 
 
 
 
 | 194 | #define GLU_TESS_WINDING_POSITIVE          100132 | 
 
 
 
 
 | 195 | #define GLU_TESS_WINDING_NEGATIVE          100133 | 
 
 
 
 
 | 196 | #define GLU_TESS_WINDING_ABS_GEQ_TWO       100134 | 
 
 
 
 
 | 197 |  | 
 
 
 
 
 | 198 | /* Obsolete. For compatibility with previous Sun OpenGL versions */ | 
 
 
 
 
 | 199 | #define GLU_INCOMPATIBLE_GL_VERSION        100903 | 
 
 
 
 
 | 200 |  | 
 
 
 
 
 | 201 |  | 
 
 
 
 
 | 202 | /*************************************************************/ | 
 
 
 
 
 | 203 |  | 
 
 
 
 
 | 204 |  | 
 
 
 
 
 | 205 | #ifdef __cplusplus | 
 
 
 
 
 | 206 | class GLUnurbs; | 
 
 
 
 
 | 207 | class GLUquadric; | 
 
 
 
 
 | 208 | class GLUtesselator; | 
 
 
 
 
 | 209 | #else | 
 
 
 
 
 | 210 | typedef struct GLUnurbs GLUnurbs; | 
 
 
 
 
 | 211 | typedef struct GLUquadric GLUquadric; | 
 
 
 
 
 | 212 | typedef struct GLUtesselator GLUtesselator; | 
 
 
 
 
 | 213 | #endif | 
 
 
 
 
 | 214 |  | 
 
 
 
 
 | 215 | typedef GLUnurbs GLUnurbsObj; | 
 
 
 
 
 | 216 | typedef GLUquadric GLUquadricObj; | 
 
 
 
 
 | 217 | typedef GLUtesselator GLUtesselatorObj; | 
 
 
 
 
 | 218 | typedef GLUtesselator GLUtriangulatorObj; | 
 
 
 
 
 | 219 |  | 
 
 
 
 
 | 220 | #define GLU_TESS_MAX_COORD 1.0e150 | 
 
 
 
 
 | 221 |  | 
 
 
 
 
 | 222 | /* Internal convenience typedefs */ | 
 
 
 
 
 | 223 | typedef void (APIENTRY *_GLUfuncptr)(); | 
 
 
 
 
 | 224 |  | 
 
 
 
 
 | 225 | GLAPI void APIENTRY gluBeginCurve (GLUnurbs* nurb); | 
 
 
 
 
 | 226 | GLAPI void APIENTRY gluBeginPolygon (GLUtesselator* tess); | 
 
 
 
 
 | 227 | GLAPI void APIENTRY gluBeginSurface (GLUnurbs* nurb); | 
 
 
 
 
 | 228 | GLAPI void APIENTRY gluBeginTrim (GLUnurbs* nurb); | 
 
 
 
 
 | 229 | GLAPI GLint APIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); | 
 
 
 
 
 | 230 | GLAPI GLint APIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); | 
 
 
 
 
 | 231 | GLAPI void APIENTRY gluCylinder (GLUquadric* quad, GLdouble base, GLdouble top, GLdouble height, GLint slices, GLint stacks); | 
 
 
 
 
 | 232 | GLAPI void APIENTRY gluDeleteNurbsRenderer (GLUnurbs* nurb); | 
 
 
 
 
 | 233 | GLAPI void APIENTRY gluDeleteQuadric (GLUquadric* quad); | 
 
 
 
 
 | 234 | GLAPI void APIENTRY gluDeleteTess (GLUtesselator* tess); | 
 
 
 
 
 | 235 | GLAPI void APIENTRY gluDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops); | 
 
 
 
 
 | 236 | GLAPI void APIENTRY gluEndCurve (GLUnurbs* nurb); | 
 
 
 
 
 | 237 | GLAPI void APIENTRY gluEndPolygon (GLUtesselator* tess); | 
 
 
 
 
 | 238 | GLAPI void APIENTRY gluEndSurface (GLUnurbs* nurb); | 
 
 
 
 
 | 239 | GLAPI void APIENTRY gluEndTrim (GLUnurbs* nurb); | 
 
 
 
 
 | 240 | GLAPI const GLubyte * APIENTRY gluErrorString (GLenum error); | 
 
 
 
 
 | 241 | GLAPI const wchar_t * APIENTRY gluErrorUnicodeStringEXT (GLenum error); | 
 
 
 
 
 | 242 | GLAPI void APIENTRY gluGetNurbsProperty (GLUnurbs* nurb, GLenum property, GLfloat* data); | 
 
 
 
 
 | 243 | GLAPI const GLubyte * APIENTRY gluGetString (GLenum name); | 
 
 
 
 
 | 244 | GLAPI void APIENTRY gluGetTessProperty (GLUtesselator* tess, GLenum which, GLdouble* data); | 
 
 
 
 
 | 245 | GLAPI void APIENTRY gluLoadSamplingMatrices (GLUnurbs* nurb, const GLfloat *model, const GLfloat *perspective, const GLint *view); | 
 
 
 
 
 | 246 | GLAPI void APIENTRY gluLookAt (GLdouble eyeX, GLdouble eyeY, GLdouble eyeZ, GLdouble centerX, GLdouble centerY, GLdouble centerZ, GLdouble upX, GLdouble upY, GLdouble upZ); | 
 
 
 
 
 | 247 | GLAPI GLUnurbs* APIENTRY gluNewNurbsRenderer (void); | 
 
 
 
 
 | 248 | GLAPI GLUquadric* APIENTRY gluNewQuadric (void); | 
 
 
 
 
 | 249 | GLAPI GLUtesselator* APIENTRY gluNewTess (void); | 
 
 
 
 
 | 250 | GLAPI void APIENTRY gluNextContour (GLUtesselator* tess, GLenum type); | 
 
 
 
 
 | 251 | GLAPI void APIENTRY gluNurbsCallback (GLUnurbs* nurb, GLenum which, _GLUfuncptr CallBackFunc); | 
 
 
 
 
 | 252 | GLAPI void APIENTRY gluNurbsCurve (GLUnurbs* nurb, GLint knotCount, GLfloat *knots, GLint stride, GLfloat *control, GLint order, GLenum type); | 
 
 
 
 
 | 253 | GLAPI void APIENTRY gluNurbsProperty (GLUnurbs* nurb, GLenum property, GLfloat value); | 
 
 
 
 
 | 254 | GLAPI void APIENTRY gluNurbsSurface (GLUnurbs* nurb, GLint sKnotCount, GLfloat* sKnots, GLint tKnotCount, GLfloat* tKnots, GLint sStride, GLint tStride, GLfloat* control, GLint sOrder, GLint tOrder, GLenum type); | 
 
 
 
 
 | 255 | GLAPI void APIENTRY gluOrtho2D (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top); | 
 
 
 
 
 | 256 | GLAPI void APIENTRY gluPartialDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops, GLdouble start, GLdouble sweep); | 
 
 
 
 
 | 257 | GLAPI void APIENTRY gluPerspective (GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar); | 
 
 
 
 
 | 258 | GLAPI void APIENTRY gluPickMatrix (GLdouble x, GLdouble y, GLdouble delX, GLdouble delY, GLint *viewport); | 
 
 
 
 
 | 259 | GLAPI GLint APIENTRY gluProject (GLdouble objX, GLdouble objY, GLdouble objZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* winX, GLdouble* winY, GLdouble* winZ); | 
 
 
 
 
 | 260 | GLAPI void APIENTRY gluPwlCurve (GLUnurbs* nurb, GLint count, GLfloat* data, GLint stride, GLenum type); | 
 
 
 
 
 | 261 | GLAPI void APIENTRY gluQuadricCallback (GLUquadric* quad, GLenum which, _GLUfuncptr CallBackFunc); | 
 
 
 
 
 | 262 | GLAPI void APIENTRY gluQuadricDrawStyle (GLUquadric* quad, GLenum draw); | 
 
 
 
 
 | 263 | GLAPI void APIENTRY gluQuadricNormals (GLUquadric* quad, GLenum normal); | 
 
 
 
 
 | 264 | GLAPI void APIENTRY gluQuadricOrientation (GLUquadric* quad, GLenum orientation); | 
 
 
 
 
 | 265 | GLAPI void APIENTRY gluQuadricTexture (GLUquadric* quad, GLboolean texture); | 
 
 
 
 
 | 266 | GLAPI GLint APIENTRY gluScaleImage (GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void *dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid* dataOut); | 
 
 
 
 
 | 267 | GLAPI void APIENTRY gluSphere (GLUquadric* quad, GLdouble radius, GLint slices, GLint stacks); | 
 
 
 
 
 | 268 | GLAPI void APIENTRY gluTessBeginContour (GLUtesselator* tess); | 
 
 
 
 
 | 269 | GLAPI void APIENTRY gluTessBeginPolygon (GLUtesselator* tess, GLvoid* data); | 
 
 
 
 
 | 270 | GLAPI void APIENTRY gluTessCallback (GLUtesselator* tess, GLenum which, _GLUfuncptr CallBackFunc); | 
 
 
 
 
 | 271 | GLAPI void APIENTRY gluTessEndContour (GLUtesselator* tess); | 
 
 
 
 
 | 272 | GLAPI void APIENTRY gluTessEndPolygon (GLUtesselator* tess); | 
 
 
 
 
 | 273 | GLAPI void APIENTRY gluTessNormal (GLUtesselator* tess, GLdouble valueX, GLdouble valueY, GLdouble valueZ); | 
 
 
 
 
 | 274 | GLAPI void APIENTRY gluTessProperty (GLUtesselator* tess, GLenum which, GLdouble data); | 
 
 
 
 
 | 275 | GLAPI void APIENTRY gluTessVertex (GLUtesselator* tess, GLdouble *location, GLvoid* data); | 
 
 
 
 
 | 276 | GLAPI GLint APIENTRY gluUnProject (GLdouble winX, GLdouble winY, GLdouble winZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* objX, GLdouble* objY, GLdouble* objZ); | 
 
 
 
 
 | 277 | GLAPI GLint APIENTRY 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); | 
 
 
 
 
 | 278 |  | 
 
 
 
 
 | 279 | #ifdef UNICODE | 
 
 
 
 
 | 280 | #define gluErrorStringWIN gluErrorUnicodeStringEXT | 
 
 
 
 
 | 281 | #else | 
 
 
 
 
 | 282 | #define gluErrorStringWIN gluErrorString | 
 
 
 
 
 | 283 | #endif | 
 
 
 
 
 | 284 |  | 
 
 
 
 
 | 285 | #ifdef __cplusplus | 
 
 
 
 
 | 286 | } | 
 
 
 
 
 | 287 | #endif | 
 
 
 
 
 | 288 |  | 
 
 
 
 
 | 289 | #endif /* __glu_h__ */ |