ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

glu.h
Go to the documentation of this file.
00001 /*
00002  * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
00003  * Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved.
00004  *
00005  * Permission is hereby granted, free of charge, to any person obtaining a
00006  * copy of this software and associated documentation files (the "Software"),
00007  * to deal in the Software without restriction, including without limitation
00008  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
00009  * and/or sell copies of the Software, and to permit persons to whom the
00010  * Software is furnished to do so, subject to the following conditions:
00011  *
00012  * The above copyright notice including the dates of first publication and
00013  * either this permission notice or a reference to
00014  * http://oss.sgi.com/projects/FreeB/
00015  * shall be included in all copies or substantial portions of the Software.
00016  *
00017  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
00018  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00019  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
00020  * SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
00021  * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
00022  * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
00023  * SOFTWARE.
00024  *
00025  * Except as contained in this notice, the name of Silicon Graphics, Inc.
00026  * shall not be used in advertising or otherwise to promote the sale, use or
00027  * other dealings in this Software without prior written authorization from
00028  * Silicon Graphics, Inc.
00029  */
00030 
00031 #ifndef __glu_h__
00032 #define __glu_h__
00033 
00034 #if defined(USE_MGL_NAMESPACE)
00035 #include "glu_mangle.h"
00036 #endif
00037 
00038 #include <GL/gl.h>
00039 
00040 #ifndef GLAPIENTRY
00041 #if defined(_MSC_VER) || defined(__MINGW32__)
00042 #define GLAPIENTRY __stdcall
00043 #else
00044 #define GLAPIENTRY
00045 #endif
00046 #endif
00047 
00048 #ifndef GLAPIENTRYP
00049 #define GLAPIENTRYP GLAPIENTRY *
00050 #endif
00051 
00052 #if (defined(_MSC_VER) || defined(__MINGW32__)) && defined(BUILD_GLU32)
00053 # undef GLAPI
00054 # define GLAPI __declspec(dllexport)
00055 #elif (defined(_MSC_VER) || defined(__MINGW32__)) && defined(_DLL)
00056 /* tag specifying we're building for DLL runtime support */
00057 # undef GLAPI
00058 # define GLAPI __declspec(dllimport)
00059 #elif !defined(GLAPI)
00060 /* for use with static link lib build of Win32 edition only */
00061 # define GLAPI extern
00062 #endif /* _STATIC_MESA support */
00063 
00064 #ifdef __cplusplus
00065 extern "C" {
00066 #endif
00067 
00068 /*************************************************************/
00069 
00070 /* Extensions */
00071 #define GLU_EXT_object_space_tess          1
00072 #define GLU_EXT_nurbs_tessellator          1
00073 
00074 /* Boolean */
00075 #define GLU_FALSE                          0
00076 #define GLU_TRUE                           1
00077 
00078 /* Version */
00079 #define GLU_VERSION_1_1                    1
00080 #define GLU_VERSION_1_2                    1
00081 #define GLU_VERSION_1_3                    1
00082 
00083 /* StringName */
00084 #define GLU_VERSION                        100800
00085 #define GLU_EXTENSIONS                     100801
00086 
00087 /* ErrorCode */
00088 #define GLU_INVALID_ENUM                   100900
00089 #define GLU_INVALID_VALUE                  100901
00090 #define GLU_OUT_OF_MEMORY                  100902
00091 #define GLU_INCOMPATIBLE_GL_VERSION        100903
00092 #define GLU_INVALID_OPERATION              100904
00093 
00094 /* NurbsDisplay */
00095 /*      GLU_FILL */
00096 #define GLU_OUTLINE_POLYGON                100240
00097 #define GLU_OUTLINE_PATCH                  100241
00098 
00099 /* NurbsCallback */
00100 #define GLU_NURBS_ERROR                    100103
00101 #define GLU_ERROR                          100103
00102 #define GLU_NURBS_BEGIN                    100164
00103 #define GLU_NURBS_BEGIN_EXT                100164
00104 #define GLU_NURBS_VERTEX                   100165
00105 #define GLU_NURBS_VERTEX_EXT               100165
00106 #define GLU_NURBS_NORMAL                   100166
00107 #define GLU_NURBS_NORMAL_EXT               100166
00108 #define GLU_NURBS_COLOR                    100167
00109 #define GLU_NURBS_COLOR_EXT                100167
00110 #define GLU_NURBS_TEXTURE_COORD            100168
00111 #define GLU_NURBS_TEX_COORD_EXT            100168
00112 #define GLU_NURBS_END                      100169
00113 #define GLU_NURBS_END_EXT                  100169
00114 #define GLU_NURBS_BEGIN_DATA               100170
00115 #define GLU_NURBS_BEGIN_DATA_EXT           100170
00116 #define GLU_NURBS_VERTEX_DATA              100171
00117 #define GLU_NURBS_VERTEX_DATA_EXT          100171
00118 #define GLU_NURBS_NORMAL_DATA              100172
00119 #define GLU_NURBS_NORMAL_DATA_EXT          100172
00120 #define GLU_NURBS_COLOR_DATA               100173
00121 #define GLU_NURBS_COLOR_DATA_EXT           100173
00122 #define GLU_NURBS_TEXTURE_COORD_DATA       100174
00123 #define GLU_NURBS_TEX_COORD_DATA_EXT       100174
00124 #define GLU_NURBS_END_DATA                 100175
00125 #define GLU_NURBS_END_DATA_EXT             100175
00126 
00127 /* NurbsError */
00128 #define GLU_NURBS_ERROR1                   100251
00129 #define GLU_NURBS_ERROR2                   100252
00130 #define GLU_NURBS_ERROR3                   100253
00131 #define GLU_NURBS_ERROR4                   100254
00132 #define GLU_NURBS_ERROR5                   100255
00133 #define GLU_NURBS_ERROR6                   100256
00134 #define GLU_NURBS_ERROR7                   100257
00135 #define GLU_NURBS_ERROR8                   100258
00136 #define GLU_NURBS_ERROR9                   100259
00137 #define GLU_NURBS_ERROR10                  100260
00138 #define GLU_NURBS_ERROR11                  100261
00139 #define GLU_NURBS_ERROR12                  100262
00140 #define GLU_NURBS_ERROR13                  100263
00141 #define GLU_NURBS_ERROR14                  100264
00142 #define GLU_NURBS_ERROR15                  100265
00143 #define GLU_NURBS_ERROR16                  100266
00144 #define GLU_NURBS_ERROR17                  100267
00145 #define GLU_NURBS_ERROR18                  100268
00146 #define GLU_NURBS_ERROR19                  100269
00147 #define GLU_NURBS_ERROR20                  100270
00148 #define GLU_NURBS_ERROR21                  100271
00149 #define GLU_NURBS_ERROR22                  100272
00150 #define GLU_NURBS_ERROR23                  100273
00151 #define GLU_NURBS_ERROR24                  100274
00152 #define GLU_NURBS_ERROR25                  100275
00153 #define GLU_NURBS_ERROR26                  100276
00154 #define GLU_NURBS_ERROR27                  100277
00155 #define GLU_NURBS_ERROR28                  100278
00156 #define GLU_NURBS_ERROR29                  100279
00157 #define GLU_NURBS_ERROR30                  100280
00158 #define GLU_NURBS_ERROR31                  100281
00159 #define GLU_NURBS_ERROR32                  100282
00160 #define GLU_NURBS_ERROR33                  100283
00161 #define GLU_NURBS_ERROR34                  100284
00162 #define GLU_NURBS_ERROR35                  100285
00163 #define GLU_NURBS_ERROR36                  100286
00164 #define GLU_NURBS_ERROR37                  100287
00165 
00166 /* NurbsProperty */
00167 #define GLU_AUTO_LOAD_MATRIX               100200
00168 #define GLU_CULLING                        100201
00169 #define GLU_SAMPLING_TOLERANCE             100203
00170 #define GLU_DISPLAY_MODE                   100204
00171 #define GLU_PARAMETRIC_TOLERANCE           100202
00172 #define GLU_SAMPLING_METHOD                100205
00173 #define GLU_U_STEP                         100206
00174 #define GLU_V_STEP                         100207
00175 #define GLU_NURBS_MODE                     100160
00176 #define GLU_NURBS_MODE_EXT                 100160
00177 #define GLU_NURBS_TESSELLATOR              100161
00178 #define GLU_NURBS_TESSELLATOR_EXT          100161
00179 #define GLU_NURBS_RENDERER                 100162
00180 #define GLU_NURBS_RENDERER_EXT             100162
00181 
00182 /* NurbsSampling */
00183 #define GLU_OBJECT_PARAMETRIC_ERROR        100208
00184 #define GLU_OBJECT_PARAMETRIC_ERROR_EXT    100208
00185 #define GLU_OBJECT_PATH_LENGTH             100209
00186 #define GLU_OBJECT_PATH_LENGTH_EXT         100209
00187 #define GLU_PATH_LENGTH                    100215
00188 #define GLU_PARAMETRIC_ERROR               100216
00189 #define GLU_DOMAIN_DISTANCE                100217
00190 
00191 /* NurbsTrim */
00192 #define GLU_MAP1_TRIM_2                    100210
00193 #define GLU_MAP1_TRIM_3                    100211
00194 
00195 /* QuadricDrawStyle */
00196 #define GLU_POINT                          100010
00197 #define GLU_LINE                           100011
00198 #define GLU_FILL                           100012
00199 #define GLU_SILHOUETTE                     100013
00200 
00201 /* QuadricCallback */
00202 /*      GLU_ERROR */
00203 
00204 /* QuadricNormal */
00205 #define GLU_SMOOTH                         100000
00206 #define GLU_FLAT                           100001
00207 #define GLU_NONE                           100002
00208 
00209 /* QuadricOrientation */
00210 #define GLU_OUTSIDE                        100020
00211 #define GLU_INSIDE                         100021
00212 
00213 /* TessCallback */
00214 #define GLU_TESS_BEGIN                     100100
00215 #define GLU_BEGIN                          100100
00216 #define GLU_TESS_VERTEX                    100101
00217 #define GLU_VERTEX                         100101
00218 #define GLU_TESS_END                       100102
00219 #define GLU_END                            100102
00220 #define GLU_TESS_ERROR                     100103
00221 #define GLU_TESS_EDGE_FLAG                 100104
00222 #define GLU_EDGE_FLAG                      100104
00223 #define GLU_TESS_COMBINE                   100105
00224 #define GLU_TESS_BEGIN_DATA                100106
00225 #define GLU_TESS_VERTEX_DATA               100107
00226 #define GLU_TESS_END_DATA                  100108
00227 #define GLU_TESS_ERROR_DATA                100109
00228 #define GLU_TESS_EDGE_FLAG_DATA            100110
00229 #define GLU_TESS_COMBINE_DATA              100111
00230 
00231 /* TessContour */
00232 #define GLU_CW                             100120
00233 #define GLU_CCW                            100121
00234 #define GLU_INTERIOR                       100122
00235 #define GLU_EXTERIOR                       100123
00236 #define GLU_UNKNOWN                        100124
00237 
00238 /* TessProperty */
00239 #define GLU_TESS_WINDING_RULE              100140
00240 #define GLU_TESS_BOUNDARY_ONLY             100141
00241 #define GLU_TESS_TOLERANCE                 100142
00242 
00243 /* TessError */
00244 #define GLU_TESS_ERROR1                    100151
00245 #define GLU_TESS_ERROR2                    100152
00246 #define GLU_TESS_ERROR3                    100153
00247 #define GLU_TESS_ERROR4                    100154
00248 #define GLU_TESS_ERROR5                    100155
00249 #define GLU_TESS_ERROR6                    100156
00250 #define GLU_TESS_ERROR7                    100157
00251 #define GLU_TESS_ERROR8                    100158
00252 #define GLU_TESS_MISSING_BEGIN_POLYGON     100151
00253 #define GLU_TESS_MISSING_BEGIN_CONTOUR     100152
00254 #define GLU_TESS_MISSING_END_POLYGON       100153
00255 #define GLU_TESS_MISSING_END_CONTOUR       100154
00256 #define GLU_TESS_COORD_TOO_LARGE           100155
00257 #define GLU_TESS_NEED_COMBINE_CALLBACK     100156
00258 
00259 /* TessWinding */
00260 #define GLU_TESS_WINDING_ODD               100130
00261 #define GLU_TESS_WINDING_NONZERO           100131
00262 #define GLU_TESS_WINDING_POSITIVE          100132
00263 #define GLU_TESS_WINDING_NEGATIVE          100133
00264 #define GLU_TESS_WINDING_ABS_GEQ_TWO       100134
00265 
00266 /*************************************************************/
00267 
00268 
00269 #ifdef __cplusplus
00270 class GLUnurbs;
00271 class GLUquadric;
00272 class GLUtesselator;
00273 #else
00274 typedef struct GLUnurbs GLUnurbs;
00275 typedef struct GLUquadric GLUquadric;
00276 typedef struct GLUtesselator GLUtesselator;
00277 #endif
00278 
00279 typedef GLUnurbs GLUnurbsObj;
00280 typedef GLUquadric GLUquadricObj;
00281 typedef GLUtesselator GLUtesselatorObj;
00282 typedef GLUtesselator GLUtriangulatorObj;
00283 
00284 #define GLU_TESS_MAX_COORD 1.0e150
00285 
00286 /* Internal convenience typedefs */
00287 typedef void (GLAPIENTRYP _GLUfuncptr)();
00288 
00289 GLAPI void GLAPIENTRY gluBeginCurve (GLUnurbs* nurb);
00290 GLAPI void GLAPIENTRY gluBeginPolygon (GLUtesselator* tess);
00291 GLAPI void GLAPIENTRY gluBeginSurface (GLUnurbs* nurb);
00292 GLAPI void GLAPIENTRY gluBeginTrim (GLUnurbs* nurb);
00293 GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
00294 GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
00295 GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
00296 GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
00297 GLAPI 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);
00298 GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
00299 GLAPI GLboolean GLAPIENTRY gluCheckExtension (const GLubyte *extName, const GLubyte *extString);
00300 GLAPI void GLAPIENTRY gluCylinder (GLUquadric* quad, GLdouble base, GLdouble top, GLdouble height, GLint slices, GLint stacks);
00301 GLAPI void GLAPIENTRY gluDeleteNurbsRenderer (GLUnurbs* nurb);
00302 GLAPI void GLAPIENTRY gluDeleteQuadric (GLUquadric* quad);
00303 GLAPI void GLAPIENTRY gluDeleteTess (GLUtesselator* tess);
00304 GLAPI void GLAPIENTRY gluDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops);
00305 GLAPI void GLAPIENTRY gluEndCurve (GLUnurbs* nurb);
00306 GLAPI void GLAPIENTRY gluEndPolygon (GLUtesselator* tess);
00307 GLAPI void GLAPIENTRY gluEndSurface (GLUnurbs* nurb);
00308 GLAPI void GLAPIENTRY gluEndTrim (GLUnurbs* nurb);
00309 GLAPI const GLubyte * GLAPIENTRY gluErrorString (GLenum error);
00310 GLAPI void GLAPIENTRY gluGetNurbsProperty (GLUnurbs* nurb, GLenum property, GLfloat* data);
00311 GLAPI const GLubyte * GLAPIENTRY gluGetString (GLenum name);
00312 GLAPI void GLAPIENTRY gluGetTessProperty (GLUtesselator* tess, GLenum which, GLdouble* data);
00313 GLAPI void GLAPIENTRY gluLoadSamplingMatrices (GLUnurbs* nurb, const GLfloat *model, const GLfloat *perspective, const GLint *view);
00314 GLAPI void GLAPIENTRY gluLookAt (GLdouble eyeX, GLdouble eyeY, GLdouble eyeZ, GLdouble centerX, GLdouble centerY, GLdouble centerZ, GLdouble upX, GLdouble upY, GLdouble upZ);
00315 GLAPI GLUnurbs* GLAPIENTRY gluNewNurbsRenderer (void);
00316 GLAPI GLUquadric* GLAPIENTRY gluNewQuadric (void);
00317 GLAPI GLUtesselator* GLAPIENTRY gluNewTess (void);
00318 GLAPI void GLAPIENTRY gluNextContour (GLUtesselator* tess, GLenum type);
00319 GLAPI void GLAPIENTRY gluNurbsCallback (GLUnurbs* nurb, GLenum which, _GLUfuncptr CallBackFunc);
00320 GLAPI void GLAPIENTRY gluNurbsCallbackData (GLUnurbs* nurb, GLvoid* userData);
00321 GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData);
00322 GLAPI void GLAPIENTRY gluNurbsCurve (GLUnurbs* nurb, GLint knotCount, GLfloat *knots, GLint stride, GLfloat *control, GLint order, GLenum type);
00323 GLAPI void GLAPIENTRY gluNurbsProperty (GLUnurbs* nurb, GLenum property, GLfloat value);
00324 GLAPI 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);
00325 GLAPI void GLAPIENTRY gluOrtho2D (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top);
00326 GLAPI void GLAPIENTRY gluPartialDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops, GLdouble start, GLdouble sweep);
00327 GLAPI void GLAPIENTRY gluPerspective (GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar);
00328 GLAPI void GLAPIENTRY gluPickMatrix (GLdouble x, GLdouble y, GLdouble delX, GLdouble delY, GLint *viewport);
00329 GLAPI GLint GLAPIENTRY gluProject (GLdouble objX, GLdouble objY, GLdouble objZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* winX, GLdouble* winY, GLdouble* winZ);
00330 GLAPI void GLAPIENTRY gluPwlCurve (GLUnurbs* nurb, GLint count, GLfloat* data, GLint stride, GLenum type);
00331 GLAPI void GLAPIENTRY gluQuadricCallback (GLUquadric* quad, GLenum which, _GLUfuncptr CallBackFunc);
00332 GLAPI void GLAPIENTRY gluQuadricDrawStyle (GLUquadric* quad, GLenum draw);
00333 GLAPI void GLAPIENTRY gluQuadricNormals (GLUquadric* quad, GLenum normal);
00334 GLAPI void GLAPIENTRY gluQuadricOrientation (GLUquadric* quad, GLenum orientation);
00335 GLAPI void GLAPIENTRY gluQuadricTexture (GLUquadric* quad, GLboolean texture);
00336 GLAPI GLint GLAPIENTRY gluScaleImage (GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void *dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid* dataOut);
00337 GLAPI void GLAPIENTRY gluSphere (GLUquadric* quad, GLdouble radius, GLint slices, GLint stacks);
00338 GLAPI void GLAPIENTRY gluTessBeginContour (GLUtesselator* tess);
00339 GLAPI void GLAPIENTRY gluTessBeginPolygon (GLUtesselator* tess, GLvoid* data);
00340 GLAPI void GLAPIENTRY gluTessCallback (GLUtesselator* tess, GLenum which, _GLUfuncptr CallBackFunc);
00341 GLAPI void GLAPIENTRY gluTessEndContour (GLUtesselator* tess);
00342 GLAPI void GLAPIENTRY gluTessEndPolygon (GLUtesselator* tess);
00343 GLAPI void GLAPIENTRY gluTessNormal (GLUtesselator* tess, GLdouble valueX, GLdouble valueY, GLdouble valueZ);
00344 GLAPI void GLAPIENTRY gluTessProperty (GLUtesselator* tess, GLenum which, GLdouble data);
00345 GLAPI void GLAPIENTRY gluTessVertex (GLUtesselator* tess, GLdouble *location, GLvoid* data);
00346 GLAPI GLint GLAPIENTRY gluUnProject (GLdouble winX, GLdouble winY, GLdouble winZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* objX, GLdouble* objY, GLdouble* objZ);
00347 GLAPI 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);
00348 
00349 #ifdef __cplusplus
00350 }
00351 #endif
00352 
00353 #endif /* __glu_h__ */

Generated on Sun May 27 2012 04:19:55 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.