Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Add (agave glu compat)

  • Loading branch information...
commit 62f3435b7ea10b1bbff6eb936757136e209fcec1 1 parent d2e9aee
dharmatech authored
664 glu/compat.chezscheme.sls
View
@@ -0,0 +1,664 @@
+
+;;; Ypsilon Scheme System
+;;; Copyright (c) 2004-2009 Y.FUJITA / LittleWing Company Limited.
+;;; See license.txt for terms and conditions of use.
+
+;;; Ported to Chez Scheme by Ed Cavazos (wayo.cavazos@gmail.com)
+
+(library (glu)
+
+ (export GLU_EXT_object_space_tess
+ GLU_EXT_nurbs_tessellator
+ GLU_FALSE
+ GLU_TRUE
+ GLU_VERSION_1_1
+ GLU_VERSION_1_2
+ GLU_VERSION_1_3
+ GLU_VERSION
+ GLU_EXTENSIONS
+ GLU_INVALID_ENUM
+ GLU_INVALID_VALUE
+ GLU_OUT_OF_MEMORY
+ GLU_INCOMPATIBLE_GL_VERSION
+ GLU_INVALID_OPERATION
+ GLU_OUTLINE_POLYGON
+ GLU_OUTLINE_PATCH
+ GLU_NURBS_ERROR
+ GLU_ERROR
+ GLU_NURBS_BEGIN
+ GLU_NURBS_BEGIN_EXT
+ GLU_NURBS_VERTEX
+ GLU_NURBS_VERTEX_EXT
+ GLU_NURBS_NORMAL
+ GLU_NURBS_NORMAL_EXT
+ GLU_NURBS_COLOR
+ GLU_NURBS_COLOR_EXT
+ GLU_NURBS_TEXTURE_COORD
+ GLU_NURBS_TEX_COORD_EXT
+ GLU_NURBS_END
+ GLU_NURBS_END_EXT
+ GLU_NURBS_BEGIN_DATA
+ GLU_NURBS_BEGIN_DATA_EXT
+ GLU_NURBS_VERTEX_DATA
+ GLU_NURBS_VERTEX_DATA_EXT
+ GLU_NURBS_NORMAL_DATA
+ GLU_NURBS_NORMAL_DATA_EXT
+ GLU_NURBS_COLOR_DATA
+ GLU_NURBS_COLOR_DATA_EXT
+ GLU_NURBS_TEXTURE_COORD_DATA
+ GLU_NURBS_TEX_COORD_DATA_EXT
+ GLU_NURBS_END_DATA
+ GLU_NURBS_END_DATA_EXT
+ GLU_NURBS_ERROR1
+ GLU_NURBS_ERROR2
+ GLU_NURBS_ERROR3
+ GLU_NURBS_ERROR4
+ GLU_NURBS_ERROR5
+ GLU_NURBS_ERROR6
+ GLU_NURBS_ERROR7
+ GLU_NURBS_ERROR8
+ GLU_NURBS_ERROR9
+ GLU_NURBS_ERROR10
+ GLU_NURBS_ERROR11
+ GLU_NURBS_ERROR12
+ GLU_NURBS_ERROR13
+ GLU_NURBS_ERROR14
+ GLU_NURBS_ERROR15
+ GLU_NURBS_ERROR16
+ GLU_NURBS_ERROR17
+ GLU_NURBS_ERROR18
+ GLU_NURBS_ERROR19
+ GLU_NURBS_ERROR20
+ GLU_NURBS_ERROR21
+ GLU_NURBS_ERROR22
+ GLU_NURBS_ERROR23
+ GLU_NURBS_ERROR24
+ GLU_NURBS_ERROR25
+ GLU_NURBS_ERROR26
+ GLU_NURBS_ERROR27
+ GLU_NURBS_ERROR28
+ GLU_NURBS_ERROR29
+ GLU_NURBS_ERROR30
+ GLU_NURBS_ERROR31
+ GLU_NURBS_ERROR32
+ GLU_NURBS_ERROR33
+ GLU_NURBS_ERROR34
+ GLU_NURBS_ERROR35
+ GLU_NURBS_ERROR36
+ GLU_NURBS_ERROR37
+ GLU_AUTO_LOAD_MATRIX
+ GLU_CULLING
+ GLU_SAMPLING_TOLERANCE
+ GLU_DISPLAY_MODE
+ GLU_PARAMETRIC_TOLERANCE
+ GLU_SAMPLING_METHOD
+ GLU_U_STEP
+ GLU_V_STEP
+ GLU_NURBS_MODE
+ GLU_NURBS_MODE_EXT
+ GLU_NURBS_TESSELLATOR
+ GLU_NURBS_TESSELLATOR_EXT
+ GLU_NURBS_RENDERER
+ GLU_NURBS_RENDERER_EXT
+ GLU_OBJECT_PARAMETRIC_ERROR
+ GLU_OBJECT_PARAMETRIC_ERROR_EXT
+ GLU_OBJECT_PATH_LENGTH
+ GLU_OBJECT_PATH_LENGTH_EXT
+ GLU_PATH_LENGTH
+ GLU_PARAMETRIC_ERROR
+ GLU_DOMAIN_DISTANCE
+ GLU_MAP1_TRIM_2
+ GLU_MAP1_TRIM_3
+ GLU_POINT
+ GLU_LINE
+ GLU_FILL
+ GLU_SILHOUETTE
+ GLU_SMOOTH
+ GLU_FLAT
+ GLU_NONE
+ GLU_OUTSIDE
+ GLU_INSIDE
+ GLU_TESS_BEGIN
+ GLU_BEGIN
+ GLU_TESS_VERTEX
+ GLU_VERTEX
+ GLU_TESS_END
+ GLU_END
+ GLU_TESS_ERROR
+ GLU_TESS_EDGE_FLAG
+ GLU_EDGE_FLAG
+ GLU_TESS_COMBINE
+ GLU_TESS_BEGIN_DATA
+ GLU_TESS_VERTEX_DATA
+ GLU_TESS_END_DATA
+ GLU_TESS_ERROR_DATA
+ GLU_TESS_EDGE_FLAG_DATA
+ GLU_TESS_COMBINE_DATA
+ GLU_CW
+ GLU_CCW
+ GLU_INTERIOR
+ GLU_EXTERIOR
+ GLU_UNKNOWN
+ GLU_TESS_WINDING_RULE
+ GLU_TESS_BOUNDARY_ONLY
+ GLU_TESS_TOLERANCE
+ GLU_TESS_ERROR1
+ GLU_TESS_ERROR2
+ GLU_TESS_ERROR3
+ GLU_TESS_ERROR4
+ GLU_TESS_ERROR5
+ GLU_TESS_ERROR6
+ GLU_TESS_ERROR7
+ GLU_TESS_ERROR8
+ GLU_TESS_MISSING_BEGIN_POLYGON
+ GLU_TESS_MISSING_BEGIN_CONTOUR
+ GLU_TESS_MISSING_END_POLYGON
+ GLU_TESS_MISSING_END_CONTOUR
+ GLU_TESS_COORD_TOO_LARGE
+ GLU_TESS_NEED_COMBINE_CALLBACK
+ GLU_TESS_WINDING_ODD
+ GLU_TESS_WINDING_NONZERO
+ GLU_TESS_WINDING_POSITIVE
+ GLU_TESS_WINDING_NEGATIVE
+ GLU_TESS_WINDING_ABS_GEQ_TWO
+ GLU_TESS_MAX_COORD
+ gluBeginCurve
+ gluBeginPolygon
+ gluBeginSurface
+ gluBeginTrim
+ gluBuild1DMipmapLevels
+ gluBuild1DMipmaps
+ gluBuild2DMipmapLevels
+ gluBuild2DMipmaps
+ gluBuild3DMipmapLevels
+ gluBuild3DMipmaps
+ gluCheckExtension
+ gluCylinder
+ gluDeleteNurbsRenderer
+ gluDeleteQuadric
+ gluDeleteTess
+ gluDisk
+ gluEndCurve
+ gluEndPolygon
+ gluEndSurface
+ gluEndTrim
+ gluErrorString
+ gluGetNurbsProperty
+ gluGetString
+ gluGetTessProperty
+ gluLoadSamplingMatrices
+ gluLookAt
+ gluNewNurbsRenderer
+ gluNewQuadric
+ gluNewTess
+ gluNextContour
+
+ ;; gluNurbsCallback
+
+ gluNurbsCallbackData
+ gluNurbsCallbackDataEXT
+ gluNurbsCurve
+ gluNurbsProperty
+ gluNurbsSurface
+ gluOrtho2D
+ gluPartialDisk
+ gluPerspective
+ gluPickMatrix
+ gluProject
+ gluPwlCurve
+
+ ;; gluQuadricCallback
+
+ gluQuadricDrawStyle
+ gluQuadricNormals
+ gluQuadricOrientation
+ gluQuadricTexture
+ gluScaleImage
+ gluSphere
+ gluTessBeginContour
+ gluTessBeginPolygon
+
+ ;; gluTessCallback
+
+ gluTessEndContour
+ gluTessEndPolygon
+ gluTessNormal
+ gluTessProperty
+ gluTessVertex
+ gluUnProject
+ gluUnProject4)
+
+ (import (chezscheme))
+
+ ;; (define lib-name
+ ;; (cond (on-linux "libGLU.so.1")
+ ;; (on-sunos "libGLU.so.1")
+ ;; (on-freebsd "libGLU.so")
+ ;; (on-openbsd "libGLU.so.7.0")
+ ;; (on-darwin "OpenGL.framework/OpenGL")
+ ;; (on-windows "glu32.dll")
+ ;; (else
+ ;; (assertion-violation
+ ;; #f
+ ;; "can not locate GLU library, unknown operating system"))))
+
+ ;; (define lib (load-shared-object lib-name))
+
+ (define no-op (load-shared-object "libGLU.so.1"))
+
+ ;; (define-syntax define-function
+ ;; (syntax-rules ()
+ ;; ((_ ret name args)
+ ;; (define name (c-function lib lib-name ret __stdcall name args)))))
+
+ (define-syntax define-function
+ (syntax-rules ()
+ ((_ ret name args)
+ (define name
+ (foreign-procedure (symbol->string 'name) args ret)))))
+
+ ;;;; Extensions
+ (define GLU_EXT_object_space_tess 1)
+ (define GLU_EXT_nurbs_tessellator 1)
+ ;;;; Boolean
+ (define GLU_FALSE 0)
+ (define GLU_TRUE 1)
+ ;;;; Version
+ (define GLU_VERSION_1_1 1)
+ (define GLU_VERSION_1_2 1)
+ (define GLU_VERSION_1_3 1)
+ ;;;; StringName
+ (define GLU_VERSION 100800)
+ (define GLU_EXTENSIONS 100801)
+ ;;;; ErrorCode
+ (define GLU_INVALID_ENUM 100900)
+ (define GLU_INVALID_VALUE 100901)
+ (define GLU_OUT_OF_MEMORY 100902)
+ (define GLU_INCOMPATIBLE_GL_VERSION 100903)
+ (define GLU_INVALID_OPERATION 100904)
+ ;;;; NurbsDisplay
+ ;;;; GLU_FILL
+ (define GLU_OUTLINE_POLYGON 100240)
+ (define GLU_OUTLINE_PATCH 100241)
+ ;;;; NurbsCallback
+ (define GLU_NURBS_ERROR 100103)
+ (define GLU_ERROR 100103)
+ (define GLU_NURBS_BEGIN 100164)
+ (define GLU_NURBS_BEGIN_EXT 100164)
+ (define GLU_NURBS_VERTEX 100165)
+ (define GLU_NURBS_VERTEX_EXT 100165)
+ (define GLU_NURBS_NORMAL 100166)
+ (define GLU_NURBS_NORMAL_EXT 100166)
+ (define GLU_NURBS_COLOR 100167)
+ (define GLU_NURBS_COLOR_EXT 100167)
+ (define GLU_NURBS_TEXTURE_COORD 100168)
+ (define GLU_NURBS_TEX_COORD_EXT 100168)
+ (define GLU_NURBS_END 100169)
+ (define GLU_NURBS_END_EXT 100169)
+ (define GLU_NURBS_BEGIN_DATA 100170)
+ (define GLU_NURBS_BEGIN_DATA_EXT 100170)
+ (define GLU_NURBS_VERTEX_DATA 100171)
+ (define GLU_NURBS_VERTEX_DATA_EXT 100171)
+ (define GLU_NURBS_NORMAL_DATA 100172)
+ (define GLU_NURBS_NORMAL_DATA_EXT 100172)
+ (define GLU_NURBS_COLOR_DATA 100173)
+ (define GLU_NURBS_COLOR_DATA_EXT 100173)
+ (define GLU_NURBS_TEXTURE_COORD_DATA 100174)
+ (define GLU_NURBS_TEX_COORD_DATA_EXT 100174)
+ (define GLU_NURBS_END_DATA 100175)
+ (define GLU_NURBS_END_DATA_EXT 100175)
+ ;;;; NurbsError
+ (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)
+ ;;;; 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)
+ (define GLU_NURBS_MODE 100160)
+ (define GLU_NURBS_MODE_EXT 100160)
+ (define GLU_NURBS_TESSELLATOR 100161)
+ (define GLU_NURBS_TESSELLATOR_EXT 100161)
+ (define GLU_NURBS_RENDERER 100162)
+ (define GLU_NURBS_RENDERER_EXT 100162)
+ ;;;; NurbsSampling
+ (define GLU_OBJECT_PARAMETRIC_ERROR 100208)
+ (define GLU_OBJECT_PARAMETRIC_ERROR_EXT 100208)
+ (define GLU_OBJECT_PATH_LENGTH 100209)
+ (define GLU_OBJECT_PATH_LENGTH_EXT 100209)
+ (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)
+ ;;;; QuadricDrawStyle
+ (define GLU_POINT 100010)
+ (define GLU_LINE 100011)
+ (define GLU_FILL 100012)
+ (define GLU_SILHOUETTE 100013)
+ ;;;; QuadricCallback
+ ;;;; GLU_ERROR
+ ;;;; QuadricNormal
+ (define GLU_SMOOTH 100000)
+ (define GLU_FLAT 100001)
+ (define GLU_NONE 100002)
+ ;;;; QuadricOrientation
+ (define GLU_OUTSIDE 100020)
+ (define GLU_INSIDE 100021)
+ ;;;; TessCallback
+ (define GLU_TESS_BEGIN 100100)
+ (define GLU_BEGIN 100100)
+ (define GLU_TESS_VERTEX 100101)
+ (define GLU_VERTEX 100101)
+ (define GLU_TESS_END 100102)
+ (define GLU_END 100102)
+ (define GLU_TESS_ERROR 100103)
+ (define GLU_TESS_EDGE_FLAG 100104)
+ (define GLU_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)
+ ;;;; TessContour
+ (define GLU_CW 100120)
+ (define GLU_CCW 100121)
+ (define GLU_INTERIOR 100122)
+ (define GLU_EXTERIOR 100123)
+ (define GLU_UNKNOWN 100124)
+ ;;;; TessProperty
+ (define GLU_TESS_WINDING_RULE 100140)
+ (define GLU_TESS_BOUNDARY_ONLY 100141)
+ (define GLU_TESS_TOLERANCE 100142)
+ ;;;; 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 100151)
+ (define GLU_TESS_MISSING_BEGIN_CONTOUR 100152)
+ (define GLU_TESS_MISSING_END_POLYGON 100153)
+ (define GLU_TESS_MISSING_END_CONTOUR 100154)
+ (define GLU_TESS_COORD_TOO_LARGE 100155)
+ (define GLU_TESS_NEED_COMBINE_CALLBACK 100156)
+ ;;;; 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)
+ (define GLU_TESS_MAX_COORD 1.0e150)
+
+ ;; void gluBeginCurve (GLUnurbs* nurb)
+ (define-function void gluBeginCurve (void*))
+
+ ;; void gluBeginPolygon (GLUtesselator* tess)
+ (define-function void gluBeginPolygon (void*))
+
+ ;; void gluBeginSurface (GLUnurbs* nurb)
+ (define-function void gluBeginSurface (void*))
+
+ ;; void gluBeginTrim (GLUnurbs* nurb)
+ (define-function void gluBeginTrim (void*))
+
+ ;; GLint gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void* data)
+ (define-function int gluBuild1DMipmapLevels (unsigned-int int int unsigned-int unsigned-int int int int void*))
+
+ ;; GLint gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void* data)
+ (define-function int gluBuild1DMipmaps (unsigned-int int int unsigned-int unsigned-int void*))
+
+ ;; GLint gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void* data)
+ (define-function int gluBuild2DMipmapLevels (unsigned-int int int int unsigned-int unsigned-int int int int void*))
+
+ ;; GLint gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* data)
+ (define-function int gluBuild2DMipmaps (unsigned-int int int int unsigned-int unsigned-int void*))
+
+ ;; GLint gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void* data)
+ (define-function int gluBuild3DMipmapLevels (unsigned-int int int int int unsigned-int unsigned-int int int int void*))
+
+ ;; GLint gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* data)
+ (define-function int gluBuild3DMipmaps (unsigned-int int int int int unsigned-int unsigned-int void*))
+
+ ;; GLboolean gluCheckExtension (const GLubyte* extName, const GLubyte* extString)
+
+ (define-function unsigned-8 gluCheckExtension (void* void*))
+
+ ;; void gluCylinder (GLUquadric* quad, GLdouble base, GLdouble top, GLdouble height, GLint slices, GLint stacks)
+ (define-function void gluCylinder (void* double double double int int))
+
+ ;; void gluDeleteNurbsRenderer (GLUnurbs* nurb)
+ (define-function void gluDeleteNurbsRenderer (void*))
+
+ ;; void gluDeleteQuadric (GLUquadric* quad)
+ (define-function void gluDeleteQuadric (void*))
+
+ ;; void gluDeleteTess (GLUtesselator* tess)
+ (define-function void gluDeleteTess (void*))
+
+ ;; void gluDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops)
+ (define-function void gluDisk (void* double double int int))
+
+ ;; void gluEndCurve (GLUnurbs* nurb)
+ (define-function void gluEndCurve (void*))
+
+ ;; void gluEndPolygon (GLUtesselator* tess)
+ (define-function void gluEndPolygon (void*))
+
+ ;; void gluEndSurface (GLUnurbs* nurb)
+ (define-function void gluEndSurface (void*))
+
+ ;; void gluEndTrim (GLUnurbs* nurb)
+ (define-function void gluEndTrim (void*))
+
+ ;; const GLubyte* gluErrorString (GLenum error)
+ (define-function void* gluErrorString (unsigned-int))
+
+ ;; void gluGetNurbsProperty (GLUnurbs* nurb, GLenum property, GLfloat* data)
+ (define-function void gluGetNurbsProperty (void* unsigned-int void*))
+
+ ;; const GLubyte* gluGetString (GLenum name)
+ (define-function void* gluGetString (unsigned-int))
+
+ ;; void gluGetTessProperty (GLUtesselator* tess, GLenum which, GLdouble* data)
+ (define-function void gluGetTessProperty (void* unsigned-int void*))
+
+ ;; void gluLoadSamplingMatrices (GLUnurbs* nurb, const GLfloat* model, const GLfloat* perspective, const GLint* view)
+ (define-function void gluLoadSamplingMatrices (void* void* void* void*))
+
+ ;; void gluLookAt (GLdouble eyeX, GLdouble eyeY, GLdouble eyeZ, GLdouble centerX, GLdouble centerY, GLdouble centerZ, GLdouble upX, GLdouble upY, GLdouble upZ)
+ (define-function void gluLookAt (double double double double double double double double double))
+
+ ;; GLUnurbs* gluNewNurbsRenderer (void)
+ (define-function void* gluNewNurbsRenderer ())
+
+ ;; GLUquadric* gluNewQuadric (void)
+ (define-function void* gluNewQuadric ())
+
+ ;; GLUtesselator* gluNewTess (void)
+ (define-function void* gluNewTess ())
+
+ ;; void gluNextContour (GLUtesselator* tess, GLenum type)
+ (define-function void gluNextContour (void* unsigned-int))
+
+ ;; void gluNurbsCallbackData (GLUnurbs* nurb, GLvoid* userData)
+ (define-function void gluNurbsCallbackData (void* void*))
+
+ ;; void gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData)
+ (define-function void gluNurbsCallbackDataEXT (void* void*))
+
+ ;; void gluNurbsCurve (GLUnurbs* nurb, GLint knotCount, GLfloat* knots, GLint stride, GLfloat* control, GLint order, GLenum type)
+ (define-function void gluNurbsCurve (void* int void* int void* int unsigned-int))
+
+ ;; void gluNurbsProperty (GLUnurbs* nurb, GLenum property, GLfloat value)
+ (define-function void gluNurbsProperty (void* unsigned-int float))
+
+ ;; void gluNurbsSurface (GLUnurbs* nurb, GLint sKnotCount, GLfloat* sKnots, GLint tKnotCount, GLfloat* tKnots, GLint sStride, GLint tStride, GLfloat* control, GLint sOrder, GLint tOrder, GLenum type)
+ (define-function void gluNurbsSurface (void* int void* int void* int int void* int int unsigned-int))
+
+ ;; void gluOrtho2D (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top)
+ (define-function void gluOrtho2D (double double double double))
+
+ ;; void gluPartialDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops, GLdouble start, GLdouble sweep)
+ (define-function void gluPartialDisk (void* double double int int double double))
+
+ ;; void gluPerspective (GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar)
+ (define-function void gluPerspective (double double double double))
+
+ ;; void gluPickMatrix (GLdouble x, GLdouble y, GLdouble delX, GLdouble delY, GLint *viewport)
+ (define-function void gluPickMatrix (double double double double int))
+
+ ;; GLint gluProject (GLdouble objX, GLdouble objY, GLdouble objZ, const GLdouble* model, const GLdouble* proj, const GLint *view, GLdouble* winX, GLdouble* winY, GLdouble* winZ)
+ (define-function int gluProject (double double double void* void* int void* void* void*))
+
+ ;; void gluPwlCurve (GLUnurbs* nurb, GLint count, GLfloat* data, GLint stride, GLenum type)
+ (define-function void gluPwlCurve (void* int void* int unsigned-int))
+
+ ;; void gluQuadricDrawStyle (GLUquadric* quad, GLenum draw)
+ (define-function void gluQuadricDrawStyle (void* unsigned-int))
+
+ ;; void gluQuadricNormals (GLUquadric* quad, GLenum normal)
+ (define-function void gluQuadricNormals (void* unsigned-int))
+
+ ;; void gluQuadricOrientation (GLUquadric* quad, GLenum orientation)
+ (define-function void gluQuadricOrientation (void* unsigned-int))
+
+ ;; void gluQuadricTexture (GLUquadric* quad, GLboolean texture)
+ (define-function void gluQuadricTexture (void* unsigned-8))
+
+ ;; GLint gluScaleImage (GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void* dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid* dataOut)
+ (define-function int gluScaleImage (unsigned-int int int unsigned-int void* int int unsigned-int void*))
+
+ ;; void gluSphere (GLUquadric* quad, GLdouble radius, GLint slices, GLint stacks)
+ (define-function void gluSphere (void* double int int))
+
+ ;; void gluTessBeginContour (GLUtesselator* tess)
+ (define-function void gluTessBeginContour (void*))
+
+ ;; void gluTessBeginPolygon (GLUtesselator* tess, GLvoid* data)
+ (define-function void gluTessBeginPolygon (void* void*))
+
+ ;; void gluTessEndContour (GLUtesselator* tess)
+ (define-function void gluTessEndContour (void*))
+
+ ;; void gluTessEndPolygon (GLUtesselator* tess)
+ (define-function void gluTessEndPolygon (void*))
+
+ ;; void gluTessNormal (GLUtesselator* tess, GLdouble valueX, GLdouble valueY, GLdouble valueZ)
+ (define-function void gluTessNormal (void* double double double))
+
+ ;; void gluTessProperty (GLUtesselator* tess, GLenum which, GLdouble data)
+ (define-function void gluTessProperty (void* unsigned-int double))
+
+ ;; void gluTessVertex (GLUtesselator* tess, GLdouble* location, GLvoid* data)
+ (define-function void gluTessVertex (void* void* void*))
+
+ ;; GLint gluUnProject (GLdouble winX, GLdouble winY, GLdouble winZ, const GLdouble* model, const GLdouble* proj, const GLint *view, GLdouble* objX, GLdouble* objY, GLdouble* objZ)
+ (define-function int gluUnProject (double double double void* void* int void* void* void*))
+
+ ;; GLint 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)
+ (define-function int gluUnProject4 (double double double double void* void* int double double void* void* void* void*))
+
+ ;; void gluNurbsCallback (GLUnurbs* nurb, GLenum which, _GLUfuncptr CallBackFunc)
+
+ ;; (define gluNurbsCallback
+ ;; (let ((thunk (c-function lib lib-name void __stdcall gluNurbsCallback (void* unsigned-int void*)))
+ ;; (alist `((,GLU_NURBS_BEGIN int)
+ ;; (,GLU_NURBS_VERTEX float)
+ ;; (,GLU_NURBS_NORMAL float)
+ ;; (,GLU_NURBS_COLOR float)
+ ;; (,GLU_NURBS_TEXTURE_COORD float)
+ ;; (,GLU_NURBS_END)
+ ;; (,GLU_NURBS_BEGIN_DATA int void*)
+ ;; (,GLU_NURBS_VERTEX_DATA float void*)
+ ;; (,GLU_NURBS_NORMAL_DATA float void*)
+ ;; (,GLU_NURBS_COLOR_DATA float void*)
+ ;; (,GLU_NURBS_TEXTURE_COORD_DATA float void*)
+ ;; (,GLU_NURBS_END_DATA void*)
+ ;; (,GLU_NURBS_ERROR int))))
+ ;; (lambda (nurb which callback)
+ ;; (if (procedure? callback)
+ ;; (let ((lst (assv which alist)))
+ ;; (or lst (assertion-violation 'gluNurbsCallback "invalid value in argument 2" (list nurb which callback)))
+ ;; (thunk nurb which (make-stdcall-callback 'void (cdr lst) callback)))
+ ;; (thunk nurb which callback)))))
+
+ ;; void gluQuadricCallback (GLUquadric* quad, GLenum which, _GLUfuncptr CallBackFunc)
+
+ ;; (define gluQuadricCallback
+ ;; (let ((thunk (c-function lib lib-name void __stdcall gluQuadricCallback (void* unsigned-int void*))))
+ ;; (lambda (quad which callback)
+ ;; (or (eqv? which GLU_ERROR)
+ ;; (assertion-violation 'gluQuadricCallback "invalid value in argument 2" (list quad which callback)))
+ ;; (if (procedure? callback)
+ ;; (thunk quad which (make-stdcall-callback 'void '(unsigned-int) callback))
+ ;; (thunk quad which callback)))))
+
+ ;; void gluTessCallback (GLUtesselator* tess, GLenum which, _GLUfuncptr CallBackFunc)
+ ;; (define gluTessCallback
+ ;; (let ((thunk (c-function lib lib-name void __stdcall gluTessCallback (void* unsigned-int void*)))
+ ;; (alist `((,GLU_TESS_BEGIN unsigned-int)
+ ;; (,GLU_TESS_BEGIN_DATA unsigned-int void*)
+ ;; (,GLU_TESS_EDGE_FLAG uint8_t)
+ ;; (,GLU_TESS_EDGE_FLAG_DATA uint8_t void*)
+ ;; (,GLU_TESS_VERTEX void*)
+ ;; (,GLU_TESS_VERTEX_DATA void* void*)
+ ;; (,GLU_TESS_END)
+ ;; (,GLU_TESS_END_DATA void*)
+ ;; (,GLU_TESS_COMBINE void* void* void* void*)
+ ;; (,GLU_TESS_COMBINE_DATA void* void* void* void* void*)
+ ;; (,GLU_TESS_ERROR unsigned-int)
+ ;; (,GLU_TESS_ERROR_DATA unsigned-int void*))))
+ ;; (lambda (tess which callback)
+ ;; (if (procedure? callback)
+ ;; (let ((lst (assv which alist)))
+ ;; (or lst (assertion-violation 'gluTessCallback "invalid value in argument 2" (list tess which callback)))
+ ;; (thunk tess which (make-stdcall-callback 'void (cdr lst) callback)))
+ ;; (thunk tess which callback)))))
+
+ ) ;[end]
511 glu/compat.ikarus.sls
View
@@ -0,0 +1,511 @@
+
+;; Original version for Gambit by David St-Hilaire
+;;
+;; Ported to Ikarus by Ed Cavazos
+
+(library
+
+ (agave glu compat)
+
+ (export
+
+ GLU_EXT_object_space_tess
+ GLU_EXT_nurbs_tessellator
+ GLU_FALSE
+ GLU_TRUE
+ GLU_VERSION_1_1
+ GLU_VERSION_1_2
+ GLU_VERSION_1_3
+ GLU_VERSION
+ GLU_EXTENSIONS
+ GLU_INVALID_ENUM
+ GLU_INVALID_VALUE
+ GLU_OUT_OF_MEMORY
+ GLU_INCOMPATIBLE_GL_VERSION
+ GLU_INVALID_OPERATION
+ GLU_OUTLINE_POLYGON
+ GLU_OUTLINE_PATCH
+ GLU_NURBS_ERROR
+ GLU_ERROR
+ GLU_NURBS_BEGIN
+ GLU_NURBS_BEGIN_EXT
+ GLU_NURBS_VERTEX
+ GLU_NURBS_VERTEX_EXT
+ GLU_NURBS_NORMAL
+ GLU_NURBS_NORMAL_EXT
+ GLU_NURBS_COLOR
+ GLU_NURBS_COLOR_EXT
+ GLU_NURBS_TEXTURE_COORD
+ GLU_NURBS_TEX_COORD_EXT
+ GLU_NURBS_END
+ GLU_NURBS_END_EXT
+ GLU_NURBS_BEGIN_DATA
+ GLU_NURBS_BEGIN_DATA_EXT
+ GLU_NURBS_VERTEX_DATA
+ GLU_NURBS_VERTEX_DATA_EXT
+ GLU_NURBS_NORMAL_DATA
+ GLU_NURBS_NORMAL_DATA_EXT
+ GLU_NURBS_COLOR_DATA
+ GLU_NURBS_COLOR_DATA_EXT
+ GLU_NURBS_TEXTURE_COORD_DATA
+ GLU_NURBS_TEX_COORD_DATA_EXT
+ GLU_NURBS_END_DATA
+ GLU_NURBS_END_DATA_EXT
+ GLU_NURBS_ERROR1
+ GLU_NURBS_ERROR2
+ GLU_NURBS_ERROR3
+ GLU_NURBS_ERROR4
+ GLU_NURBS_ERROR5
+ GLU_NURBS_ERROR6
+ GLU_NURBS_ERROR7
+ GLU_NURBS_ERROR8
+ GLU_NURBS_ERROR9
+ GLU_NURBS_ERROR10
+ GLU_NURBS_ERROR11
+ GLU_NURBS_ERROR12
+ GLU_NURBS_ERROR13
+ GLU_NURBS_ERROR14
+ GLU_NURBS_ERROR15
+ GLU_NURBS_ERROR16
+ GLU_NURBS_ERROR17
+ GLU_NURBS_ERROR18
+ GLU_NURBS_ERROR19
+ GLU_NURBS_ERROR20
+ GLU_NURBS_ERROR21
+ GLU_NURBS_ERROR22
+ GLU_NURBS_ERROR23
+ GLU_NURBS_ERROR24
+ GLU_NURBS_ERROR25
+ GLU_NURBS_ERROR26
+ GLU_NURBS_ERROR27
+ GLU_NURBS_ERROR28
+ GLU_NURBS_ERROR29
+ GLU_NURBS_ERROR30
+ GLU_NURBS_ERROR31
+ GLU_NURBS_ERROR32
+ GLU_NURBS_ERROR33
+ GLU_NURBS_ERROR34
+ GLU_NURBS_ERROR35
+ GLU_NURBS_ERROR36
+ GLU_NURBS_ERROR37
+ GLU_AUTO_LOAD_MATRIX
+ GLU_CULLING
+ GLU_SAMPLING_TOLERANCE
+ GLU_DISPLAY_MODE
+ GLU_PARAMETRIC_TOLERANCE
+ GLU_SAMPLING_METHOD
+ GLU_U_STEP
+ GLU_V_STEP
+ GLU_NURBS_MODE
+ GLU_NURBS_MODE_EXT
+ GLU_NURBS_TESSELLATOR
+ GLU_NURBS_TESSELLATOR_EXT
+ GLU_NURBS_RENDERER
+ GLU_NURBS_RENDERER_EXT
+ GLU_OBJECT_PARAMETRIC_ERROR
+ GLU_OBJECT_PARAMETRIC_ERROR_EXT
+ GLU_OBJECT_PATH_LENGTH
+ GLU_OBJECT_PATH_LENGTH_EXT
+ GLU_PATH_LENGTH
+ GLU_PARAMETRIC_ERROR
+ GLU_DOMAIN_DISTANCE
+ GLU_MAP1_TRIM_2
+ GLU_MAP1_TRIM_3
+ GLU_POINT
+ GLU_LINE
+ GLU_FILL
+ GLU_SILHOUETTE
+ GLU_SMOOTH
+ GLU_FLAT
+ GLU_NONE
+ GLU_OUTSIDE
+ GLU_INSIDE
+ GLU_TESS_BEGIN
+ GLU_BEGIN
+ GLU_TESS_VERTEX
+ GLU_VERTEX
+ GLU_TESS_END
+ GLU_END
+ GLU_TESS_ERROR
+ GLU_TESS_EDGE_FLAG
+ GLU_EDGE_FLAG
+ GLU_TESS_COMBINE
+ GLU_TESS_BEGIN_DATA
+ GLU_TESS_VERTEX_DATA
+ GLU_TESS_END_DATA
+ GLU_TESS_ERROR_DATA
+ GLU_TESS_EDGE_FLAG_DATA
+ GLU_TESS_COMBINE_DATA
+ GLU_CW
+ GLU_CCW
+ GLU_INTERIOR
+ GLU_EXTERIOR
+ GLU_UNKNOWN
+ GLU_TESS_WINDING_RULE
+ GLU_TESS_BOUNDARY_ONLY
+ GLU_TESS_TOLERANCE
+ GLU_TESS_ERROR1
+ GLU_TESS_ERROR2
+ GLU_TESS_ERROR3
+ GLU_TESS_ERROR4
+ GLU_TESS_ERROR5
+ GLU_TESS_ERROR6
+ GLU_TESS_ERROR7
+ GLU_TESS_ERROR8
+ GLU_TESS_MISSING_BEGIN_POLYGON
+ GLU_TESS_MISSING_BEGIN_CONTOUR
+ GLU_TESS_MISSING_END_POLYGON
+ GLU_TESS_MISSING_END_CONTOUR
+ GLU_TESS_COORD_TOO_LARGE
+ GLU_TESS_NEED_COMBINE_CALLBACK
+ GLU_TESS_WINDING_ODD
+ GLU_TESS_WINDING_NONZERO
+ GLU_TESS_WINDING_POSITIVE
+ GLU_TESS_WINDING_NEGATIVE
+ GLU_TESS_WINDING_ABS_GEQ_TWO
+ GLU_TESS_MAX_COORD
+
+ gluBeginCurve
+ gluBeginPolygon
+ gluBeginSurface
+ gluBeginTrim
+ gluBuild1DMipmapLevels
+ gluBuild1DMipmaps
+ gluBuild2DMipmapLevels
+ gluBuild2DMipmaps
+ gluBuild3DMipmapLevels
+ gluBuild3DMipmaps
+ gluCheckExtension
+ gluCylinder
+ gluDeleteNurbsRenderer
+ gluDeleteQuadric
+ gluDeleteTess
+ gluDisk
+ gluEndCurve
+ gluEndPolygon
+ gluEndSurface
+ gluEndTrim
+ gluErrorString
+ gluGetNurbsProperty
+ gluGetString
+ gluGetTessProperty
+ gluLoadSamplingMatrices
+ gluLookAt
+ gluNewNurbsRenderer
+ gluNewQuadric
+ gluNewTess
+ gluNextContour
+ ;; gluNurbsCallback
+ gluNurbsCallbackData
+ gluNurbsCallbackDataEXT
+ gluNurbsCurve
+ gluNurbsProperty
+ gluNurbsSurface
+ gluOrtho2D
+ gluPartialDisk
+ gluPerspective
+ gluPickMatrix
+ gluProject
+ gluPwlCurve
+ gluQuadricCallback
+ gluQuadricDrawStyle
+ gluQuadricNormals
+ gluQuadricOrientation
+ gluQuadricTexture
+ gluScaleImage
+ gluSphere
+ gluTessBeginContour
+ gluTessBeginPolygon
+ ;; gluTessCallback
+ gluTessEndContour
+ gluTessEndPolygon
+ gluTessNormal
+ gluTessProperty
+ gluTessVertex
+ gluUnProject
+ gluUnProject4)
+
+ (import (rnrs) (ypsilon-compat))
+
+ (define libGLU (cond
+
+ (on-darwin (load-shared-object "OpenGL.framework/OpenGL"))
+ ;; (on-windows (load-shared-object "opengl32.dll"))
+ (on-linux (load-shared-object "libGLU.so.1"))
+ (on-freebsd (load-shared-object "libGLU.so"))
+ ;; (on-openbsd (load-shared-object "libGLU.so.7.3"))
+ (else
+ (assertion-violation
+ #f
+ "can not locate GLU library, unknown operating system"))))
+
+ (define GLU_EXT_object_space_tess 1)
+ (define GLU_EXT_nurbs_tessellator 1)
+
+ ;/* Boolean* /
+ (define GLU_FALSE 0)
+ (define GLU_TRUE 1)
+
+ ;/* Version* /
+ (define GLU_VERSION_1_1 1)
+ (define GLU_VERSION_1_2 1)
+ (define GLU_VERSION_1_3 1)
+
+ ;/* StringName* /
+ (define GLU_VERSION 100800)
+ (define GLU_EXTENSIONS 100801)
+
+ ;/* ErrorCode* /
+ (define GLU_INVALID_ENUM 100900)
+ (define GLU_INVALID_VALUE 100901)
+ (define GLU_OUT_OF_MEMORY 100902)
+ (define GLU_INCOMPATIBLE_GL_VERSION 100903)
+ (define GLU_INVALID_OPERATION 100904)
+
+ ;; /* NurbsDisplay* /
+ ;; /* GLU_FILL* /
+ (define GLU_OUTLINE_POLYGON 100240)
+ (define GLU_OUTLINE_PATCH 100241)
+
+ ;/* NurbsCallback* /
+ (define GLU_NURBS_ERROR 100103)
+ (define GLU_ERROR 100103)
+ (define GLU_NURBS_BEGIN 100164)
+ (define GLU_NURBS_BEGIN_EXT 100164)
+ (define GLU_NURBS_VERTEX 100165)
+ (define GLU_NURBS_VERTEX_EXT 100165)
+ (define GLU_NURBS_NORMAL 100166)
+ (define GLU_NURBS_NORMAL_EXT 100166)
+ (define GLU_NURBS_COLOR 100167)
+ (define GLU_NURBS_COLOR_EXT 100167)
+ (define GLU_NURBS_TEXTURE_COORD 100168)
+ (define GLU_NURBS_TEX_COORD_EXT 100168)
+ (define GLU_NURBS_END 100169)
+ (define GLU_NURBS_END_EXT 100169)
+ (define GLU_NURBS_BEGIN_DATA 100170)
+ (define GLU_NURBS_BEGIN_DATA_EXT 100170)
+ (define GLU_NURBS_VERTEX_DATA 100171)
+ (define GLU_NURBS_VERTEX_DATA_EXT 100171)
+ (define GLU_NURBS_NORMAL_DATA 100172)
+ (define GLU_NURBS_NORMAL_DATA_EXT 100172)
+ (define GLU_NURBS_COLOR_DATA 100173)
+ (define GLU_NURBS_COLOR_DATA_EXT 100173)
+ (define GLU_NURBS_TEXTURE_COORD_DATA 100174)
+ (define GLU_NURBS_TEX_COORD_DATA_EXT 100174)
+ (define GLU_NURBS_END_DATA 100175)
+ (define GLU_NURBS_END_DATA_EXT 100175)
+
+ ;/* NurbsError* /
+ (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)
+
+ ;/* 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)
+ (define GLU_NURBS_MODE 100160)
+ (define GLU_NURBS_MODE_EXT 100160)
+ (define GLU_NURBS_TESSELLATOR 100161)
+ (define GLU_NURBS_TESSELLATOR_EXT 100161)
+ (define GLU_NURBS_RENDERER 100162)
+ (define GLU_NURBS_RENDERER_EXT 100162)
+
+ ;/* NurbsSampling* /
+ (define GLU_OBJECT_PARAMETRIC_ERROR 100208)
+ (define GLU_OBJECT_PARAMETRIC_ERROR_EXT 100208)
+ (define GLU_OBJECT_PATH_LENGTH 100209)
+ (define GLU_OBJECT_PATH_LENGTH_EXT 100209)
+ (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)
+
+ ;/* QuadricDrawStyle* /
+ (define GLU_POINT 100010)
+ (define GLU_LINE 100011)
+ (define GLU_FILL 100012)
+ (define GLU_SILHOUETTE 100013)
+
+ ;; /* QuadricCallback* /
+ ;; /* GLU_ERROR* /
+
+ ;/* QuadricNormal* /
+ (define GLU_SMOOTH 100000)
+ (define GLU_FLAT 100001)
+ (define GLU_NONE 100002)
+
+ ;/* QuadricOrientation* /
+ (define GLU_OUTSIDE 100020)
+ (define GLU_INSIDE 100021)
+
+ ;/* TessCallback* /
+ (define GLU_TESS_BEGIN 100100)
+ (define GLU_BEGIN 100100)
+ (define GLU_TESS_VERTEX 100101)
+ (define GLU_VERTEX 100101)
+ (define GLU_TESS_END 100102)
+ (define GLU_END 100102)
+ (define GLU_TESS_ERROR 100103)
+ (define GLU_TESS_EDGE_FLAG 100104)
+ (define GLU_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)
+
+ ;/* TessContour* /
+ (define GLU_CW 100120)
+ (define GLU_CCW 100121)
+ (define GLU_INTERIOR 100122)
+ (define GLU_EXTERIOR 100123)
+ (define GLU_UNKNOWN 100124)
+
+ ;/* TessProperty* /
+ (define GLU_TESS_WINDING_RULE 100140)
+ (define GLU_TESS_BOUNDARY_ONLY 100141)
+ (define GLU_TESS_TOLERANCE 100142)
+
+ ;/* 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 100151)
+ (define GLU_TESS_MISSING_BEGIN_CONTOUR 100152)
+ (define GLU_TESS_MISSING_END_POLYGON 100153)
+ (define GLU_TESS_MISSING_END_CONTOUR 100154)
+ (define GLU_TESS_COORD_TOO_LARGE 100155)
+ (define GLU_TESS_NEED_COMBINE_CALLBACK 100156)
+
+ ;/* 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)
+
+
+ (define GLU_TESS_MAX_COORD 1e150)
+
+ (define-syntax define-function
+ (syntax-rules ()
+ ((_ ret name args)
+ (define name (c-function libGLU "GLU library" ret __stdcall name args)))))
+
+ (define-function void gluBeginCurve (void*))
+ (define-function void gluBeginPolygon (void*))
+ (define-function void gluBeginSurface (void*))
+ (define-function void gluBeginTrim (void*))
+ (define-function int gluBuild1DMipmapLevels (int int int int int int int int void*))
+ (define-function int gluBuild1DMipmaps (int int int int int void*))
+ (define-function int gluBuild2DMipmapLevels (int int int int int int int int int void*))
+ (define-function int gluBuild2DMipmaps (int int int int int int void*))
+ (define-function int gluBuild3DMipmapLevels (int int int int int int int int int int void*))
+ (define-function int gluBuild3DMipmaps (int int int int int int int void*))
+ (define-function int gluCheckExtension (void* void*))
+ (define-function void gluCylinder (void* double double double int int))
+ (define-function void gluDeleteNurbsRenderer (void*))
+ (define-function void gluDeleteQuadric (void*))
+ (define-function void gluDeleteTess (void*))
+ (define-function void gluDisk (void* double double int int))
+ (define-function void gluEndCurve (void*))
+ (define-function void gluEndPolygon (void*))
+ (define-function void gluEndSurface (void*))
+ (define-function void gluEndTrim (void*))
+ (define-function void* gluErrorString (int))
+ (define-function void gluGetNurbsProperty (void* int void*))
+ (define-function void* gluGetString (int))
+ (define-function void gluGetTessProperty (void* int void*))
+ (define-function void gluLoadSamplingMatrices (void* void* void* void*))
+ (define-function void gluLookAt (double double double double double double double double double))
+ (define-function void* gluNewNurbsRenderer ())
+ (define-function void* gluNewQuadric ())
+ (define-function void* gluNewTess ())
+ (define-function void gluNextContour (void* int))
+ ;; (define-function void gluNurbsCallback (void* int _GLUfuncptr))
+ (define-function void gluNurbsCallbackData (void* void*))
+ (define-function void gluNurbsCallbackDataEXT (void* void*))
+ (define-function void gluNurbsCurve (void* int void* int void* int int))
+ (define-function void gluNurbsProperty (void* int float))
+ (define-function void gluNurbsSurface (void* int void* int void* int int void* int int int))
+ (define-function void gluOrtho2D (double double double double))
+ (define-function void gluPartialDisk (void* double double int int double double))
+ (define-function void gluPerspective (double double double double))
+ (define-function void gluPickMatrix (double double double double void*))
+ (define-function int gluProject (double double double void* void* void* void* void* void*))
+ (define-function void gluPwlCurve (void* int void* int int))
+
+ ;; (define-function void gluQuadricCallback (void* int _GLUfuncptr))
+
+ (define-function void gluQuadricCallback (void* int (c-callback void (int))))
+
+ (define-function void gluQuadricDrawStyle (void* int))
+ (define-function void gluQuadricNormals (void* int))
+ (define-function void gluQuadricOrientation (void* int))
+ (define-function void gluQuadricTexture (void* int))
+ (define-function int gluScaleImage (int int int int void* int int int void*))
+ (define-function void gluSphere (void* double int int))
+ (define-function void gluTessBeginContour (void*))
+ (define-function void gluTessBeginPolygon (void* void*))
+
+ ;; (define-function void gluTessCallback (void* int _GLUfuncptr))
+
+ (define-function void gluTessEndContour (void*))
+ (define-function void gluTessEndPolygon (void*))
+ (define-function void gluTessNormal (void* double double double))
+ (define-function void gluTessProperty (void* int double))
+ (define-function void gluTessVertex (void* void* void*))
+ (define-function int gluUnProject (double double double void* void* void* void* void* void*))
+ (define-function int gluUnProject4 (double double double double void* void* void* double double void* void* void* void*))
+
+ )
534 glu/compat.larceny.sls
View
@@ -0,0 +1,534 @@
+
+;; Original version for Gambit by David St-Hilaire
+;;
+;; Ported to Larceny by Ed Cavazos
+
+(library
+
+ (agave glu compat)
+
+ (export
+
+ GLU_EXT_object_space_tess
+ GLU_EXT_nurbs_tessellator
+ GLU_FALSE
+ GLU_TRUE
+ GLU_VERSION_1_1
+ GLU_VERSION_1_2
+ GLU_VERSION_1_3
+ GLU_VERSION
+ GLU_EXTENSIONS
+ GLU_INVALID_ENUM
+ GLU_INVALID_VALUE
+ GLU_OUT_OF_MEMORY
+ GLU_INCOMPATIBLE_GL_VERSION
+ GLU_INVALID_OPERATION
+ GLU_OUTLINE_POLYGON
+ GLU_OUTLINE_PATCH
+ GLU_NURBS_ERROR
+ GLU_ERROR
+ GLU_NURBS_BEGIN
+ GLU_NURBS_BEGIN_EXT
+ GLU_NURBS_VERTEX
+ GLU_NURBS_VERTEX_EXT
+ GLU_NURBS_NORMAL
+ GLU_NURBS_NORMAL_EXT
+ GLU_NURBS_COLOR
+ GLU_NURBS_COLOR_EXT
+ GLU_NURBS_TEXTURE_COORD
+ GLU_NURBS_TEX_COORD_EXT
+ GLU_NURBS_END
+ GLU_NURBS_END_EXT
+ GLU_NURBS_BEGIN_DATA
+ GLU_NURBS_BEGIN_DATA_EXT
+ GLU_NURBS_VERTEX_DATA
+ GLU_NURBS_VERTEX_DATA_EXT
+ GLU_NURBS_NORMAL_DATA
+ GLU_NURBS_NORMAL_DATA_EXT
+ GLU_NURBS_COLOR_DATA
+ GLU_NURBS_COLOR_DATA_EXT
+ GLU_NURBS_TEXTURE_COORD_DATA
+ GLU_NURBS_TEX_COORD_DATA_EXT
+ GLU_NURBS_END_DATA
+ GLU_NURBS_END_DATA_EXT
+ GLU_NURBS_ERROR1
+ GLU_NURBS_ERROR2
+ GLU_NURBS_ERROR3
+ GLU_NURBS_ERROR4
+ GLU_NURBS_ERROR5
+ GLU_NURBS_ERROR6
+ GLU_NURBS_ERROR7
+ GLU_NURBS_ERROR8
+ GLU_NURBS_ERROR9
+ GLU_NURBS_ERROR10
+ GLU_NURBS_ERROR11
+ GLU_NURBS_ERROR12
+ GLU_NURBS_ERROR13
+ GLU_NURBS_ERROR14
+ GLU_NURBS_ERROR15
+ GLU_NURBS_ERROR16
+ GLU_NURBS_ERROR17
+ GLU_NURBS_ERROR18
+ GLU_NURBS_ERROR19
+ GLU_NURBS_ERROR20
+ GLU_NURBS_ERROR21
+ GLU_NURBS_ERROR22
+ GLU_NURBS_ERROR23
+ GLU_NURBS_ERROR24
+ GLU_NURBS_ERROR25
+ GLU_NURBS_ERROR26
+ GLU_NURBS_ERROR27
+ GLU_NURBS_ERROR28
+ GLU_NURBS_ERROR29
+ GLU_NURBS_ERROR30
+ GLU_NURBS_ERROR31
+ GLU_NURBS_ERROR32
+ GLU_NURBS_ERROR33
+ GLU_NURBS_ERROR34
+ GLU_NURBS_ERROR35
+ GLU_NURBS_ERROR36
+ GLU_NURBS_ERROR37
+ GLU_AUTO_LOAD_MATRIX
+ GLU_CULLING
+ GLU_SAMPLING_TOLERANCE
+ GLU_DISPLAY_MODE
+ GLU_PARAMETRIC_TOLERANCE
+ GLU_SAMPLING_METHOD
+ GLU_U_STEP
+ GLU_V_STEP
+ GLU_NURBS_MODE
+ GLU_NURBS_MODE_EXT
+ GLU_NURBS_TESSELLATOR
+ GLU_NURBS_TESSELLATOR_EXT
+ GLU_NURBS_RENDERER
+ GLU_NURBS_RENDERER_EXT
+ GLU_OBJECT_PARAMETRIC_ERROR
+ GLU_OBJECT_PARAMETRIC_ERROR_EXT
+ GLU_OBJECT_PATH_LENGTH
+ GLU_OBJECT_PATH_LENGTH_EXT
+ GLU_PATH_LENGTH
+ GLU_PARAMETRIC_ERROR
+ GLU_DOMAIN_DISTANCE
+ GLU_MAP1_TRIM_2
+ GLU_MAP1_TRIM_3
+ GLU_POINT
+ GLU_LINE
+ GLU_FILL
+ GLU_SILHOUETTE
+ GLU_SMOOTH
+ GLU_FLAT
+ GLU_NONE
+ GLU_OUTSIDE
+ GLU_INSIDE
+ GLU_TESS_BEGIN
+ GLU_BEGIN
+ GLU_TESS_VERTEX
+ GLU_VERTEX
+ GLU_TESS_END
+ GLU_END
+ GLU_TESS_ERROR
+ GLU_TESS_EDGE_FLAG
+ GLU_EDGE_FLAG
+ GLU_TESS_COMBINE
+ GLU_TESS_BEGIN_DATA
+ GLU_TESS_VERTEX_DATA
+ GLU_TESS_END_DATA
+ GLU_TESS_ERROR_DATA
+ GLU_TESS_EDGE_FLAG_DATA
+ GLU_TESS_COMBINE_DATA
+ GLU_CW
+ GLU_CCW
+ GLU_INTERIOR
+ GLU_EXTERIOR
+ GLU_UNKNOWN
+ GLU_TESS_WINDING_RULE
+ GLU_TESS_BOUNDARY_ONLY
+ GLU_TESS_TOLERANCE
+ GLU_TESS_ERROR1
+ GLU_TESS_ERROR2
+ GLU_TESS_ERROR3
+ GLU_TESS_ERROR4
+ GLU_TESS_ERROR5
+ GLU_TESS_ERROR6
+ GLU_TESS_ERROR7
+ GLU_TESS_ERROR8
+ GLU_TESS_MISSING_BEGIN_POLYGON
+ GLU_TESS_MISSING_BEGIN_CONTOUR
+ GLU_TESS_MISSING_END_POLYGON
+ GLU_TESS_MISSING_END_CONTOUR
+ GLU_TESS_COORD_TOO_LARGE
+ GLU_TESS_NEED_COMBINE_CALLBACK
+ GLU_TESS_WINDING_ODD
+ GLU_TESS_WINDING_NONZERO
+ GLU_TESS_WINDING_POSITIVE
+ GLU_TESS_WINDING_NEGATIVE
+ GLU_TESS_WINDING_ABS_GEQ_TWO
+ GLU_TESS_MAX_COORD
+
+ gluBeginCurve
+ gluBeginPolygon
+ gluBeginSurface
+ gluBeginTrim
+ gluBuild1DMipmapLevels
+ gluBuild1DMipmaps
+ gluBuild2DMipmapLevels
+ gluBuild2DMipmaps
+ gluBuild3DMipmapLevels
+ gluBuild3DMipmaps
+ gluCheckExtension
+ gluCylinder
+ gluDeleteNurbsRenderer
+ gluDeleteQuadric
+ gluDeleteTess
+ gluDisk
+ gluEndCurve
+ gluEndPolygon
+ gluEndSurface
+ gluEndTrim
+ gluErrorString
+ gluGetNurbsProperty
+ gluGetString
+ gluGetTessProperty
+ gluLoadSamplingMatrices
+ gluLookAt
+ gluNewNurbsRenderer
+ gluNewQuadric
+ gluNewTess
+ gluNextContour
+ ;; gluNurbsCallback
+ gluNurbsCallbackData
+ gluNurbsCallbackDataEXT
+ gluNurbsCurve
+ gluNurbsProperty
+ gluNurbsSurface
+ gluOrtho2D
+ gluPartialDisk
+ gluPerspective
+ gluPickMatrix
+ gluProject
+ gluPwlCurve
+ gluQuadricCallback
+ gluQuadricDrawStyle
+ gluQuadricNormals
+ gluQuadricOrientation
+ gluQuadricTexture
+ gluScaleImage
+ gluSphere
+ gluTessBeginContour
+ gluTessBeginPolygon
+ ;; gluTessCallback
+ gluTessEndContour
+ gluTessEndPolygon
+ gluTessNormal
+ gluTessProperty
+ gluTessVertex
+ gluUnProject
+ gluUnProject4)
+
+ (import (rnrs base)
+ (rnrs lists)
+ (rnrs io simple)
+ (rnrs files)
+ (err5rs records syntactic)
+
+ (primitives system-features
+ foreign-file
+ foreign-procedure))
+
+ ;; (define libGLU (cond
+
+ ;; ;; (on-darwin (load-shared-object "OpenGL.framework/OpenGL"))
+ ;; ;; (on-windows (load-shared-object "opengl32.dll"))
+ ;; (on-linux (load-shared-object "libGLU.so.1"))
+ ;; (on-freebsd (load-shared-object "libGLU.so"))
+ ;; (on-openbsd (load-shared-object "libGLU.so.7.3"))
+ ;; (else
+ ;; (assertion-violation #f "can not locate OpenGL library, unknown operating system"))))
+
+ (define libGLU
+
+ (let ((os (cdr (assq 'os-name (system-features)))))
+
+ (cond ((string=? os "MacOS X") (foreign-file "GLUT.framework/GLUT"))
+ ;; ((string=? os "Win32") (foreign-file "glut32.dll"))
+ ((string=? os "Linux") (foreign-file "libGLU.so.1"))
+ (else
+ (assertion-violation #f
+ (string-append "can not locate GLU library,"
+ " unknown operating system"))))))
+
+ (define GLU_EXT_object_space_tess 1)
+ (define GLU_EXT_nurbs_tessellator 1)
+
+ ;/* Boolean* /
+ (define GLU_FALSE 0)
+ (define GLU_TRUE 1)
+
+ ;/* Version* /
+ (define GLU_VERSION_1_1 1)
+ (define GLU_VERSION_1_2 1)
+ (define GLU_VERSION_1_3 1)
+
+ ;/* StringName* /
+ (define GLU_VERSION 100800)
+ (define GLU_EXTENSIONS 100801)
+
+ ;/* ErrorCode* /
+ (define GLU_INVALID_ENUM 100900)
+ (define GLU_INVALID_VALUE 100901)
+ (define GLU_OUT_OF_MEMORY 100902)
+ (define GLU_INCOMPATIBLE_GL_VERSION 100903)
+ (define GLU_INVALID_OPERATION 100904)
+
+ ;; /* NurbsDisplay* /
+ ;; /* GLU_FILL* /
+ (define GLU_OUTLINE_POLYGON 100240)
+ (define GLU_OUTLINE_PATCH 100241)
+
+ ;/* NurbsCallback* /
+ (define GLU_NURBS_ERROR 100103)
+ (define GLU_ERROR 100103)
+ (define GLU_NURBS_BEGIN 100164)
+ (define GLU_NURBS_BEGIN_EXT 100164)
+ (define GLU_NURBS_VERTEX 100165)
+ (define GLU_NURBS_VERTEX_EXT 100165)
+ (define GLU_NURBS_NORMAL 100166)
+ (define GLU_NURBS_NORMAL_EXT 100166)
+ (define GLU_NURBS_COLOR 100167)
+ (define GLU_NURBS_COLOR_EXT 100167)
+ (define GLU_NURBS_TEXTURE_COORD 100168)
+ (define GLU_NURBS_TEX_COORD_EXT 100168)
+ (define GLU_NURBS_END 100169)
+ (define GLU_NURBS_END_EXT 100169)
+ (define GLU_NURBS_BEGIN_DATA 100170)
+ (define GLU_NURBS_BEGIN_DATA_EXT 100170)
+ (define GLU_NURBS_VERTEX_DATA 100171)
+ (define GLU_NURBS_VERTEX_DATA_EXT 100171)
+ (define GLU_NURBS_NORMAL_DATA 100172)
+ (define GLU_NURBS_NORMAL_DATA_EXT 100172)
+ (define GLU_NURBS_COLOR_DATA 100173)
+ (define GLU_NURBS_COLOR_DATA_EXT 100173)
+ (define GLU_NURBS_TEXTURE_COORD_DATA 100174)
+ (define GLU_NURBS_TEX_COORD_DATA_EXT 100174)
+ (define GLU_NURBS_END_DATA 100175)
+ (define GLU_NURBS_END_DATA_EXT 100175)
+
+ ;/* NurbsError* /
+ (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)
+
+ ;/* 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)
+ (define GLU_NURBS_MODE 100160)
+ (define GLU_NURBS_MODE_EXT 100160)
+ (define GLU_NURBS_TESSELLATOR 100161)
+ (define GLU_NURBS_TESSELLATOR_EXT 100161)
+ (define GLU_NURBS_RENDERER 100162)
+ (define GLU_NURBS_RENDERER_EXT 100162)
+
+ ;/* NurbsSampling* /
+ (define GLU_OBJECT_PARAMETRIC_ERROR 100208)
+ (define GLU_OBJECT_PARAMETRIC_ERROR_EXT 100208)
+ (define GLU_OBJECT_PATH_LENGTH 100209)
+ (define GLU_OBJECT_PATH_LENGTH_EXT 100209)
+ (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)
+
+ ;/* QuadricDrawStyle* /
+ (define GLU_POINT 100010)
+ (define GLU_LINE 100011)
+ (define GLU_FILL 100012)
+ (define GLU_SILHOUETTE 100013)
+
+ ;; /* QuadricCallback* /
+ ;; /* GLU_ERROR* /
+
+ ;/* QuadricNormal* /
+ (define GLU_SMOOTH 100000)
+ (define GLU_FLAT 100001)
+ (define GLU_NONE 100002)
+
+ ;/* QuadricOrientation* /
+ (define GLU_OUTSIDE 100020)
+ (define GLU_INSIDE 100021)
+
+ ;/* TessCallback* /
+ (define GLU_TESS_BEGIN 100100)
+ (define GLU_BEGIN 100100)
+ (define GLU_TESS_VERTEX 100101)
+ (define GLU_VERTEX 100101)
+ (define GLU_TESS_END 100102)
+ (define GLU_END 100102)
+ (define GLU_TESS_ERROR 100103)
+ (define GLU_TESS_EDGE_FLAG 100104)
+ (define GLU_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)
+
+ ;/* TessContour* /
+ (define GLU_CW 100120)
+ (define GLU_CCW 100121)
+ (define GLU_INTERIOR 100122)
+ (define GLU_EXTERIOR 100123)
+ (define GLU_UNKNOWN 100124)
+
+ ;/* TessProperty* /
+ (define GLU_TESS_WINDING_RULE 100140)
+ (define GLU_TESS_BOUNDARY_ONLY 100141)
+ (define GLU_TESS_TOLERANCE 100142)
+
+ ;/* 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 100151)
+ (define GLU_TESS_MISSING_BEGIN_CONTOUR 100152)
+ (define GLU_TESS_MISSING_END_POLYGON 100153)
+ (define GLU_TESS_MISSING_END_CONTOUR 100154)
+ (define GLU_TESS_COORD_TOO_LARGE 100155)
+ (define GLU_TESS_NEED_COMBINE_CALLBACK 100156)
+
+ ;/* 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)
+
+
+ (define GLU_TESS_MAX_COORD 1e150)
+
+ ;; (define-syntax define-function
+ ;; (syntax-rules ()
+ ;; ((_ ret name args)
+ ;; (define name (c-function libGLU "GLU library" ret __stdcall name args)))))
+
+ (define-syntax define-function
+ (syntax-rules ()
+ ((_ ret name args)
+ (define name (foreign-procedure (symbol->string 'name) 'args 'ret)))))
+
+ (define-function void gluBeginCurve (void*))
+ (define-function void gluBeginPolygon (void*))
+ (define-function void gluBeginSurface (void*))
+ (define-function void gluBeginTrim (void*))
+ (define-function int gluBuild1DMipmapLevels (int int int int int int int int void*))
+ (define-function int gluBuild1DMipmaps (int int int int int void*))
+ (define-function int gluBuild2DMipmapLevels (int int int int int int int int int void*))
+ (define-function int gluBuild2DMipmaps (int int int int int int void*))
+ (define-function int gluBuild3DMipmapLevels (int int int int int int int int int int void*))
+ (define-function int gluBuild3DMipmaps (int int int int int int int void*))
+ (define-function int gluCheckExtension (void* void*))
+ (define-function void gluCylinder (void* double double double int int))
+ (define-function void gluDeleteNurbsRenderer (void*))
+ (define-function void gluDeleteQuadric (void*))
+ (define-function void gluDeleteTess (void*))
+ (define-function void gluDisk (void* double double int int))
+ (define-function void gluEndCurve (void*))
+ (define-function void gluEndPolygon (void*))
+ (define-function void gluEndSurface (void*))
+ (define-function void gluEndTrim (void*))
+ (define-function void* gluErrorString (int))
+ (define-function void gluGetNurbsProperty (void* int void*))
+ (define-function void* gluGetString (int))
+ (define-function void gluGetTessProperty (void* int void*))
+ (define-function void gluLoadSamplingMatrices (void* void* void* void*))
+ (define-function void gluLookAt (double double double double double double double double double))
+ (define-function void* gluNewNurbsRenderer ())
+ (define-function void* gluNewQuadric ())
+ (define-function void* gluNewTess ())
+ (define-function void gluNextContour (void* int))
+ ;; (define-function void gluNurbsCallback (void* int _GLUfuncptr))
+ (define-function void gluNurbsCallbackData (void* void*))
+ (define-function void gluNurbsCallbackDataEXT (void* void*))
+ (define-function void gluNurbsCurve (void* int void* int void* int int))
+ (define-function void gluNurbsProperty (void* int float))
+ (define-function void gluNurbsSurface (void* int void* int void* int int void* int int int))
+ (define-function void gluOrtho2D (double double double double))
+ (define-function void gluPartialDisk (void* double double int int double double))
+ (define-function void gluPerspective (double double double double))
+ (define-function void gluPickMatrix (double double double double void*))
+ (define-function int gluProject (double double double void* void* void* void* void* void*))
+ (define-function void gluPwlCurve (void* int void* int int))
+
+ ;; (define-function void gluQuadricCallback (void* int _GLUfuncptr))
+
+ (define-function void gluQuadricCallback (void* int (-> (int) void)))
+
+ (define-function void gluQuadricDrawStyle (void* int))
+ (define-function void gluQuadricNormals (void* int))
+ (define-function void gluQuadricOrientation (void* int))
+ (define-function void gluQuadricTexture (void* int))
+ (define-function int gluScaleImage (int int int int void* int int int void*))
+ (define-function void gluSphere (void* double int int))
+ (define-function void gluTessBeginContour (void*))
+ (define-function void gluTessBeginPolygon (void* void*))
+
+ ;; (define-function void gluTessCallback (void* int _GLUfuncptr))
+
+ (define-function void gluTessEndContour (void*))
+ (define-function void gluTessEndPolygon (void*))
+ (define-function void gluTessNormal (void* double double double))
+ (define-function void gluTessProperty (void* int double))
+ (define-function void gluTessVertex (void* void* void*))
+ (define-function int gluUnProject (double double double void* void* void* void* void* void*))
+ (define-function int gluUnProject4 (double double double double void* void* void* double double void* void* void* void*))
+
+ )
512 glu/compat.ypsilon.sls
View
@@ -0,0 +1,512 @@
+
+;; Original version for Gambit by David St-Hilaire
+;;
+;; Ported to Ypsilon by Ed Cavazos
+
+(library
+
+ (agave glu compat)
+
+ (export
+
+ GLU_EXT_object_space_tess
+ GLU_EXT_nurbs_tessellator
+ GLU_FALSE
+ GLU_TRUE
+ GLU_VERSION_1_1
+ GLU_VERSION_1_2
+ GLU_VERSION_1_3
+ GLU_VERSION
+ GLU_EXTENSIONS
+ GLU_INVALID_ENUM
+ GLU_INVALID_VALUE
+ GLU_OUT_OF_MEMORY
+ GLU_INCOMPATIBLE_GL_VERSION
+ GLU_INVALID_OPERATION
+ GLU_OUTLINE_POLYGON
+ GLU_OUTLINE_PATCH
+ GLU_NURBS_ERROR
+ GLU_ERROR
+ GLU_NURBS_BEGIN
+ GLU_NURBS_BEGIN_EXT
+ GLU_NURBS_VERTEX
+ GLU_NURBS_VERTEX_EXT
+ GLU_NURBS_NORMAL
+ GLU_NURBS_NORMAL_EXT
+ GLU_NURBS_COLOR
+ GLU_NURBS_COLOR_EXT
+ GLU_NURBS_TEXTURE_COORD
+ GLU_NURBS_TEX_COORD_EXT
+ GLU_NURBS_END
+ GLU_NURBS_END_EXT
+ GLU_NURBS_BEGIN_DATA
+ GLU_NURBS_BEGIN_DATA_EXT
+ GLU_NURBS_VERTEX_DATA
+ GLU_NURBS_VERTEX_DATA_EXT
+ GLU_NURBS_NORMAL_DATA
+ GLU_NURBS_NORMAL_DATA_EXT
+ GLU_NURBS_COLOR_DATA
+ GLU_NURBS_COLOR_DATA_EXT
+ GLU_NURBS_TEXTURE_COORD_DATA
+ GLU_NURBS_TEX_COORD_DATA_EXT
+ GLU_NURBS_END_DATA
+ GLU_NURBS_END_DATA_EXT
+ GLU_NURBS_ERROR1
+ GLU_NURBS_ERROR2
+ GLU_NURBS_ERROR3
+ GLU_NURBS_ERROR4
+ GLU_NURBS_ERROR5
+ GLU_NURBS_ERROR6
+ GLU_NURBS_ERROR7
+ GLU_NURBS_ERROR8
+ GLU_NURBS_ERROR9
+ GLU_NURBS_ERROR10
+ GLU_NURBS_ERROR11
+ GLU_NURBS_ERROR12
+ GLU_NURBS_ERROR13
+ GLU_NURBS_ERROR14
+ GLU_NURBS_ERROR15
+ GLU_NURBS_ERROR16
+ GLU_NURBS_ERROR17
+ GLU_NURBS_ERROR18
+ GLU_NURBS_ERROR19
+ GLU_NURBS_ERROR20
+ GLU_NURBS_ERROR21
+ GLU_NURBS_ERROR22
+ GLU_NURBS_ERROR23
+ GLU_NURBS_ERROR24
+ GLU_NURBS_ERROR25
+ GLU_NURBS_ERROR26
+ GLU_NURBS_ERROR27
+ GLU_NURBS_ERROR28
+ GLU_NURBS_ERROR29
+ GLU_NURBS_ERROR30
+ GLU_NURBS_ERROR31
+ GLU_NURBS_ERROR32
+ GLU_NURBS_ERROR33
+ GLU_NURBS_ERROR34
+ GLU_NURBS_ERROR35
+ GLU_NURBS_ERROR36
+ GLU_NURBS_ERROR37
+ GLU_AUTO_LOAD_MATRIX
+ GLU_CULLING
+ GLU_SAMPLING_TOLERANCE
+ GLU_DISPLAY_MODE
+ GLU_PARAMETRIC_TOLERANCE
+ GLU_SAMPLING_METHOD
+ GLU_U_STEP
+ GLU_V_STEP
+ GLU_NURBS_MODE
+ GLU_NURBS_MODE_EXT
+ GLU_NURBS_TESSELLATOR
+ GLU_NURBS_TESSELLATOR_EXT
+ GLU_NURBS_RENDERER
+ GLU_NURBS_RENDERER_EXT
+ GLU_OBJECT_PARAMETRIC_ERROR
+ GLU_OBJECT_PARAMETRIC_ERROR_EXT
+ GLU_OBJECT_PATH_LENGTH
+ GLU_OBJECT_PATH_LENGTH_EXT
+ GLU_PATH_LENGTH
+ GLU_PARAMETRIC_ERROR
+ GLU_DOMAIN_DISTANCE
+ GLU_MAP1_TRIM_2
+ GLU_MAP1_TRIM_3
+ GLU_POINT
+ GLU_LINE
+ GLU_FILL
+ GLU_SILHOUETTE
+ GLU_SMOOTH
+ GLU_FLAT
+ GLU_NONE
+ GLU_OUTSIDE
+ GLU_INSIDE
+ GLU_TESS_BEGIN
+ GLU_BEGIN
+ GLU_TESS_VERTEX
+ GLU_VERTEX
+ GLU_TESS_END
+ GLU_END
+ GLU_TESS_ERROR
+ GLU_TESS_EDGE_FLAG
+ GLU_EDGE_FLAG
+ GLU_TESS_COMBINE
+ GLU_TESS_BEGIN_DATA
+ GLU_TESS_VERTEX_DATA
+ GLU_TESS_END_DATA
+ GLU_TESS_ERROR_DATA
+ GLU_TESS_EDGE_FLAG_DATA
+ GLU_TESS_COMBINE_DATA
+ GLU_CW
+ GLU_CCW
+ GLU_INTERIOR
+ GLU_EXTERIOR
+ GLU_UNKNOWN
+ GLU_TESS_WINDING_RULE
+ GLU_TESS_BOUNDARY_ONLY
+ GLU_TESS_TOLERANCE
+ GLU_TESS_ERROR1
+ GLU_TESS_ERROR2
+ GLU_TESS_ERROR3
+ GLU_TESS_ERROR4
+ GLU_TESS_ERROR5
+ GLU_TESS_ERROR6
+ GLU_TESS_ERROR7
+ GLU_TESS_ERROR8
+ GLU_TESS_MISSING_BEGIN_POLYGON
+ GLU_TESS_MISSING_BEGIN_CONTOUR
+ GLU_TESS_MISSING_END_POLYGON
+ GLU_TESS_MISSING_END_CONTOUR
+ GLU_TESS_COORD_TOO_LARGE
+ GLU_TESS_NEED_COMBINE_CALLBACK
+ GLU_TESS_WINDING_ODD
+ GLU_TESS_WINDING_NONZERO
+ GLU_TESS_WINDING_POSITIVE
+ GLU_TESS_WINDING_NEGATIVE
+ GLU_TESS_WINDING_ABS_GEQ_TWO
+ GLU_TESS_MAX_COORD
+
+ gluBeginCurve
+ gluBeginPolygon
+ gluBeginSurface
+ gluBeginTrim
+ gluBuild1DMipmapLevels
+ gluBuild1DMipmaps
+ gluBuild2DMipmapLevels
+ gluBuild2DMipmaps
+ gluBuild3DMipmapLevels
+ gluBuild3DMipmaps
+ gluCheckExtension
+ gluCylinder
+ gluDeleteNurbsRenderer
+ gluDeleteQuadric
+ gluDeleteTess
+ gluDisk
+ gluEndCurve
+ gluEndPolygon
+ gluEndSurface
+ gluEndTrim
+ gluErrorString
+ gluGetNurbsProperty
+ gluGetString
+ gluGetTessProperty
+ gluLoadSamplingMatrices
+ gluLookAt
+ gluNewNurbsRenderer
+ gluNewQuadric
+ gluNewTess
+ gluNextContour
+ ;; gluNurbsCallback
+ gluNurbsCallbackData
+ gluNurbsCallbackDataEXT
+ gluNurbsCurve
+ gluNurbsProperty
+ gluNurbsSurface
+ gluOrtho2D
+ gluPartialDisk
+ gluPerspective
+ gluPickMatrix
+ gluProject
+ gluPwlCurve
+ gluQuadricCallback
+ gluQuadricDrawStyle
+ gluQuadricNormals
+ gluQuadricOrientation
+ gluQuadricTexture
+ gluScaleImage
+ gluSphere
+ gluTessBeginContour
+ gluTessBeginPolygon
+ ;; gluTessCallback
+ gluTessEndContour
+ gluTessEndPolygon
+ gluTessNormal
+ gluTessProperty
+ gluTessVertex
+ gluUnProject
+ gluUnProject4)
+
+ (import (core)
+ (ypsilon ffi)
+ (ypsilon c-types)
+ )
+
+ (define libGLU (cond
+
+ (on-darwin (load-shared-object "OpenGL.framework/OpenGL"))
+ ;; (on-windows (load-shared-object "opengl32.dll"))
+ (on-linux (load-shared-object "libGLU.so.1"))
+ (on-freebsd (load-shared-object "libGLU.so"))
+ (on-openbsd (load-shared-object "libGLU.so.7.3"))
+ (else
+ (assertion-violation #f "can not locate OpenGL library, unknown operating system"))))
+
+ (define GLU_EXT_object_space_tess 1)
+ (define GLU_EXT_nurbs_tessellator 1)
+
+ ;/* Boolean* /
+ (define GLU_FALSE 0)
+ (define GLU_TRUE 1)
+
+ ;/* Version* /
+ (define GLU_VERSION_1_1 1)
+ (define GLU_VERSION_1_2 1)
+ (define GLU_VERSION_1_3 1)
+
+ ;/* StringName* /
+ (define GLU_VERSION 100800)
+ (define GLU_EXTENSIONS 100801)
+
+ ;/* ErrorCode* /
+ (define GLU_INVALID_ENUM 100900)
+ (define GLU_INVALID_VALUE 100901)
+ (define GLU_OUT_OF_MEMORY 100902)
+ (define GLU_INCOMPATIBLE_GL_VERSION 100903)
+ (define GLU_INVALID_OPERATION 100904)
+
+ ;; /* NurbsDisplay* /
+ ;; /* GLU_FILL* /
+ (define GLU_OUTLINE_POLYGON 100240)
+ (define GLU_OUTLINE_PATCH 100241)
+
+ ;/* NurbsCallback* /
+ (define GLU_NURBS_ERROR 100103)
+ (define GLU_ERROR 100103)
+ (define GLU_NURBS_BEGIN 100164)
+ (define GLU_NURBS_BEGIN_EXT 100164)
+ (define GLU_NURBS_VERTEX 100165)
+ (define GLU_NURBS_VERTEX_EXT 100165)
+ (define GLU_NURBS_NORMAL 100166)
+ (define GLU_NURBS_NORMAL_EXT 100166)
+ (define GLU_NURBS_COLOR 100167)
+ (define GLU_NURBS_COLOR_EXT 100167)
+ (define GLU_NURBS_TEXTURE_COORD 100168)
+ (define GLU_NURBS_TEX_COORD_EXT 100168)
+ (define GLU_NURBS_END 100169)
+ (define GLU_NURBS_END_EXT 100169)
+ (define GLU_NURBS_BEGIN_DATA 100170)
+ (define GLU_NURBS_BEGIN_DATA_EXT 100170)
+ (define GLU_NURBS_VERTEX_DATA 100171)
+ (define GLU_NURBS_VERTEX_DATA_EXT 100171)
+ (define GLU_NURBS_NORMAL_DATA 100172)
+ (define GLU_NURBS_NORMAL_DATA_EXT 100172)
+ (define GLU_NURBS_COLOR_DATA 100173)
+ (define GLU_NURBS_COLOR_DATA_EXT 100173)
+ (define GLU_NURBS_TEXTURE_COORD_DATA 100174)
+ (define GLU_NURBS_TEX_COORD_DATA_EXT 100174)
+ (define GLU_NURBS_END_DATA 100175)
+ (define GLU_NURBS_END_DATA_EXT 100175)
+
+ ;/* NurbsError* /
+ (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)
+
+ ;/* 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)
+ (define GLU_NURBS_MODE 100160)
+ (define GLU_NURBS_MODE_EXT 100160)
+ (define GLU_NURBS_TESSELLATOR 100161)
+ (define GLU_NURBS_TESSELLATOR_EXT 100161)
+ (define GLU_NURBS_RENDERER 100162)
+ (define GLU_NURBS_RENDERER_EXT 100162)
+
+ ;/* NurbsSampling* /
+ (define GLU_OBJECT_PARAMETRIC_ERROR 100208)
+ (define GLU_OBJECT_PARAMETRIC_ERROR_EXT 100208)
+ (define GLU_OBJECT_PATH_LENGTH 100209)
+ (define GLU_OBJECT_PATH_LENGTH_EXT 100209)
+ (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)
+
+ ;/* QuadricDrawStyle* /
+ (define GLU_POINT 100010)
+ (define GLU_LINE 100011)
+ (define GLU_FILL 100012)
+ (define GLU_SILHOUETTE 100013)
+
+ ;; /* QuadricCallback* /
+ ;; /* GLU_ERROR* /
+
+ ;/* QuadricNormal* /
+ (define GLU_SMOOTH 100000)
+ (define GLU_FLAT 100001)
+ (define GLU_NONE 100002)
+
+ ;/* QuadricOrientation* /
+ (define GLU_OUTSIDE 100020)
+ (define GLU_INSIDE 100021)
+
+ ;/* TessCallback* /
+ (define GLU_TESS_BEGIN 100100)
+ (define GLU_BEGIN 100100)
+ (define GLU_TESS_VERTEX 100101)
+ (define GLU_VERTEX 100101)
+ (define GLU_TESS_END 100102)
+ (define GLU_END 100102)
+ (define GLU_TESS_ERROR 100103)
+ (define GLU_TESS_EDGE_FLAG 100104)
+ (define GLU_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)
+
+ ;/* TessContour* /
+ (define GLU_CW 100120)
+ (define GLU_CCW 100121)
+ (define GLU_INTERIOR 100122)
+ (define GLU_EXTERIOR 100123)
+ (define GLU_UNKNOWN 100124)
+
+ ;/* TessProperty* /
+ (define GLU_TESS_WINDING_RULE 100140)
+ (define GLU_TESS_BOUNDARY_ONLY 100141)
+ (define GLU_TESS_TOLERANCE 100142)
+
+ ;/* 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 100151)
+ (define GLU_TESS_MISSING_BEGIN_CONTOUR 100152)
+ (define GLU_TESS_MISSING_END_POLYGON 100153)
+ (define GLU_TESS_MISSING_END_CONTOUR 100154)
+ (define GLU_TESS_COORD_TOO_LARGE 100155)
+ (define GLU_TESS_NEED_COMBINE_CALLBACK 100156)
+
+ ;/* 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)
+
+
+ (define GLU_TESS_MAX_COORD 1e150)
+
+ (define-syntax define-function
+ (syntax-rules ()
+ ((_ ret name args)
+ (define name (c-function libGLU "GLU library" ret __stdcall name args)))))
+
+ (define-function void gluBeginCurve (void*))
+ (define-function void gluBeginPolygon (void*))
+ (define-function void gluBeginSurface (void*))
+ (define-function void gluBeginTrim (void*))
+ (define-function int gluBuild1DMipmapLevels (int int int int int int int int void*))
+ (define-function int gluBuild1DMipmaps (int int int int int void*))
+ (define-function int gluBuild2DMipmapLevels (int int int int int int int int int void*))
+ (define-function int gluBuild2DMipmaps (int int int int int int void*))
+ (define-function int gluBuild3DMipmapLevels (int int int int int int int int int int void*))
+ (define-function int gluBuild3DMipmaps (int int int int int int int void*))
+ (define-function int gluCheckExtension (void* void*))
+ (define-function void gluCylinder (void* double double double int int))
+ (define-function void gluDeleteNurbsRenderer (void*))
+ (define-function void gluDeleteQuadric (void*))
+ (define-function void gluDeleteTess (void*))
+ (define-function void gluDisk (void* double double int int))
+ (define-function void gluEndCurve (void*))
+ (define-function void gluEndPolygon (void*))
+ (define-function void gluEndSurface (void*))
+ (define-function void gluEndTrim (void*))
+ (define-function void* gluErrorString (int))
+ (define-function void gluGetNurbsProperty (void* int void*))
+ (define-function void* gluGetString (int))
+ (define-function void gluGetTessProperty (void* int void*))
+ (define-function void gluLoadSamplingMatrices (void* void* void* void*))
+ (define-function void gluLookAt (double double double double double double double double double))
+ (define-function void* gluNewNurbsRenderer ())
+ (define-function void* gluNewQuadric ())
+ (define-function void* gluNewTess ())
+ (define-function void gluNextContour (void* int))
+ ;; (define-function void gluNurbsCallback (void* int _GLUfuncptr))
+ (define-function void gluNurbsCallbackData (void* void*))
+ (define-function void gluNurbsCallbackDataEXT (void* void*))
+ (define-function void gluNurbsCurve (void* int void* int void* int int))
+ (define-function void gluNurbsProperty (void* int float))
+ (define-function void gluNurbsSurface (void* int void* int void* int int void* int int int))
+ (define-function void gluOrtho2D (double double double double))
+ (define-function void gluPartialDisk (void* double double int int double double))
+ (define-function void gluPerspective (double double double double))
+ (define-function void gluPickMatrix (double double double double void*))
+ (define-function int gluProject (double double double void* void* void* void* void* void*))
+ (define-function void gluPwlCurve (void* int void* int int))
+
+ ;; (define-function void gluQuadricCallback (void* int _GLUfuncptr))
+
+ (define-function void gluQuadricCallback (void* int (c-callback void (int))))
+
+ (define-function void gluQuadricDrawStyle (void* int))
+ (define-function void gluQuadricNormals (void* int))
+ (define-function void gluQuadricOrientation (void* int))
+ (define-function void gluQuadricTexture (void* int))
+ (define-function int gluScaleImage (int int int int void* int int int void*))
+ (define-function void gluSphere (void* double int int))
+ (define-function void gluTessBeginContour (void*))
+ (define-function void gluTessBeginPolygon (void* void*))
+
+ ;; (define-function void gluTessCallback (void* int _GLUfuncptr))
+
+ (define-function void gluTessEndContour (void*))
+ (define-function void gluTessEndPolygon (void*))
+ (define-function void gluTessNormal (void* double double double))
+ (define-function void gluTessProperty (void* int double))
+ (define-function void gluTessVertex (void* void* void*))
+ (define-function int gluUnProject (double double double void* void* void* void* void* void*))
+ (define-function int gluUnProject4 (double double double double void* void* void* double double void* void* void* void*))
+
+ )
Please sign in to comment.
Something went wrong with that request. Please try again.