summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/platformspecific/Windows/PlatformLibs/GL/glu.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/platformspecific/Windows/PlatformLibs/GL/glu.h')
-rw-r--r--src/3rdparty/platformspecific/Windows/PlatformLibs/GL/glu.h607
1 files changed, 607 insertions, 0 deletions
diff --git a/src/3rdparty/platformspecific/Windows/PlatformLibs/GL/glu.h b/src/3rdparty/platformspecific/Windows/PlatformLibs/GL/glu.h
new file mode 100644
index 0000000..54bc52b
--- /dev/null
+++ b/src/3rdparty/platformspecific/Windows/PlatformLibs/GL/glu.h
@@ -0,0 +1,607 @@
+/*++ BUILD Version: 0004 // Increment this if a change has global effects
+
+Copyright (c) 1985-95, Microsoft Corporation
+
+Module Name:
+
+ glu.h
+
+Abstract:
+
+ Procedure declarations, constant definitions and macros for the OpenGL
+ Utility Library.
+
+--*/
+
+#ifndef __glu_h__
+#ifndef __GLU_H__
+
+#define __glu_h__
+#define __GLU_H__
+
+#include <GL/gl.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+** Copyright 1991-1993, Silicon Graphics, Inc.
+** All Rights Reserved.
+**
+** This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
+** the contents of this file may not be disclosed to third parties, copied or
+** duplicated in any form, in whole or in part, without the prior written
+** permission of Silicon Graphics, Inc.
+**
+** RESTRICTED RIGHTS LEGEND:
+** Use, duplication or disclosure by the Government is subject to restrictions
+** as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
+** and Computer Software clause at DFARS 252.227-7013, and/or in similar or
+** successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
+** rights reserved under the Copyright Laws of the United States.
+*/
+
+/*
+** Return the error string associated with a particular error code.
+** This will return 0 for an invalid error code.
+**
+** The generic function prototype that can be compiled for ANSI or Unicode
+** is defined as follows:
+**
+** LPCTSTR APIENTRY gluErrorStringWIN (GLenum errCode);
+*/
+#ifdef UNICODE
+#define gluErrorStringWIN(errCode) ((LPCSTR) gluErrorUnicodeStringEXT(errCode))
+#else
+#define gluErrorStringWIN(errCode) ((LPCWSTR) gluErrorString(errCode))
+#endif
+
+/* XXX APIENTRY and CALLBACK defined added by aritger */
+#ifndef APIENTRY
+# define APIENTRY
+#endif
+
+#ifndef CALLBACK
+# define CALLBACK
+#endif
+
+const GLubyte* APIENTRY gluErrorString (
+ GLenum errCode);
+
+/* XXX aritger: gluErrorUnicodeStringEXT() appears to be a MicroSoft addition */
+#if defined(_WIN32)
+const wchar_t* APIENTRY gluErrorUnicodeStringEXT (
+ GLenum errCode);
+#endif
+
+const GLubyte* APIENTRY gluGetString (
+ GLenum name);
+
+void APIENTRY gluOrtho2D (
+ GLdouble left,
+ GLdouble right,
+ GLdouble bottom,
+ GLdouble top);
+
+void APIENTRY gluPerspective (
+ GLdouble fovy,
+ GLdouble aspect,
+ GLdouble zNear,
+ GLdouble zFar);
+
+void APIENTRY gluPickMatrix (
+ GLdouble x,
+ GLdouble y,
+ GLdouble width,
+ GLdouble height,
+ GLint viewport[4]);
+
+void APIENTRY gluLookAt (
+ GLdouble eyex,
+ GLdouble eyey,
+ GLdouble eyez,
+ GLdouble centerx,
+ GLdouble centery,
+ GLdouble centerz,
+ GLdouble upx,
+ GLdouble upy,
+ GLdouble upz);
+
+int APIENTRY gluProject (
+ GLdouble objx,
+ GLdouble objy,
+ GLdouble objz,
+ const GLdouble modelMatrix[16],
+ const GLdouble projMatrix[16],
+ const GLint viewport[4],
+ GLdouble *winx,
+ GLdouble *winy,
+ GLdouble *winz);
+
+int APIENTRY gluUnProject (
+ GLdouble winx,
+ GLdouble winy,
+ GLdouble winz,
+ const GLdouble modelMatrix[16],
+ const GLdouble projMatrix[16],
+ const GLint viewport[4],
+ GLdouble *objx,
+ GLdouble *objy,
+ GLdouble *objz);
+
+
+int APIENTRY gluScaleImage (
+ GLenum format,
+ GLint widthin,
+ GLint heightin,
+ GLenum typein,
+ const void *datain,
+ GLint widthout,
+ GLint heightout,
+ GLenum typeout,
+ void *dataout);
+
+
+int APIENTRY gluBuild1DMipmaps (
+ GLenum target,
+ GLint components,
+ GLint width,
+ GLenum format,
+ GLenum type,
+ const void *data);
+
+int APIENTRY gluBuild2DMipmaps (
+ GLenum target,
+ GLint components,
+ GLint width,
+ GLint height,
+ GLenum format,
+ GLenum type,
+ const void *data);
+
+#ifdef __cplusplus
+
+class GLUnurbs;
+class GLUquadric;
+class GLUtesselator;
+
+/* backwards compatibility: */
+typedef class GLUnurbs GLUnurbsObj;
+typedef class GLUquadric GLUquadricObj;
+typedef class GLUtesselator GLUtesselatorObj;
+typedef class GLUtesselator GLUtriangulatorObj;
+
+#else
+
+typedef struct GLUnurbs GLUnurbs;
+typedef struct GLUquadric GLUquadric;
+typedef struct GLUtesselator GLUtesselator;
+
+/* backwards compatibility: */
+typedef struct GLUnurbs GLUnurbsObj;
+typedef struct GLUquadric GLUquadricObj;
+typedef struct GLUtesselator GLUtesselatorObj;
+typedef struct GLUtesselator GLUtriangulatorObj;
+
+#endif
+
+// (NVIDIA change: pbrown) GLUcallbackFuncPtr is a general-purpose function
+// pointer type for GLU callbacks. We declare a "void" argument list in the
+// prototype as a least-common-denominator to avoid "function declaration
+// isn't a prototype" warnings from GCC (which until late 2010 didn't have a
+// good way to temporarily change warning state via #pragma). Most, but not
+// all, GLU callbacks do take one or more arguments, so will likely need
+// manual casts. The fundamental problem is that the actual argument list is
+// typically a function of the <which> argument in the
+// glu{Tess,Nurbs}Callback, so there is no good way to check for correctness
+// at compile time.
+typedef void (CALLBACK* GLUcallbackFuncPtr)(void);
+
+GLUquadric* APIENTRY gluNewQuadric (void);
+void APIENTRY gluDeleteQuadric (
+ GLUquadric *state);
+
+void APIENTRY gluQuadricNormals (
+ GLUquadric *quadObject,
+ GLenum normals);
+
+void APIENTRY gluQuadricTexture (
+ GLUquadric *quadObject,
+ GLboolean textureCoords);
+
+void APIENTRY gluQuadricOrientation (
+ GLUquadric *quadObject,
+ GLenum orientation);
+
+void APIENTRY gluQuadricDrawStyle (
+ GLUquadric *quadObject,
+ GLenum drawStyle);
+
+void APIENTRY gluCylinder (
+ GLUquadric *qobj,
+ GLdouble baseRadius,
+ GLdouble topRadius,
+ GLdouble height,
+ GLint slices,
+ GLint stacks);
+
+void APIENTRY gluDisk (
+ GLUquadric *qobj,
+ GLdouble innerRadius,
+ GLdouble outerRadius,
+ GLint slices,
+ GLint loops);
+
+void APIENTRY gluPartialDisk (
+ GLUquadric *qobj,
+ GLdouble innerRadius,
+ GLdouble outerRadius,
+ GLint slices,
+ GLint loops,
+ GLdouble startAngle,
+ GLdouble sweepAngle);
+
+void APIENTRY gluSphere (
+ GLUquadric *qobj,
+ GLdouble radius,
+ GLint slices,
+ GLint stacks);
+
+void APIENTRY gluQuadricCallback (
+ GLUquadric *qobj,
+ GLenum which,
+ GLUcallbackFuncPtr fn );
+
+GLUtesselator* APIENTRY gluNewTess(
+ void );
+
+void APIENTRY gluDeleteTess(
+ GLUtesselator *tess );
+
+void APIENTRY gluTessBeginPolygon(
+ GLUtesselator *tess,
+ void *polygon_data );
+
+void APIENTRY gluTessBeginContour(
+ GLUtesselator *tess );
+
+void APIENTRY gluTessVertex(
+ GLUtesselator *tess,
+ GLdouble coords[3],
+ void *data );
+
+void APIENTRY gluTessEndContour(
+ GLUtesselator *tess );
+
+void APIENTRY gluTessEndPolygon(
+ GLUtesselator *tess );
+
+void APIENTRY gluTessProperty(
+ GLUtesselator *tess,
+ GLenum which,
+ GLdouble value );
+
+void APIENTRY gluTessNormal(
+ GLUtesselator *tess,
+ GLdouble x,
+ GLdouble y,
+ GLdouble z );
+
+void APIENTRY gluTessCallback(
+ GLUtesselator *tess,
+ GLenum which,
+ GLUcallbackFuncPtr fn );
+
+void APIENTRY gluGetTessProperty(
+ GLUtesselator *tess,
+ GLenum which,
+ GLdouble *value );
+
+GLUnurbs* APIENTRY gluNewNurbsRenderer (void);
+
+void APIENTRY gluDeleteNurbsRenderer (
+ GLUnurbs *nobj);
+
+void APIENTRY gluBeginSurface (
+ GLUnurbs *nobj);
+
+void APIENTRY gluBeginCurve (
+ GLUnurbs *nobj);
+
+void APIENTRY gluEndCurve (
+ GLUnurbs *nobj);
+
+void APIENTRY gluEndSurface (
+ GLUnurbs *nobj);
+
+void APIENTRY gluBeginTrim (
+ GLUnurbs *nobj);
+
+void APIENTRY gluEndTrim (
+ GLUnurbs *nobj);
+
+void APIENTRY gluPwlCurve (
+ GLUnurbs *nobj,
+ GLint count,
+ GLfloat *array,
+ GLint stride,
+ GLenum type);
+
+void APIENTRY gluNurbsCurve (
+ GLUnurbs *nobj,
+ GLint nknots,
+ GLfloat *knot,
+ GLint stride,
+ GLfloat *ctlarray,
+ GLint order,
+ GLenum type);
+
+void APIENTRY
+gluNurbsSurface(
+ GLUnurbs *nobj,
+ GLint sknot_count,
+ float *sknot,
+ GLint tknot_count,
+ GLfloat *tknot,
+ GLint s_stride,
+ GLint t_stride,
+ GLfloat *ctlarray,
+ GLint sorder,
+ GLint torder,
+ GLenum type);
+
+void APIENTRY
+gluLoadSamplingMatrices (
+ GLUnurbs *nobj,
+ const GLfloat modelMatrix[16],
+ const GLfloat projMatrix[16],
+ const GLint viewport[4] );
+
+void APIENTRY
+gluNurbsProperty (
+ GLUnurbs *nobj,
+ GLenum property,
+ GLfloat value );
+
+void APIENTRY
+gluGetNurbsProperty (
+ GLUnurbs *nobj,
+ GLenum property,
+ GLfloat *value );
+
+void APIENTRY
+gluNurbsCallback (
+ GLUnurbs *nobj,
+ GLenum which,
+ GLUcallbackFuncPtr fn );
+
+
+/**** Callback function prototypes ****/
+
+/* gluQuadricCallback */
+typedef void (CALLBACK* GLUquadricErrorProc) (GLenum);
+
+/* gluTessCallback */
+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* );
+
+/* gluNurbsCallback */
+typedef void (CALLBACK* GLUnurbsErrorProc) (GLenum);
+
+
+/**** Generic constants ****/
+
+/* Version */
+#define GLU_VERSION_1_1 1
+#define GLU_VERSION_1_2 1
+
+/* Errors: (return value 0 = no error) */
+#define GLU_INVALID_ENUM 100900
+#define GLU_INVALID_VALUE 100901
+#define GLU_OUT_OF_MEMORY 100902
+#define GLU_INCOMPATIBLE_GL_VERSION 100903
+
+/* StringName */
+#define GLU_VERSION 100800
+#define GLU_EXTENSIONS 100801
+
+/* Boolean */
+#define GLU_TRUE GL_TRUE
+#define GLU_FALSE GL_FALSE
+
+
+/**** Quadric constants ****/
+
+/* QuadricNormal */
+#define GLU_SMOOTH 100000
+#define GLU_FLAT 100001
+#define GLU_NONE 100002
+
+/* QuadricDrawStyle */
+#define GLU_POINT 100010
+#define GLU_LINE 100011
+#define GLU_FILL 100012
+#define GLU_SILHOUETTE 100013
+
+/* QuadricOrientation */
+#define GLU_OUTSIDE 100020
+#define GLU_INSIDE 100021
+
+/* Callback types: */
+/* GLU_ERROR 100103 */
+
+
+/**** Tesselation constants ****/
+
+#define GLU_TESS_MAX_COORD 1.0e150
+
+/* TessProperty */
+#define GLU_TESS_WINDING_RULE 100140
+#define GLU_TESS_BOUNDARY_ONLY 100141
+#define GLU_TESS_TOLERANCE 100142
+
+/* TessWinding */
+#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
+
+/* TessCallback */
+#define GLU_TESS_BEGIN 100100 /* void (CALLBACK*)(GLenum type) */
+#define GLU_TESS_VERTEX 100101 /* void (CALLBACK*)(void *data) */
+#define GLU_TESS_END 100102 /* void (CALLBACK*)(void) */
+#define GLU_TESS_ERROR 100103 /* void (CALLBACK*)(GLenum errno) */
+#define GLU_TESS_EDGE_FLAG 100104 /* void (CALLBACK*)(GLboolean boundaryEdge) */
+#define GLU_TESS_COMBINE 100105 /* void (CALLBACK*)(GLdouble coords[3],
+ void *data[4],
+ GLfloat weight[4],
+ void **dataOut) */
+#define GLU_TESS_BEGIN_DATA 100106 /* void (CALLBACK*)(GLenum type,
+ void *polygon_data) */
+#define GLU_TESS_VERTEX_DATA 100107 /* void (CALLBACK*)(void *data,
+ void *polygon_data) */
+#define GLU_TESS_END_DATA 100108 /* void (CALLBACK*)(void *polygon_data) */
+#define GLU_TESS_ERROR_DATA 100109 /* void (CALLBACK*)(GLenum errno,
+ void *polygon_data) */
+#define GLU_TESS_EDGE_FLAG_DATA 100110 /* void (CALLBACK*)(GLboolean boundaryEdge,
+ void *polygon_data) */
+#define GLU_TESS_COMBINE_DATA 100111 /* void (CALLBACK*)(GLdouble coords[3],
+ void *data[4],
+ GLfloat weight[4],
+ void **dataOut,
+ void *polygon_data) */
+
+/* TessError */
+#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
+
+/**** NURBS constants ****/
+
+/* NurbsProperty */
+#define GLU_AUTO_LOAD_MATRIX 100200
+#define GLU_CULLING 100201
+#define GLU_SAMPLING_TOLERANCE 100203
+#define GLU_DISPLAY_MODE 100204
+#define GLU_PARAMETRIC_TOLERANCE 100202
+#define GLU_SAMPLING_METHOD 100205
+#define GLU_U_STEP 100206
+#define GLU_V_STEP 100207
+
+/* NurbsSampling */
+#define GLU_PATH_LENGTH 100215
+#define GLU_PARAMETRIC_ERROR 100216
+#define GLU_DOMAIN_DISTANCE 100217
+
+
+/* NurbsTrim */
+#define GLU_MAP1_TRIM_2 100210
+#define GLU_MAP1_TRIM_3 100211
+
+/* NurbsDisplay */
+/* GLU_FILL 100012 */
+#define GLU_OUTLINE_POLYGON 100240
+#define GLU_OUTLINE_PATCH 100241
+
+/* NurbsCallback */
+/* GLU_ERROR 100103 */
+
+/* NurbsErrors */
+#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 100286
+#define GLU_NURBS_ERROR37 100287
+
+/**** Backwards compatibility for old tesselator ****/
+
+void APIENTRY gluBeginPolygon( GLUtesselator *tess );
+
+void APIENTRY gluNextContour( GLUtesselator *tess,
+ GLenum type );
+
+void APIENTRY gluEndPolygon( GLUtesselator *tess );
+
+/* Contours types -- obsolete! */
+#define GLU_CW 100120
+#define GLU_CCW 100121
+#define GLU_INTERIOR 100122
+#define GLU_EXTERIOR 100123
+#define GLU_UNKNOWN 100124
+
+/* Names without "TESS_" prefix */
+#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_TESS_EDGE_FLAG
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __GLU_H__ */
+#endif /* __glu_h__ */