ReactOS 0.4.15-dev-8344-g0574987
glu.h
Go to the documentation of this file.
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
34#include <stddef.h> /* for wchar_t */
35#include <GL/gl.h>
36
37#ifdef __cplusplus
38extern "C" {
39#endif
40
41/*************************************************************/
42
43/* Boolean */
44#define GLU_FALSE 0
45#define GLU_TRUE 1
46
47/* Version */
48#define GLU_VERSION_1_1 1
49#define GLU_VERSION_1_2 1
50
51/* StringName */
52#define GLU_VERSION 100800
53#define GLU_EXTENSIONS 100801
54
55/* ErrorCode */
56#define GLU_INVALID_ENUM 100900
57#define GLU_INVALID_VALUE 100901
58#define GLU_OUT_OF_MEMORY 100902
59#define GLU_INVALID_OPERATION 100904
60
61/* NurbsDisplay */
62/* GLU_FILL */
63#define GLU_OUTLINE_POLYGON 100240
64#define GLU_OUTLINE_PATCH 100241
65
66/* NurbsError */
67#define GLU_NURBS_ERROR1 100251
68#define GLU_NURBS_ERROR2 100252
69#define GLU_NURBS_ERROR3 100253
70#define GLU_NURBS_ERROR4 100254
71#define GLU_NURBS_ERROR5 100255
72#define GLU_NURBS_ERROR6 100256
73#define GLU_NURBS_ERROR7 100257
74#define GLU_NURBS_ERROR8 100258
75#define GLU_NURBS_ERROR9 100259
76#define GLU_NURBS_ERROR10 100260
77#define GLU_NURBS_ERROR11 100261
78#define GLU_NURBS_ERROR12 100262
79#define GLU_NURBS_ERROR13 100263
80#define GLU_NURBS_ERROR14 100264
81#define GLU_NURBS_ERROR15 100265
82#define GLU_NURBS_ERROR16 100266
83#define GLU_NURBS_ERROR17 100267
84#define GLU_NURBS_ERROR18 100268
85#define GLU_NURBS_ERROR19 100269
86#define GLU_NURBS_ERROR20 100270
87#define GLU_NURBS_ERROR21 100271
88#define GLU_NURBS_ERROR22 100272
89#define GLU_NURBS_ERROR23 100273
90#define GLU_NURBS_ERROR24 100274
91#define GLU_NURBS_ERROR25 100275
92#define GLU_NURBS_ERROR26 100276
93#define GLU_NURBS_ERROR27 100277
94#define GLU_NURBS_ERROR28 100278
95#define GLU_NURBS_ERROR29 100279
96#define GLU_NURBS_ERROR30 100280
97#define GLU_NURBS_ERROR31 100281
98#define GLU_NURBS_ERROR32 100282
99#define GLU_NURBS_ERROR33 100283
100#define GLU_NURBS_ERROR34 100284
101#define GLU_NURBS_ERROR35 100285
102#define GLU_NURBS_ERROR36 100286
103#define GLU_NURBS_ERROR37 100287
104
105/* NurbsProperty */
106#define GLU_AUTO_LOAD_MATRIX 100200
107#define GLU_CULLING 100201
108#define GLU_SAMPLING_TOLERANCE 100203
109#define GLU_DISPLAY_MODE 100204
110#define GLU_PARAMETRIC_TOLERANCE 100202
111#define GLU_SAMPLING_METHOD 100205
112#define GLU_U_STEP 100206
113#define GLU_V_STEP 100207
114
115/* NurbsSampling */
116#define GLU_PATH_LENGTH 100215
117#define GLU_PARAMETRIC_ERROR 100216
118#define GLU_DOMAIN_DISTANCE 100217
119
120/* NurbsTrim */
121#define GLU_MAP1_TRIM_2 100210
122#define GLU_MAP1_TRIM_3 100211
123
124/* QuadricDrawStyle */
125#define GLU_POINT 100010
126#define GLU_LINE 100011
127#define GLU_FILL 100012
128#define GLU_SILHOUETTE 100013
129
130/* QuadricCallback */
131#define GLU_ERROR 100103
132
133/* QuadricNormal */
134#define GLU_SMOOTH 100000
135#define GLU_FLAT 100001
136#define GLU_NONE 100002
137
138/* QuadricOrientation */
139#define GLU_OUTSIDE 100020
140#define GLU_INSIDE 100021
141
142/* TessCallback */
143#define GLU_TESS_BEGIN 100100
144#define GLU_BEGIN 100100
145#define GLU_TESS_VERTEX 100101
146#define GLU_VERTEX 100101
147#define GLU_TESS_END 100102
148#define GLU_END 100102
149#define GLU_TESS_ERROR 100103
150#define GLU_TESS_EDGE_FLAG 100104
151#define GLU_EDGE_FLAG 100104
152#define GLU_TESS_COMBINE 100105
153#define GLU_TESS_BEGIN_DATA 100106
154#define GLU_TESS_VERTEX_DATA 100107
155#define GLU_TESS_END_DATA 100108
156#define GLU_TESS_ERROR_DATA 100109
157#define GLU_TESS_EDGE_FLAG_DATA 100110
158#define GLU_TESS_COMBINE_DATA 100111
159
160/* TessContour */
161#define GLU_CW 100120
162#define GLU_CCW 100121
163#define GLU_INTERIOR 100122
164#define GLU_EXTERIOR 100123
165#define GLU_UNKNOWN 100124
166
167/* TessProperty */
168#define GLU_TESS_WINDING_RULE 100140
169#define GLU_TESS_BOUNDARY_ONLY 100141
170#define GLU_TESS_TOLERANCE 100142
171
172/* TessError */
173#define GLU_TESS_ERROR1 100151
174#define GLU_TESS_ERROR2 100152
175#define GLU_TESS_ERROR3 100153
176#define GLU_TESS_ERROR4 100154
177#define GLU_TESS_ERROR5 100155
178#define GLU_TESS_ERROR6 100156
179#define GLU_TESS_ERROR7 100157
180#define GLU_TESS_ERROR8 100158
181#define GLU_TESS_MISSING_BEGIN_POLYGON 100151
182#define GLU_TESS_MISSING_BEGIN_CONTOUR 100152
183#define GLU_TESS_MISSING_END_POLYGON 100153
184#define GLU_TESS_MISSING_END_CONTOUR 100154
185#define GLU_TESS_COORD_TOO_LARGE 100155
186#define GLU_TESS_NEED_COMBINE_CALLBACK 100156
187
188/* TessWinding */
189#define GLU_TESS_WINDING_ODD 100130
190#define GLU_TESS_WINDING_NONZERO 100131
191#define GLU_TESS_WINDING_POSITIVE 100132
192#define GLU_TESS_WINDING_NEGATIVE 100133
193#define GLU_TESS_WINDING_ABS_GEQ_TWO 100134
194
195/* Obsolete. For compatibility with previous Sun OpenGL versions */
196#define GLU_INCOMPATIBLE_GL_VERSION 100903
197
198
199/*************************************************************/
200
201
202#ifdef __cplusplus
203class GLUnurbs;
204class GLUquadric;
205class GLUtesselator;
206#else
207typedef struct GLUnurbs GLUnurbs;
208typedef struct GLUquadric GLUquadric;
210#endif
211
216
217#define GLU_TESS_MAX_COORD 1.0e150
218
219/* Internal convenience typedefs */
221
232GLAPI void APIENTRY gluDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops);
236GLAPI void APIENTRY gluEndTrim (GLUnurbs* nurb);
242GLAPI void APIENTRY gluLoadSamplingMatrices (GLUnurbs* nurb, const GLfloat *model, const GLfloat *perspective, const GLint *view);
243GLAPI void APIENTRY gluLookAt (GLdouble eyeX, GLdouble eyeY, GLdouble eyeZ, GLdouble centerX, GLdouble centerY, GLdouble centerZ, GLdouble upX, GLdouble upY, GLdouble upZ);
251GLAPI 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);
253GLAPI void APIENTRY gluPartialDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops, GLdouble start, GLdouble sweep);
256GLAPI GLint APIENTRY gluProject (GLdouble objX, GLdouble objY, GLdouble objZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* winX, GLdouble* winY, GLdouble* winZ);
263GLAPI GLint APIENTRY gluScaleImage (GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void *dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid* dataOut);
264GLAPI void APIENTRY gluSphere (GLUquadric* quad, GLdouble radius, GLint slices, GLint stacks);
270GLAPI void APIENTRY gluTessNormal (GLUtesselator* tess, GLdouble valueX, GLdouble valueY, GLdouble valueZ);
273GLAPI GLint APIENTRY gluUnProject (GLdouble winX, GLdouble winY, GLdouble winZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* objX, GLdouble* objY, GLdouble* objZ);
274GLAPI 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);
275
276#ifdef UNICODE
277#define gluErrorStringWIN gluErrorUnicodeStringEXT
278#else
279#define gluErrorStringWIN gluErrorString
280#endif
281
282#ifdef __cplusplus
283}
284#endif
285
286#endif /* __glu_h__ */
GLAPI GLUquadric *GLAPIENTRY gluNewQuadric(void)
Definition: quad.c:54
GLAPI GLUtesselator *GLAPIENTRY gluNewTess(void)
Definition: tess.c:92
GLUtesselator GLUtriangulatorObj
Definition: glu.h:282
GLUtesselator GLUtesselatorObj
Definition: glu.h:281
GLUnurbs GLUnurbsObj
Definition: glu.h:279
GLAPI GLUnurbs *GLAPIENTRY gluNewNurbsRenderer(void)
Definition: glinterface.cc:66
#define GLAPI
Definition: glu.h:61
GLUquadric GLUquadricObj
Definition: glu.h:280
#define APIENTRY
Definition: api.h:79
unsigned char GLubyte
Definition: gl.h:157
GLuint start
Definition: gl.h:1545
float GLfloat
Definition: gl.h:161
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
double GLdouble
Definition: gl.h:163
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
unsigned int GLenum
Definition: gl.h:150
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
Definition: gl.h:1546
GLint GLint GLsizei GLsizei height
Definition: gl.h:1546
int GLsizei
Definition: gl.h:160
int GLint
Definition: gl.h:156
GLint GLint GLsizei width
Definition: gl.h:1546
unsigned char GLboolean
Definition: gl.h:151
GLenum GLuint texture
Definition: glext.h:6295
GLsizei stride
Definition: glext.h:5848
GLdouble GLdouble GLdouble GLdouble GLdouble zNear
Definition: glext.h:10859
GLdouble zFar
Definition: glext.h:10465
GLdouble GLdouble GLdouble GLdouble top
Definition: glext.h:10859
GLdouble GLdouble right
Definition: glext.h:10859
GLint left
Definition: glext.h:7726
GLint GLint bottom
Definition: glext.h:7726
GLuint GLdouble GLdouble GLint GLint order
Definition: glext.h:11194
GLenum internalFormat
Definition: glext.h:8404
GLenum target
Definition: glext.h:7315
#define gluBuild1DMipmaps
Definition: glu_mangle.h:34
#define gluQuadricCallback
Definition: glu_mangle.h:42
#define gluDisk
Definition: glu_mangle.h:45
#define gluNurbsSurface
Definition: glu_mangle.h:57
#define gluNextContour
Definition: glu_mangle.h:74
#define gluOrtho2D
Definition: glu_mangle.h:27
#define gluScaleImage
Definition: glu_mangle.h:33
#define gluEndCurve
Definition: glu_mangle.h:53
#define gluTessEndPolygon
Definition: glu_mangle.h:67
#define gluTessVertex
Definition: glu_mangle.h:66
#define gluLoadSamplingMatrices
Definition: glu_mangle.h:49
#define gluPerspective
Definition: glu_mangle.h:28
#define gluLookAt
Definition: glu_mangle.h:26
#define gluTessBeginContour
Definition: glu_mangle.h:65
#define gluBeginPolygon
Definition: glu_mangle.h:73
#define gluTessEndContour
Definition: glu_mangle.h:68
#define gluPartialDisk
Definition: glu_mangle.h:46
#define gluPickMatrix
Definition: glu_mangle.h:29
#define gluQuadricNormals
Definition: glu_mangle.h:40
#define gluBeginSurface
Definition: glu_mangle.h:55
#define gluDeleteNurbsRenderer
Definition: glu_mangle.h:48
#define gluGetTessProperty
Definition: glu_mangle.h:72
#define gluNurbsCurve
Definition: glu_mangle.h:54
#define gluProject
Definition: glu_mangle.h:30
#define gluDeleteTess
Definition: glu_mangle.h:63
#define gluNurbsCallback
Definition: glu_mangle.h:61
#define gluTessProperty
Definition: glu_mangle.h:69
#define gluBeginCurve
Definition: glu_mangle.h:52
#define gluEndSurface
Definition: glu_mangle.h:56
#define gluGetNurbsProperty
Definition: glu_mangle.h:51
#define gluEndPolygon
Definition: glu_mangle.h:75
#define gluTessCallback
Definition: glu_mangle.h:71
#define gluTessNormal
Definition: glu_mangle.h:70
#define gluCylinder
Definition: glu_mangle.h:43
#define gluNurbsProperty
Definition: glu_mangle.h:50
#define gluPwlCurve
Definition: glu_mangle.h:60
#define gluTessBeginPolygon
Definition: glu_mangle.h:64
#define gluUnProject
Definition: glu_mangle.h:31
#define gluGetString
Definition: glu_mangle.h:76
#define gluQuadricOrientation
Definition: glu_mangle.h:39
#define gluSphere
Definition: glu_mangle.h:44
#define gluBuild2DMipmaps
Definition: glu_mangle.h:35
#define gluQuadricTexture
Definition: glu_mangle.h:41
#define gluQuadricDrawStyle
Definition: glu_mangle.h:38
#define gluDeleteQuadric
Definition: glu_mangle.h:37
#define gluEndTrim
Definition: glu_mangle.h:59
#define gluBeginTrim
Definition: glu_mangle.h:58
#define gluUnProject4
Definition: glu_mangle.h:82
#define gluErrorString
Definition: glu_mangle.h:32
#define error(str)
Definition: mkdosfs.c:1605
@ normal
Definition: optimize.h:166
static void quad(GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3, GLuint pv)
Definition: quads.c:63
GLAPI const wchar_t *APIENTRY gluErrorUnicodeStringEXT(GLenum error)
Definition: name.c:39
Definition: pdh_main.c:94
int clipW
Definition: vnc.c:99
static GLenum which
Definition: wgl_font.c:159
void(WINAPI * _GLUfuncptr)(void)
Definition: wgl_font.c:148