mingw-5.1.4/win32/include/GL/glu.h
changeset 0 76b1f169d9fe
equal deleted inserted replaced
-1:000000000000 0:76b1f169d9fe
       
     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__ */