b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync * Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved.
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync * Permission is hereby granted, free of charge, to any person obtaining a
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync * copy of this software and associated documentation files (the "Software"),
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync * to deal in the Software without restriction, including without limitation
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync * the rights to use, copy, modify, merge, publish, distribute, sublicense,
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync * and/or sell copies of the Software, and to permit persons to whom the
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync * Software is furnished to do so, subject to the following conditions:
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync * The above copyright notice including the dates of first publication and
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync * either this permission notice or a reference to
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync * shall be included in all copies or substantial portions of the Software.
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync * SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync * SOFTWARE.
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync * Except as contained in this notice, the name of Silicon Graphics, Inc.
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync * shall not be used in advertising or otherwise to promote the sale, use or
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync * other dealings in this Software without prior written authorization from
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync * Silicon Graphics, Inc.
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync#if (defined(_MSC_VER) || defined(__MINGW32__)) && defined(BUILD_GLU32)
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync#elif (defined(_MSC_VER) || defined(__MINGW32__)) && defined(_DLL)
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync/* tag specifying we're building for DLL runtime support */
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync/* for use with static link lib build of Win32 edition only */
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync#endif /* _STATIC_MESA support */
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncextern "C" {
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync/*************************************************************/
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync/* Extensions */
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync/* Boolean */
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync/* Version */
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync/* StringName */
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync/* ErrorCode */
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync/* NurbsDisplay */
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync/* GLU_FILL */
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync/* NurbsCallback */
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync/* NurbsError */
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync/* NurbsProperty */
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync/* NurbsSampling */
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync/* NurbsTrim */
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync/* QuadricDrawStyle */
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync/* QuadricCallback */
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync/* GLU_ERROR */
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync/* QuadricNormal */
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync/* QuadricOrientation */
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync/* TessCallback */
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync/* TessContour */
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync/* TessProperty */
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync/* TessError */
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync/* TessWinding */
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync/*************************************************************/
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync/* Internal convenience typedefs */
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluBeginCurve (GLUnurbs* nurb);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluBeginPolygon (GLUtesselator* tess);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluBeginSurface (GLUnurbs* nurb);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluBeginTrim (GLUnurbs* nurb);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI 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);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI GLboolean GLAPIENTRY gluCheckExtension (const GLubyte *extName, const GLubyte *extString);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluCylinder (GLUquadric* quad, GLdouble base, GLdouble top, GLdouble height, GLint slices, GLint stacks);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluDeleteNurbsRenderer (GLUnurbs* nurb);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluDeleteQuadric (GLUquadric* quad);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluDeleteTess (GLUtesselator* tess);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluEndPolygon (GLUtesselator* tess);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluEndSurface (GLUnurbs* nurb);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI const GLubyte * GLAPIENTRY gluErrorString (GLenum error);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluGetNurbsProperty (GLUnurbs* nurb, GLenum property, GLfloat* data);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI const GLubyte * GLAPIENTRY gluGetString (GLenum name);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluGetTessProperty (GLUtesselator* tess, GLenum which, GLdouble* data);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluLoadSamplingMatrices (GLUnurbs* nurb, const GLfloat *model, const GLfloat *perspective, const GLint *view);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluLookAt (GLdouble eyeX, GLdouble eyeY, GLdouble eyeZ, GLdouble centerX, GLdouble centerY, GLdouble centerZ, GLdouble upX, GLdouble upY, GLdouble upZ);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI GLUnurbs* GLAPIENTRY gluNewNurbsRenderer (void);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluNextContour (GLUtesselator* tess, GLenum type);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluNurbsCallback (GLUnurbs* nurb, GLenum which, _GLUfuncptr CallBackFunc);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluNurbsCallbackData (GLUnurbs* nurb, GLvoid* userData);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluNurbsCurve (GLUnurbs* nurb, GLint knotCount, GLfloat *knots, GLint stride, GLfloat *control, GLint order, GLenum type);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluNurbsProperty (GLUnurbs* nurb, GLenum property, GLfloat value);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI 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);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluOrtho2D (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluPartialDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops, GLdouble start, GLdouble sweep);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluPerspective (GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluPickMatrix (GLdouble x, GLdouble y, GLdouble delX, GLdouble delY, GLint *viewport);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI GLint GLAPIENTRY gluProject (GLdouble objX, GLdouble objY, GLdouble objZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* winX, GLdouble* winY, GLdouble* winZ);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluPwlCurve (GLUnurbs* nurb, GLint count, GLfloat* data, GLint stride, GLenum type);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluQuadricCallback (GLUquadric* quad, GLenum which, _GLUfuncptr CallBackFunc);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluQuadricDrawStyle (GLUquadric* quad, GLenum draw);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluQuadricNormals (GLUquadric* quad, GLenum normal);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluQuadricOrientation (GLUquadric* quad, GLenum orientation);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluQuadricTexture (GLUquadric* quad, GLboolean texture);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI GLint GLAPIENTRY gluScaleImage (GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void *dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid* dataOut);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluSphere (GLUquadric* quad, GLdouble radius, GLint slices, GLint stacks);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluTessBeginContour (GLUtesselator* tess);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluTessBeginPolygon (GLUtesselator* tess, GLvoid* data);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluTessCallback (GLUtesselator* tess, GLenum which, _GLUfuncptr CallBackFunc);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluTessEndContour (GLUtesselator* tess);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluTessEndPolygon (GLUtesselator* tess);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluTessNormal (GLUtesselator* tess, GLdouble valueX, GLdouble valueY, GLdouble valueZ);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluTessProperty (GLUtesselator* tess, GLenum which, GLdouble data);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI void GLAPIENTRY gluTessVertex (GLUtesselator* tess, GLdouble *location, GLvoid* data);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI GLint GLAPIENTRY gluUnProject (GLdouble winX, GLdouble winY, GLdouble winZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* objX, GLdouble* objY, GLdouble* objZ);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsyncGLAPI 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);
b6251cd7c3ee1990339b293f31a18bccb5602ef8vboxsync#endif /* __glu_h__ */