2 * This file is part of duit.
4 * duit is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser General Public License as published by
6 * the Free Software Foundation; either version 2.1 of the License, or
7 * (at your option) any later version.
9 * duit is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public License
15 * along with duit; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 // generated automatically - do not change
20 // find conversion definition on APILookup.txt
21 // implement new conversion functionalities on the wrap.utils pakage
27 private import std
.stdio
;
28 private import glgdk
.glgdktypes
;
29 private import lib
.Loader
;
30 private import lib
.paths
;
33 ** License Applicability. Except to the extent portions of this file are
34 ** made subject to an alternative license as permitted in the SGI Free
35 ** Software License B, Version 1.1 (the "License"), the contents of this
36 ** file are subject only to the provisions of the License. You may not use
37 ** this file except in compliance with the License. You may obtain a copy
38 ** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
39 ** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
41 ** http://oss.sgi.com/projects/FreeB
43 ** Note that, as provided in the License, the Software is distributed on an
44 ** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
45 ** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
46 ** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
47 ** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
49 ** Original Code. The Original Code is: OpenGL Sample Implementation,
50 ** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
51 ** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
52 ** Copyright in any portions created by third parties is as indicated
53 ** elsewhere herein. All Rights Reserved.
55 ** Additional Notice Provisions: This software was created using the
56 ** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has
57 ** not been independently verified as being compliant with the OpenGL(R)
58 ** version 1.2.1 Specification.
64 //#if defined(USE_MGL_NAMESPACE)
65 //#include "glu_mangle.h"
73 /*************************************************************/
76 const GLU_EXT_object_space_tess
= 1;
78 const GLU_EXT_nurbs_tessellator
= 1;
84 const GLU_VERSION_1_1
= 1;
85 const GLU_VERSION_1_2
= 1;
87 const GLU_VERSION_1_3
= 1;
89 const GLU_VERSION
= 100800;
91 const GLU_EXTENSIONS
= 100801;
93 const GLU_INVALID_ENUM
= 100900;
94 const GLU_INVALID_VALUE
= 100901;
95 const GLU_OUT_OF_MEMORY
= 100902;
96 const GLU_INCOMPATIBLE_GL_VERSION
= 100903;
98 const GLU_INVALID_OPERATION
= 100904;
101 const GLU_OUTLINE_POLYGON
= 100240;
103 const GLU_OUTLINE_PATCH
= 100241;
105 const GLU_NURBS_ERROR
= 100103;
106 const GLU_ERROR
= 100103;
107 const GLU_NURBS_BEGIN
= 100164;
108 const GLU_NURBS_BEGIN_EXT
= 100164;
109 const GLU_NURBS_VERTEX
= 100165;
110 const GLU_NURBS_VERTEX_EXT
= 100165;
111 const GLU_NURBS_NORMAL
= 100166;
112 const GLU_NURBS_NORMAL_EXT
= 100166;
113 const GLU_NURBS_COLOR
= 100167;
114 const GLU_NURBS_COLOR_EXT
= 100167;
115 const GLU_NURBS_TEXTURE_COORD
= 100168;
116 const GLU_NURBS_TEX_COORD_EXT
= 100168;
117 const GLU_NURBS_END
= 100169;
118 const GLU_NURBS_END_EXT
= 100169;
119 const GLU_NURBS_BEGIN_DATA
= 100170;
120 const GLU_NURBS_BEGIN_DATA_EXT
= 100170;
121 const GLU_NURBS_VERTEX_DATA
= 100171;
122 const GLU_NURBS_VERTEX_DATA_EXT
= 100171;
123 const GLU_NURBS_NORMAL_DATA
= 100172;
124 const GLU_NURBS_NORMAL_DATA_EXT
= 100172;
125 const GLU_NURBS_COLOR_DATA
= 100173;
126 const GLU_NURBS_COLOR_DATA_EXT
= 100173;
127 const GLU_NURBS_TEXTURE_COORD_DATA
= 100174;
128 const GLU_NURBS_TEX_COORD_DATA_EXT
= 100174;
129 const GLU_NURBS_END_DATA
= 100175;
131 const GLU_NURBS_END_DATA_EXT
= 100175;
133 const GLU_NURBS_ERROR1
= 100251;
134 const GLU_NURBS_ERROR2
= 100252;
135 const GLU_NURBS_ERROR3
= 100253;
136 const GLU_NURBS_ERROR4
= 100254;
137 const GLU_NURBS_ERROR5
= 100255;
138 const GLU_NURBS_ERROR6
= 100256;
139 const GLU_NURBS_ERROR7
= 100257;
140 const GLU_NURBS_ERROR8
= 100258;
141 const GLU_NURBS_ERROR9
= 100259;
142 const GLU_NURBS_ERROR10
= 100260;
143 const GLU_NURBS_ERROR11
= 100261;
144 const GLU_NURBS_ERROR12
= 100262;
145 const GLU_NURBS_ERROR13
= 100263;
146 const GLU_NURBS_ERROR14
= 100264;
147 const GLU_NURBS_ERROR15
= 100265;
148 const GLU_NURBS_ERROR16
= 100266;
149 const GLU_NURBS_ERROR17
= 100267;
150 const GLU_NURBS_ERROR18
= 100268;
151 const GLU_NURBS_ERROR19
= 100269;
152 const GLU_NURBS_ERROR20
= 100270;
153 const GLU_NURBS_ERROR21
= 100271;
154 const GLU_NURBS_ERROR22
= 100272;
155 const GLU_NURBS_ERROR23
= 100273;
156 const GLU_NURBS_ERROR24
= 100274;
157 const GLU_NURBS_ERROR25
= 100275;
158 const GLU_NURBS_ERROR26
= 100276;
159 const GLU_NURBS_ERROR27
= 100277;
160 const GLU_NURBS_ERROR28
= 100278;
161 const GLU_NURBS_ERROR29
= 100279;
162 const GLU_NURBS_ERROR30
= 100280;
163 const GLU_NURBS_ERROR31
= 100281;
164 const GLU_NURBS_ERROR32
= 100282;
165 const GLU_NURBS_ERROR33
= 100283;
166 const GLU_NURBS_ERROR34
= 100284;
167 const GLU_NURBS_ERROR35
= 100285;
168 const GLU_NURBS_ERROR36
= 100286;
170 const GLU_NURBS_ERROR37
= 100287;
172 const GLU_AUTO_LOAD_MATRIX
= 100200;
173 const GLU_CULLING
= 100201;
174 const GLU_SAMPLING_TOLERANCE
= 100203;
175 const GLU_DISPLAY_MODE
= 100204;
176 const GLU_PARAMETRIC_TOLERANCE
= 100202;
177 const GLU_SAMPLING_METHOD
= 100205;
178 const GLU_U_STEP
= 100206;
179 const GLU_V_STEP
= 100207;
180 const GLU_NURBS_MODE
= 100160;
181 const GLU_NURBS_MODE_EXT
= 100160;
182 const GLU_NURBS_TESSELLATOR
= 100161;
183 const GLU_NURBS_TESSELLATOR_EXT
= 100161;
184 const GLU_NURBS_RENDERER
= 100162;
186 const GLU_NURBS_RENDERER_EXT
= 100162;
188 const GLU_OBJECT_PARAMETRIC_ERROR
= 100208;
189 const GLU_OBJECT_PARAMETRIC_ERROR_EXT
= 100208;
190 const GLU_OBJECT_PATH_LENGTH
= 100209;
191 const GLU_OBJECT_PATH_LENGTH_EXT
= 100209;
192 const GLU_PATH_LENGTH
= 100215;
193 const GLU_PARAMETRIC_ERROR
= 100216;
195 const GLU_DOMAIN_DISTANCE
= 100217;
197 const GLU_MAP1_TRIM_2
= 100210;
199 const GLU_MAP1_TRIM_3
= 100211;
200 /* QuadricDrawStyle */
201 const GLU_POINT
= 100010;
202 const GLU_LINE
= 100011;
203 const GLU_FILL
= 100012;
205 const GLU_SILHOUETTE
= 100013;
206 /* QuadricCallback */
210 const GLU_SMOOTH
= 100000;
211 const GLU_FLAT
= 100001;
213 const GLU_NONE
= 100002;
214 /* QuadricOrientation */
215 const GLU_OUTSIDE
= 100020;
217 const GLU_INSIDE
= 100021;
219 const GLU_TESS_BEGIN
= 100100;
220 const GLU_BEGIN
= 100100;
221 const GLU_TESS_VERTEX
= 100101;
222 const GLU_VERTEX
= 100101;
223 const GLU_TESS_END
= 100102;
224 const GLU_END
= 100102;
225 const GLU_TESS_ERROR
= 100103;
226 const GLU_TESS_EDGE_FLAG
= 100104;
227 const GLU_EDGE_FLAG
= 100104;
228 const GLU_TESS_COMBINE
= 100105;
229 const GLU_TESS_BEGIN_DATA
= 100106;
230 const GLU_TESS_VERTEX_DATA
= 100107;
231 const GLU_TESS_END_DATA
= 100108;
232 const GLU_TESS_ERROR_DATA
= 100109;
233 const GLU_TESS_EDGE_FLAG_DATA
= 100110;
235 const GLU_TESS_COMBINE_DATA
= 100111;
237 const GLU_CW
= 100120;
238 const GLU_CCW
= 100121;
239 const GLU_INTERIOR
= 100122;
240 const GLU_EXTERIOR
= 100123;
242 const GLU_UNKNOWN
= 100124;
244 const GLU_TESS_WINDING_RULE
= 100140;
245 const GLU_TESS_BOUNDARY_ONLY
= 100141;
247 const GLU_TESS_TOLERANCE
= 100142;
249 const GLU_TESS_ERROR1
= 100151;
250 const GLU_TESS_ERROR2
= 100152;
251 const GLU_TESS_ERROR3
= 100153;
252 const GLU_TESS_ERROR4
= 100154;
253 const GLU_TESS_ERROR5
= 100155;
254 const GLU_TESS_ERROR6
= 100156;
255 const GLU_TESS_ERROR7
= 100157;
256 const GLU_TESS_ERROR8
= 100158;
257 const GLU_TESS_MISSING_BEGIN_POLYGON
= 100151;
258 const GLU_TESS_MISSING_BEGIN_CONTOUR
= 100152;
259 const GLU_TESS_MISSING_END_POLYGON
= 100153;
260 const GLU_TESS_MISSING_END_CONTOUR
= 100154;
261 const GLU_TESS_COORD_TOO_LARGE
= 100155;
263 const GLU_TESS_NEED_COMBINE_CALLBACK
= 100156;
265 const GLU_TESS_WINDING_ODD
= 100130;
266 const GLU_TESS_WINDING_NONZERO
= 100131;
267 const GLU_TESS_WINDING_POSITIVE
= 100132;
268 const GLU_TESS_WINDING_NEGATIVE
= 100133;
270 const GLU_TESS_WINDING_ABS_GEQ_TWO
= 100134;
271 /*************************************************************/
277 //class GLUtesselator;
283 alias int GLUquadric
;
284 alias int GLUtesselator
;
285 alias GLUtesselator GLUtriangulatorObj
;
288 const GLU_TESS_MAX_COORD
= 1.0e150
;
289 /* Internal convenience typedefs */
290 alias void function()_GLUfuncptr
;
296 void gluBeginCurve(GLUnurbs
*nurb
);
297 void gluBeginPolygon(GLUtesselator
*tess
);
298 void gluBeginSurface(GLUnurbs
*nurb
);
299 void gluBeginTrim(GLUnurbs
*nurb
);
300 GLint
gluBuild1DMipmapLevels(GLenum target
, GLint internalFormat
, GLsizei width
, GLenum format
, GLenum type
, GLint level
, GLint base
, GLint max
, void *data
);
301 GLint
gluBuild1DMipmaps(GLenum target
, GLint internalFormat
, GLsizei width
, GLenum format
, GLenum type
, void *data
);
302 GLint
gluBuild2DMipmapLevels(GLenum target
, GLint internalFormat
, GLsizei width
, GLsizei height
, GLenum format
, GLenum type
, GLint level
, GLint base
, GLint max
, void *data
);
303 GLint
gluBuild2DMipmaps(GLenum target
, GLint internalFormat
, GLsizei width
, GLsizei height
, GLenum format
, GLenum type
, void *data
);
304 GLint
gluBuild3DMipmapLevels(GLenum target
, GLint internalFormat
, GLsizei width
, GLsizei height
, GLsizei depth
, GLenum format
, GLenum type
, GLint level
, GLint base
, GLint max
, void *data
);
305 GLint
gluBuild3DMipmaps(GLenum target
, GLint internalFormat
, GLsizei width
, GLsizei height
, GLsizei depth
, GLenum format
, GLenum type
, void *data
);
306 GLboolean
gluCheckExtension(GLubyte
*extName
, GLubyte
*extString
);
307 void gluCylinder(GLUquadric
*quad
, GLdouble base
, GLdouble top
, GLdouble height
, GLint slices
, GLint stacks
);
308 void gluDeleteNurbsRenderer(GLUnurbs
*nurb
);
309 void gluDeleteQuadric(GLUquadric
*quad
);
310 void gluDeleteTess(GLUtesselator
*tess
);
311 void gluDisk(GLUquadric
*quad
, GLdouble inner
, GLdouble outer
, GLint slices
, GLint loops
);
312 void gluEndCurve(GLUnurbs
*nurb
);
313 void gluEndPolygon(GLUtesselator
*tess
);
314 void gluEndSurface(GLUnurbs
*nurb
);
315 void gluEndTrim(GLUnurbs
*nurb
);
316 GLubyte
* gluErrorString(GLenum error
);
317 void gluGetNurbsProperty(GLUnurbs
*nurb
, GLenum property
, GLfloat
*data
);
318 GLubyte
* gluGetString(GLenum name
);
319 void gluGetTessProperty(GLUtesselator
*tess
, GLenum which
, GLdouble
*data
);
320 void gluLoadSamplingMatrices(GLUnurbs
*nurb
, GLfloat
*model
, GLfloat
*perspective
, GLint
*view
);
321 void gluLookAt(GLdouble eyeX
, GLdouble eyeY
, GLdouble eyeZ
, GLdouble centerX
, GLdouble centerY
, GLdouble centerZ
, GLdouble upX
, GLdouble upY
, GLdouble upZ
);
322 GLUnurbs
* gluNewNurbsRenderer();
323 GLUquadric
* gluNewQuadric();
324 GLUtesselator
* gluNewTess();
325 void gluNextContour(GLUtesselator
*tess
, GLenum type
);
326 void gluNurbsCallback(GLUnurbs
*nurb
, GLenum which
, _GLUfuncptr CallBackFunc
);
327 void gluNurbsCallbackData(GLUnurbs
*nurb
, GLvoid
*userData
);
328 void gluNurbsCallbackDataEXT(GLUnurbs
*nurb
, GLvoid
*userData
);
329 void gluNurbsCurve(GLUnurbs
*nurb
, GLint knotCount
, GLfloat
*knots
, GLint stride
, GLfloat
*control
, GLint order
, GLenum type
);
330 void gluNurbsProperty(GLUnurbs
*nurb
, GLenum property
, GLfloat value
);
331 void gluNurbsSurface(GLUnurbs
*nurb
, GLint sKnotCount
, GLfloat
*sKnots
, GLint tKnotCount
, GLfloat
*tKnots
, GLint sStride
, GLint tStride
, GLfloat
*control
, GLint sOrder
, GLint tOrder
, GLenum type
);
332 void gluOrtho2D(GLdouble left
, GLdouble right
, GLdouble bottom
, GLdouble top
);
333 void gluPartialDisk(GLUquadric
*quad
, GLdouble inner
, GLdouble outer
, GLint slices
, GLint loops
, GLdouble start
, GLdouble sweep
);
334 void gluPerspective(GLdouble fovy
, GLdouble aspect
, GLdouble zNear
, GLdouble zFar
);
335 void gluPickMatrix(GLdouble x
, GLdouble y
, GLdouble delX
, GLdouble delY
, GLint
*viewport
);
336 GLint
gluProject(GLdouble objX
, GLdouble objY
, GLdouble objZ
, GLdouble
*model
, GLdouble
*proj
, GLint
*view
, GLdouble
*winX
, GLdouble
*winY
, GLdouble
*winZ
);
337 void gluPwlCurve(GLUnurbs
*nurb
, GLint count
, GLfloat
*data
, GLint stride
, GLenum type
);
338 void gluQuadricCallback(GLUquadric
*quad
, GLenum which
, _GLUfuncptr CallBackFunc
);
339 void gluQuadricDrawStyle(GLUquadric
*quad
, GLenum draw
);
340 void gluQuadricNormals(GLUquadric
*quad
, GLenum normal
);
341 void gluQuadricOrientation(GLUquadric
*quad
, GLenum orientation
);
342 void gluQuadricTexture(GLUquadric
*quad
, GLboolean texture
);
343 GLint
gluScaleImage(GLenum format
, GLsizei wIn
, GLsizei hIn
, GLenum typeIn
, void *dataIn
, GLsizei wOut
, GLsizei hOut
, GLenum typeOut
, GLvoid
*dataOut
);
344 void gluSphere(GLUquadric
*quad
, GLdouble radius
, GLint slices
, GLint stacks
);
345 void gluTessBeginContour(GLUtesselator
*tess
);
346 void gluTessBeginPolygon(GLUtesselator
*tess
, GLvoid
*data
);
347 void gluTessCallback(GLUtesselator
*tess
, GLenum which
, _GLUfuncptr CallBackFunc
);
348 void gluTessEndContour(GLUtesselator
*tess
);
349 void gluTessEndPolygon(GLUtesselator
*tess
);
350 void gluTessNormal(GLUtesselator
*tess
, GLdouble valueX
, GLdouble valueY
, GLdouble valueZ
);
351 void gluTessProperty(GLUtesselator
*tess
, GLenum which
, GLdouble data
);
352 void gluTessVertex(GLUtesselator
*tess
, GLdouble
*location
, GLvoid
*data
);
353 GLint
gluUnProject(GLdouble winX
, GLdouble winY
, GLdouble winZ
, GLdouble
*model
, GLdouble
*proj
, GLint
*view
, GLdouble
*objX
, GLdouble
*objY
, GLdouble
*objZ
);
354 GLint
gluUnProject4(GLdouble winX
, GLdouble winY
, GLdouble winZ
, GLdouble clipW
, GLdouble
*model
, GLdouble
*proj
, GLint
*view
, GLdouble nearVal
, GLdouble farVal
, GLdouble
*objX
, GLdouble
*objY
, GLdouble
*objZ
, GLdouble
*objW
);
361 { "gluBeginCurve", cast(void**)& gluBeginCurve
},
362 { "gluBeginPolygon", cast(void**)& gluBeginPolygon
},
363 { "gluBeginSurface", cast(void**)& gluBeginSurface
},
364 { "gluBeginTrim", cast(void**)& gluBeginTrim
},
365 { "gluBuild1DMipmapLevels", cast(void**)& gluBuild1DMipmapLevels
},
366 { "gluBuild1DMipmaps", cast(void**)& gluBuild1DMipmaps
},
367 { "gluBuild2DMipmapLevels", cast(void**)& gluBuild2DMipmapLevels
},
368 { "gluBuild2DMipmaps", cast(void**)& gluBuild2DMipmaps
},
369 { "gluBuild3DMipmapLevels", cast(void**)& gluBuild3DMipmapLevels
},
370 { "gluBuild3DMipmaps", cast(void**)& gluBuild3DMipmaps
},
371 { "gluCheckExtension", cast(void**)& gluCheckExtension
},
372 { "gluCylinder", cast(void**)& gluCylinder
},
373 { "gluDeleteNurbsRenderer", cast(void**)& gluDeleteNurbsRenderer
},
374 { "gluDeleteQuadric", cast(void**)& gluDeleteQuadric
},
375 { "gluDeleteTess", cast(void**)& gluDeleteTess
},
376 { "gluDisk", cast(void**)& gluDisk
},
377 { "gluEndCurve", cast(void**)& gluEndCurve
},
378 { "gluEndPolygon", cast(void**)& gluEndPolygon
},
379 { "gluEndSurface", cast(void**)& gluEndSurface
},
380 { "gluEndTrim", cast(void**)& gluEndTrim
},
381 { "gluErrorString", cast(void**)& gluErrorString
},
382 { "gluGetNurbsProperty", cast(void**)& gluGetNurbsProperty
},
383 { "gluGetString", cast(void**)& gluGetString
},
384 { "gluGetTessProperty", cast(void**)& gluGetTessProperty
},
385 { "gluLoadSamplingMatrices", cast(void**)& gluLoadSamplingMatrices
},
386 { "gluLookAt", cast(void**)& gluLookAt
},
387 { "gluNewNurbsRenderer", cast(void**)& gluNewNurbsRenderer
},
388 { "gluNewQuadric", cast(void**)& gluNewQuadric
},
389 { "gluNewTess", cast(void**)& gluNewTess
},
390 { "gluNextContour", cast(void**)& gluNextContour
},
391 { "gluNurbsCallback", cast(void**)& gluNurbsCallback
},
392 { "gluNurbsCallbackData", cast(void**)& gluNurbsCallbackData
},
393 { "gluNurbsCallbackDataEXT", cast(void**)& gluNurbsCallbackDataEXT
},
394 { "gluNurbsCurve", cast(void**)& gluNurbsCurve
},
395 { "gluNurbsProperty", cast(void**)& gluNurbsProperty
},
396 { "gluNurbsSurface", cast(void**)& gluNurbsSurface
},
397 { "gluOrtho2D", cast(void**)& gluOrtho2D
},
398 { "gluPartialDisk", cast(void**)& gluPartialDisk
},
399 { "gluPerspective", cast(void**)& gluPerspective
},
400 { "gluPickMatrix", cast(void**)& gluPickMatrix
},
401 { "gluProject", cast(void**)& gluProject
},
402 { "gluPwlCurve", cast(void**)& gluPwlCurve
},
403 { "gluQuadricCallback", cast(void**)& gluQuadricCallback
},
404 { "gluQuadricDrawStyle", cast(void**)& gluQuadricDrawStyle
},
405 { "gluQuadricNormals", cast(void**)& gluQuadricNormals
},
406 { "gluQuadricOrientation", cast(void**)& gluQuadricOrientation
},
407 { "gluQuadricTexture", cast(void**)& gluQuadricTexture
},
408 { "gluScaleImage", cast(void**)& gluScaleImage
},
409 { "gluSphere", cast(void**)& gluSphere
},
410 { "gluTessBeginContour", cast(void**)& gluTessBeginContour
},
411 { "gluTessBeginPolygon", cast(void**)& gluTessBeginPolygon
},
412 { "gluTessCallback", cast(void**)& gluTessCallback
},
413 { "gluTessEndContour", cast(void**)& gluTessEndContour
},
414 { "gluTessEndPolygon", cast(void**)& gluTessEndPolygon
},
415 { "gluTessNormal", cast(void**)& gluTessNormal
},
416 { "gluTessProperty", cast(void**)& gluTessProperty
},
417 { "gluTessVertex", cast(void**)& gluTessVertex
},
418 { "gluUnProject", cast(void**)& gluUnProject
},
419 { "gluUnProject4", cast(void**)& gluUnProject4
},