/* * gl/glu.h OpenGL utility functions * * ========================================================================= * * Open Watcom Project * * Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved. * * This file is automatically generated. Do not edit directly. * * ========================================================================= */ #ifndef __GLU_H__ #define __GLU_H__ #ifndef __glu_h__ #define __glu_h__ #ifndef _ENABLE_AUTODEPEND #pragma read_only_file; #endif #include #ifdef __cplusplus extern "C" { #endif /* Abstract data types */ typedef struct GLUnurbs GLUnurbs; typedef struct GLUquadric GLUquadric; typedef struct GLUtesselator GLUtesselator; typedef struct GLUnurbs GLUnurbsObj; typedef struct GLUquadric GLUquadricObj; typedef struct GLUtesselator GLUtesselatorObj; typedef struct GLUtesselator GLUtriangulatorObj; /* OpenGL utility version numbers */ #define GLU_VERSION_1_1 1 #define GLU_VERSION_1_2 1 /* OpenGL utility errors */ #define GLU_INVALID_ENUM 100900 #define GLU_INVALID_VALUE 100901 #define GLU_OUT_OF_MEMORY 100902 #define GLU_INCOMPATIBLE_GL_VERSION 100903 /* OpenGL utility string names */ #define GLU_VERSION 100800 #define GLU_EXTENSIONS 100801 /* OpenGL utility boolean values */ #define GLU_TRUE GL_TRUE #define GLU_FALSE GL_FALSE /* OpenGL utility quadric normal values */ #define GLU_SMOOTH 100000 #define GLU_FLAT 100001 #define GLU_NONE 100002 /* OpenGL utility quadric draw styles */ #define GLU_POINT 100010 #define GLU_LINE 100011 #define GLU_FILL 100012 #define GLU_SILHOUETTE 100013 /* OpenGL utility quadric orientations */ #define GLU_OUTSIDE 100020 #define GLU_INSIDE 100021 /* OpenGL utility tesselation maximum coordinate */ #define GLU_TESS_MAX_COORD 1.0e150 /* OpenGL utility tesselation properties */ #define GLU_TESS_WINDING_RULE 100140 #define GLU_TESS_BOUNDARY_ONLY 100141 #define GLU_TESS_TOLERANCE 100142 /* OpenGL utility tesselation winding values */ #define GLU_TESS_WINDING_ODD 100130 #define GLU_TESS_WINDING_NONZERO 100131 #define GLU_TESS_WINDING_POSITIVE 100132 #define GLU_TESS_WINDING_NEGATIVE 100133 #define GLU_TESS_WINDING_ABS_GEQ_TWO 100134 /* OpenGL utility tesselation callback values */ #define GLU_TESS_BEGIN 100100 #define GLU_TESS_VERTEX 100101 #define GLU_TESS_END 100102 #define GLU_TESS_ERROR 100103 #define GLU_TESS_EDGE_FLAG 100104 #define GLU_TESS_COMBINE 100105 #define GLU_TESS_BEGIN_DATA 100106 #define GLU_TESS_VERTEX_DATA 100107 #define GLU_TESS_END_DATA 100108 #define GLU_TESS_ERROR_DATA 100109 #define GLU_TESS_EDGE_FLAG_DATA 100110 #define GLU_TESS_COMBINE_DATA 100111 /* OpenGL utility tesselation errors */ #define GLU_TESS_ERROR1 100151 #define GLU_TESS_ERROR2 100152 #define GLU_TESS_ERROR3 100153 #define GLU_TESS_ERROR4 100154 #define GLU_TESS_ERROR5 100155 #define GLU_TESS_ERROR6 100156 #define GLU_TESS_ERROR7 100157 #define GLU_TESS_ERROR8 100158 #define GLU_TESS_MISSING_BEGIN_POLYGON GLU_TESS_ERROR1 #define GLU_TESS_MISSING_BEGIN_CONTOUR GLU_TESS_ERROR2 #define GLU_TESS_MISSING_END_POLYGON GLU_TESS_ERROR3 #define GLU_TESS_MISSING_END_CONTOUR GLU_TESS_ERROR4 #define GLU_TESS_COORD_TOO_LARGE GLU_TESS_ERROR5 #define GLU_TESS_NEED_COMBINE_CALLBACK GLU_TESS_ERROR6 /* OpenGL utility NURBS properties */ #define GLU_AUTO_LOAD_MATRIX 100200 #define GLU_CULLING 100201 #define GLU_PARAMETRIC_TOLERANCE 100202 #define GLU_SAMPLING_TOLERANCE 100203 #define GLU_DISPLAY_MODE 100204 #define GLU_SAMPLING_METHOD 100205 #define GLU_U_STEP 100206 #define GLU_V_STEP 100207 /* OpenGL utility NURBS sampling values */ #define GLU_PATH_LENGTH 100215 #define GLU_PARAMETRIC_ERROR 100216 #define GLU_DOMAIN_DISTANCE 100217 /* OpenGL utility NURBS trim values */ #define GLU_MAP1_TRIM_2 100210 #define GLU_MAP1_TRIM_3 100211 /* OpenGL utility NURBS display values */ #define GLU_OUTLINE_POLYGON 100240 #define GLU_OUTLINE_PATCH 100241 /* OpenGL utility NURBS errors */ #define GLU_NURBS_ERROR1 100251 #define GLU_NURBS_ERROR2 100252 #define GLU_NURBS_ERROR3 100253 #define GLU_NURBS_ERROR4 100254 #define GLU_NURBS_ERROR5 100255 #define GLU_NURBS_ERROR6 100256 #define GLU_NURBS_ERROR7 100257 #define GLU_NURBS_ERROR8 100258 #define GLU_NURBS_ERROR9 100259 #define GLU_NURBS_ERROR10 100260 #define GLU_NURBS_ERROR11 100261 #define GLU_NURBS_ERROR12 100262 #define GLU_NURBS_ERROR13 100263 #define GLU_NURBS_ERROR14 100264 #define GLU_NURBS_ERROR15 100265 #define GLU_NURBS_ERROR16 100266 #define GLU_NURBS_ERROR17 100267 #define GLU_NURBS_ERROR18 100268 #define GLU_NURBS_ERROR19 100269 #define GLU_NURBS_ERROR20 100270 #define GLU_NURBS_ERROR21 100271 #define GLU_NURBS_ERROR22 100272 #define GLU_NURBS_ERROR23 100273 #define GLU_NURBS_ERROR24 100274 #define GLU_NURBS_ERROR25 100275 #define GLU_NURBS_ERROR26 100276 #define GLU_NURBS_ERROR27 100277 #define GLU_NURBS_ERROR28 100278 #define GLU_NURBS_ERROR29 100279 #define GLU_NURBS_ERROR30 100280 #define GLU_NURBS_ERROR31 100281 #define GLU_NURBS_ERROR32 100282 #define GLU_NURBS_ERROR33 100283 #define GLU_NURBS_ERROR34 100284 #define GLU_NURBS_ERROR35 100285 #define GLU_NURBS_ERROR36 100386 #define GLU_NURBS_ERROR37 100387 /* OpenGL utility contour types */ #define GLU_CW 100120 #define GLU_CCW 100121 #define GLU_INTERIOR 100122 #define GLU_EXTERIOR 100123 #define GLU_UNKNOWN 100124 /* Old names for compatibility */ #define GLU_BEGIN GLU_TESS_BEGIN #define GLU_VERTEX GLU_TESS_VERTEX #define GLU_END GLU_TESS_END #define GLU_ERROR GLU_TESS_ERROR #define GLU_EDGE_FLAG GLU_EDGE_FLAG /* OpenGL utility callbacks */ typedef void (CALLBACK *GLUquadricErrorProc)( GLenum ); typedef void (CALLBACK *GLUtessBeginProc)( GLenum ); typedef void (CALLBACK *GLUtessEdgeFlagProc)( GLboolean ); typedef void (CALLBACK *GLUtessVertexProc)( void * ); typedef void (CALLBACK *GLUtessEndProc)( void ); typedef void (CALLBACK *GLUtessErrorProc)( GLenum ); typedef void (CALLBACK *GLUtessCombineProc)( GLdouble [3], void * [4], GLfloat [4], void ** ); typedef void (CALLBACK *GLUtessBeginDataProc)( GLenum, void * ); typedef void (CALLBACK *GLUtessEdgeFlagDataProc)( GLboolean, void * ); typedef void (CALLBACK *GLUtessVertexDataProc)( void *, void * ); typedef void (CALLBACK *GLUtessEndDataProc)( void * ); typedef void (CALLBACK *GLUtessErrorDataProc)( GLenum, void * ); typedef void (CALLBACK *GLUtessCombineDataProc)( GLdouble[3], void * [4], GLfloat [4], void **, void * ); typedef void (CALLBACK *GLUnurbsErrorProc)( GLenum ); /* Functions in GLU32.DLL */ void APIENTRY gluBeginCurve( GLUnurbs * ); void APIENTRY gluBeginPolygon( GLUtesselator * ); void APIENTRY gluBeginSurface( GLUnurbs * ); void APIENTRY gluBeginTrim( GLUnurbs * ); int APIENTRY gluBuild1DMipmaps( GLenum, GLint, GLint, GLenum, GLenum, const void * ); int APIENTRY gluBuild2DMipmaps( GLenum, GLint, GLint, GLint, GLenum, GLenum, const void * ); void APIENTRY gluCylinder( GLUquadric *, GLdouble, GLdouble, GLdouble, GLint, GLint ); void APIENTRY gluDeleteNurbsRenderer( GLUnurbs * ); void APIENTRY gluDeleteQuadric( GLUquadric * ); void APIENTRY gluDeleteTess( GLUtesselator * ); void APIENTRY gluDisk( GLUquadric *, GLdouble, GLdouble, GLint, GLint ); void APIENTRY gluEndCurve( GLUnurbs * ); void APIENTRY gluEndPolygon( GLUtesselator * ); void APIENTRY gluEndSurface( GLUnurbs * ); void APIENTRY gluEndTrim( GLUnurbs * ); const GLubyte * APIENTRY gluErrorString( GLenum ); const wchar_t * APIENTRY gluErrorUnicodeStringEXT( GLenum ); void APIENTRY gluGetNurbsProperty( GLUnurbs *, GLenum, GLfloat * ); const GLubyte * APIENTRY gluGetString( GLenum ); void APIENTRY gluGetTessProperty( GLUtesselator *, GLenum, GLdouble * ); void APIENTRY gluLoadSamplingMatrices( GLUnurbs *, const GLfloat [16], const GLfloat [16], const GLint[4] ); void APIENTRY gluLookAt( GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble ); GLUnurbs * APIENTRY gluNewNurbsRenderer( void ); GLUquadric * APIENTRY gluNewQuadric( void ); GLUtesselator * APIENTRY gluNewTess( void ); void APIENTRY gluNextContour( GLUtesselator *, GLenum ); void APIENTRY gluNurbsCallback( GLUnurbs *, GLenum, void (CALLBACK *)() ); void APIENTRY gluNurbsCurve( GLUnurbs *, GLint, GLfloat *, GLint, GLfloat *, GLint, GLenum ); void APIENTRY gluNurbsProperty( GLUnurbs *, GLenum, GLfloat ); void APIENTRY gluNurbsSurface( GLUnurbs *, GLint, float *, GLint, GLfloat *, GLint, GLint, GLfloat *, GLint, GLint, GLenum ); void APIENTRY gluOrtho2D( GLdouble, GLdouble, GLdouble, GLdouble ); void APIENTRY gluPartialDisk( GLUquadric *, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble ); void APIENTRY gluPerspective( GLdouble, GLdouble, GLdouble, GLdouble ); void APIENTRY gluPickMatrix( GLdouble, GLdouble, GLdouble, GLdouble, GLint [4] ); int APIENTRY gluProject( GLdouble, GLdouble, GLdouble, const GLdouble [16], const GLdouble [16], const GLint [4], GLdouble *, GLdouble *, GLdouble * ); void APIENTRY gluPwlCurve( GLUnurbs *, GLint, GLfloat *, GLint, GLenum ); void APIENTRY gluQuadricCallback( GLUquadric *, GLenum, void (CALLBACK *)() ); void APIENTRY gluQuadricDrawStyle( GLUquadric *, GLenum ); void APIENTRY gluQuadricNormals( GLUquadric *, GLenum ); void APIENTRY gluQuadricOrientation( GLUquadric *, GLenum ); void APIENTRY gluQuadricTexture( GLUquadric *, GLboolean ); int APIENTRY gluScaleImage( GLenum, GLint, GLint, GLenum, const void *, GLint, GLint, GLenum, void * ); void APIENTRY gluSphere( GLUquadric *, GLdouble, GLint, GLint ); void APIENTRY gluTessBeginContour( GLUtesselator * ); void APIENTRY gluTessBeginPolygon( GLUtesselator *, void * ); void APIENTRY gluTessCallback( GLUtesselator *, GLenum, void (CALLBACK *)() ); void APIENTRY gluTessEndContour( GLUtesselator * ); void APIENTRY gluTessEndPolygon( GLUtesselator * ); void APIENTRY gluTessNormal( GLUtesselator *, GLdouble, GLdouble, GLdouble ); void APIENTRY gluTessProperty( GLUtesselator *, GLenum, GLdouble ); void APIENTRY gluTessVertex( GLUtesselator *, GLdouble [3], void * ); int APIENTRY gluUnProject( GLdouble, GLdouble, GLdouble, const GLdouble [16], const GLdouble [16], const GLint [4], GLdouble *, GLdouble *, GLdouble * ); /* Functions implemented as macros */ #ifdef UNICODE #define gluErrorStringWIN( x ) (LPCWSTR)gluErrorUnicodeStringEXT( x ) #else #define gluErrorStringWIN( x ) (LPCSTR)gluErrorString( x ) #endif #ifdef __cplusplus } /* extern "C" */ #endif #endif /* __glu_h__ */ #endif /* __GLU_H__ */