tidied up gl and glu, simplified FUNCTION:

cvs
Alex Chapman 2005-05-23 03:50:55 +00:00
parent 97af819ffb
commit dff6e531f3
4 changed files with 331 additions and 326 deletions

View File

@ -16,7 +16,7 @@ USING: alien kernel sequences stdio math test parser namespaces lists strings wo
!
! FUNCTION: void glEnd ( ) ; -> : glEnd ( -- ) "void" "gl" "glEnd" [ ] alien-invoke ;
!
! FUNCTION: TODO: something with a return...
! TODO: show returns in the stack effect
: LIBRARY: scan "c-library" set ; parsing
@ -26,18 +26,6 @@ USING: alien kernel sequences stdio math test parser namespaces lists strings wo
word r> "stack-effect" set-word-prop
word compile ;
: (list-split) ( list1 list2 quot -- list1 list2 )
dup >r >r dup
[ unswons dup r> call
[ r> 2drop ]
[ rot cons swap r> (list-split) ] ifte ]
[ r> r> 2drop ] ifte ;
: list-split ( list quot -- list1 list2 )
#! split the list at the first element where 'elem quot call' is t, removing that element.
#! if no elements return true, return 'list [ ]'
[ ] -rot (list-split) >r reverse r> ;
: unpair ( list -- list1 list2 )
[ uncons uncons unpair rot swons >r cons r> ]
[ f f ] ifte* ;
@ -47,12 +35,10 @@ USING: alien kernel sequences stdio math test parser namespaces lists strings wo
[ head ]
[ nip ] ifte ;
: join-stack-effect ( lst -- str )
: parse-stack-effect ( lst -- str )
unpair reverse "--" swons reverse
[ CHAR: , remove-trailing-char " " append ] map " " swons concat ;
: parse-stack-effect ( lst -- types stack-effect )
[ "--" = ] list-split >r unpair r> "--" swons append join-stack-effect ;
: (function) ( type lib func function-args -- )
unswons drop reverse unswons drop reverse
parse-stack-effect compile-function-call ;

View File

@ -4,7 +4,7 @@
! This file is based on the gl.h that comes with xorg-x11 6.8.2
IN: gl
USING: alien gl-internals kernel parser sequences math ;
USING: alien gl-internals ;
ALIAS: uint GLenum
ALIAS: uchar GLboolean
@ -693,8 +693,10 @@ FUNCTION: void glClearAccum ( GLfloat red, GLfloat green, GLfloat blue, GLfloat
FUNCTION: void glAccum ( GLenum op, GLfloat value ) ;
FUNCTION: void glMatrixMode ( GLenum mode ) ;
FUNCTION: void glOrtho ( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near_val, GLdouble far_val ) ;
FUNCTION: void glFrustum ( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near_val, GLdouble far_val ) ;
FUNCTION: void glOrtho ( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top,
GLdouble near_val, GLdouble far_val ) ;
FUNCTION: void glFrustum ( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top,
GLdouble near_val, GLdouble far_val ) ;
FUNCTION: void glViewport ( GLint x, GLint y, GLsizei width, GLsizei height ) ;
FUNCTION: void glPushMatrix ( ) ;
FUNCTION: void glPopMatrix ( ) ;
@ -895,34 +897,26 @@ FUNCTION: void glRectfv ( GLfloat *v1, GLfloat *v2 ) ;
FUNCTION: void glRectiv ( GLint *v1, GLint *v2 ) ;
FUNCTION: void glRectsv ( GLshort *v1, GLshort *v2 ) ;
: gl-version ( -- float )
GL_VERSION glGetString
! we're only interested in the first three characters since we're looking for 1.0, 1.1, etc.
2 swap head parse-number ;
! Vertex Arrays (1.1)
! gl-version 1.1 >= [
FUNCTION: void glVertexPointer ( GLint size, GLenum type, GLsizei stride, GLvoid* ptr ) ;
FUNCTION: void glNormalPointer ( GLenum type, GLsizei stride, GLvoid* ptr ) ;
FUNCTION: void glColorPointer ( GLint size, GLenum type, GLsizei stride, GLvoid* ptr ) ;
FUNCTION: void glIndexPointer ( GLenum type, GLsizei stride, GLvoid* ptr ) ;
FUNCTION: void glTexCoordPointer ( GLint size, GLenum type, GLsizei stride, GLvoid* ptr ) ;
FUNCTION: void glEdgeFlagPointer ( GLsizei stride, GLvoid* ptr ) ;
FUNCTION: void glVertexPointer ( GLint size, GLenum type, GLsizei stride, GLvoid* ptr ) ;
FUNCTION: void glNormalPointer ( GLenum type, GLsizei stride, GLvoid* ptr ) ;
FUNCTION: void glColorPointer ( GLint size, GLenum type, GLsizei stride, GLvoid* ptr ) ;
FUNCTION: void glIndexPointer ( GLenum type, GLsizei stride, GLvoid* ptr ) ;
FUNCTION: void glTexCoordPointer ( GLint size, GLenum type, GLsizei stride, GLvoid* ptr ) ;
FUNCTION: void glEdgeFlagPointer ( GLsizei stride, GLvoid* ptr ) ;
! [09:39] (slava) NULL <void*>
! [09:39] (slava) then keep that object
! [09:39] (slava) when you want to get the value stored there, *void*
! [09:39] (slava) which returns an alien
FUNCTION: void glGetPointerv ( GLenum pname, GLvoid** params ) ;
! [09:39] (slava) NULL <void*>
! [09:39] (slava) then keep that object
! [09:39] (slava) when you want to get the value stored there, *void*
! [09:39] (slava) which returns an alien
FUNCTION: void glGetPointerv ( GLenum pname, GLvoid** params ) ;
FUNCTION: void glArrayElement ( GLint i ) ;
FUNCTION: void glDrawArrays ( GLenum mode, GLint first, GLsizei count ) ;
FUNCTION: void glDrawElements ( GLenum mode, GLsizei count, GLenum type, GLvoid* indices ) ;
FUNCTION: void glInterleavedArrays ( GLenum format, GLsizei stride, GLvoid* pointer ) ;
! ] when
FUNCTION: void glArrayElement ( GLint i ) ;
FUNCTION: void glDrawArrays ( GLenum mode, GLint first, GLsizei count ) ;
FUNCTION: void glDrawElements ( GLenum mode, GLsizei count, GLenum type, GLvoid* indices ) ;
FUNCTION: void glInterleavedArrays ( GLenum format, GLsizei stride, GLvoid* pointer ) ;
! Lighting
@ -969,11 +963,14 @@ FUNCTION: void glGetPixelMapfv ( GLenum map, GLfloat* values ) ;
FUNCTION: void glGetPixelMapuiv ( GLenum map, GLuint* values ) ;
FUNCTION: void glGetPixelMapusv ( GLenum map, GLushort* values ) ;
FUNCTION: void glBitmap ( GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, GLubyte* bitmap ) ;
FUNCTION: void glBitmap ( GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig,
GLfloat xmove, GLfloat ymove, GLubyte* bitmap ) ;
FUNCTION: void glReadPixels ( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels ) ;
FUNCTION: void glReadPixels ( GLint x, GLint y, GLsizei width, GLsizei height,
GLenum format, GLenum type, GLvoid* pixels ) ;
FUNCTION: void glDrawPixels ( GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels ) ;
FUNCTION: void glDrawPixels ( GLsizei width, GLsizei height, GLenum format,
GLenum type, GLvoid* pixels ) ;
FUNCTION: void glCopyPixels ( GLint x, GLint y, GLsizei width, GLsizei height, GLenum type ) ;
! Stenciling
@ -1014,304 +1011,319 @@ FUNCTION: void glTexParameteriv ( GLenum target, GLenum pname, GLint* params ) ;
FUNCTION: void glGetTexParameterfv ( GLenum target, GLenum pname, GLfloat* params ) ;
FUNCTION: void glGetTexParameteriv ( GLenum target, GLenum pname, GLint* params ) ;
FUNCTION: void glGetTexLevelParameterfv ( GLenum target, GLint level, GLenum pname, GLfloat* params ) ;
FUNCTION: void glGetTexLevelParameteriv ( GLenum target, GLint level, GLenum pname, GLint* params ) ;
FUNCTION: void glGetTexLevelParameterfv ( GLenum target, GLint level,
GLenum pname, GLfloat* params ) ;
FUNCTION: void glGetTexLevelParameteriv ( GLenum target, GLint level,
GLenum pname, GLint* params ) ;
FUNCTION: void glTexImage1D ( GLenum target, GLint level, GLint internalFormat, GLsizei width, GLint border, GLenum format, GLenum type, GLvoid* pixels ) ;
FUNCTION: void glTexImage1D ( GLenum target, GLint level, GLint internalFormat, GLsizei width,
GLint border, GLenum format, GLenum type, GLvoid* pixels ) ;
FUNCTION: void glTexImage2D ( GLenum target, GLint level, GLint internalFormat,
GLsizei width, GLsizei height, GLint border,
GLenum format, GLenum type, GLvoid* pixels ) ;
FUNCTION: void glGetTexImage ( GLenum target, GLint level, GLenum format, GLenum type, GLvoid* pixels ) ;
FUNCTION: void glGetTexImage ( GLenum target, GLint level, GLenum format,
GLenum type, GLvoid* pixels ) ;
! 1.1 functions
! gl-version 1.1 >= [
FUNCTION: void glGenTextures ( GLsizei n, GLuint* textures ) ;
FUNCTION: void glGenTextures ( GLsizei n, GLuint* textures ) ;
FUNCTION: void glDeleteTextures ( GLsizei n, GLuint* textures ) ;
FUNCTION: void glDeleteTextures ( GLsizei n, GLuint* textures ) ;
FUNCTION: void glBindTexture ( GLenum target, GLuint texture ) ;
FUNCTION: void glBindTexture ( GLenum target, GLuint texture ) ;
FUNCTION: void glPrioritizeTextures ( GLsizei n, GLuint* textures, GLclampf* priorities ) ;
FUNCTION: void glPrioritizeTextures ( GLsizei n, GLuint* textures, GLclampf* priorities ) ;
FUNCTION: GLboolean glAreTexturesResident ( GLsizei n, GLuint* textures, GLboolean* residences ) ;
FUNCTION: GLboolean glAreTexturesResident ( GLsizei n, GLuint* textures, GLboolean* residences ) ;
FUNCTION: GLboolean glIsTexture ( GLuint texture ) ;
FUNCTION: GLboolean glIsTexture ( GLuint texture ) ;
FUNCTION: void glTexSubImage1D ( GLenum target, GLint level, GLint xoffset, GLsizei width,
GLenum format, GLenum type, GLvoid* pixels ) ;
FUNCTION: void glTexSubImage1D ( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, GLvoid* pixels ) ;
FUNCTION: void glTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset,
GLsizei width, GLsizei height, GLenum format,
GLenum type, GLvoid* pixels ) ;
FUNCTION: void glTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels ) ;
FUNCTION: void glCopyTexImage1D ( GLenum target, GLint level, GLenum internalformat,
GLint x, GLint y, GLsizei width, GLint border ) ;
FUNCTION: void glCopyTexImage1D ( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border ) ;
FUNCTION: void glCopyTexImage2D ( GLenum target, GLint level, GLenum internalformat,
GLint x, GLint y,
GLsizei width, GLsizei height, GLint border ) ;
FUNCTION: void glCopyTexImage2D ( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border ) ;
FUNCTION: void glCopyTexSubImage1D ( GLenum target, GLint level, GLint xoffset,
GLint x, GLint y, GLsizei width ) ;
FUNCTION: void glCopyTexSubImage1D ( GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width ) ;
FUNCTION: void glCopyTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height ) ;
FUNCTION: void glCopyTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset,
GLint x, GLint y, GLsizei width, GLsizei height ) ;
! Evaluators
! Evaluators
FUNCTION: void glMap1d ( GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, GLdouble* points ) ;
FUNCTION: void glMap1f ( GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, GLfloat* points ) ;
FUNCTION: void glMap1d ( GLenum target, GLdouble u1, GLdouble u2,
GLint stride, GLint order, GLdouble* points ) ;
FUNCTION: void glMap1f ( GLenum target, GLfloat u1, GLfloat u2,
GLint stride, GLint order, GLfloat* points ) ;
FUNCTION: void glMap2d ( GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble* points ) ;
FUNCTION: void glMap2f ( GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat* points ) ;
FUNCTION: void glMap2d ( GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder,
GLdouble v1, GLdouble v2, GLint vstride, GLint vorder,
GLdouble* points ) ;
FUNCTION: void glMap2f ( GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder,
GLfloat v1, GLfloat v2, GLint vstride, GLint vorder,
GLfloat* points ) ;
FUNCTION: void glGetMapdv ( GLenum target, GLenum query, GLdouble* v ) ;
FUNCTION: void glGetMapfv ( GLenum target, GLenum query, GLfloat* v ) ;
FUNCTION: void glGetMapiv ( GLenum target, GLenum query, GLint* v ) ;
FUNCTION: void glGetMapdv ( GLenum target, GLenum query, GLdouble* v ) ;
FUNCTION: void glGetMapfv ( GLenum target, GLenum query, GLfloat* v ) ;
FUNCTION: void glGetMapiv ( GLenum target, GLenum query, GLint* v ) ;
FUNCTION: void glEvalCoord1d ( GLdouble u ) ;
FUNCTION: void glEvalCoord1f ( GLfloat u ) ;
FUNCTION: void glEvalCoord1d ( GLdouble u ) ;
FUNCTION: void glEvalCoord1f ( GLfloat u ) ;
FUNCTION: void glEvalCoord1dv ( GLdouble* u ) ;
FUNCTION: void glEvalCoord1fv ( GLfloat* u ) ;
FUNCTION: void glEvalCoord1dv ( GLdouble* u ) ;
FUNCTION: void glEvalCoord1fv ( GLfloat* u ) ;
FUNCTION: void glEvalCoord2d ( GLdouble u, GLdouble v ) ;
FUNCTION: void glEvalCoord2f ( GLfloat u, GLfloat v ) ;
FUNCTION: void glEvalCoord2d ( GLdouble u, GLdouble v ) ;
FUNCTION: void glEvalCoord2f ( GLfloat u, GLfloat v ) ;
FUNCTION: void glEvalCoord2dv ( GLdouble* u ) ;
FUNCTION: void glEvalCoord2fv ( GLfloat* u ) ;
FUNCTION: void glEvalCoord2dv ( GLdouble* u ) ;
FUNCTION: void glEvalCoord2fv ( GLfloat* u ) ;
FUNCTION: void glMapGrid1d ( GLint un, GLdouble u1, GLdouble u2 ) ;
FUNCTION: void glMapGrid1f ( GLint un, GLfloat u1, GLfloat u2 ) ;
FUNCTION: void glMapGrid1d ( GLint un, GLdouble u1, GLdouble u2 ) ;
FUNCTION: void glMapGrid1f ( GLint un, GLfloat u1, GLfloat u2 ) ;
FUNCTION: void glMapGrid2d ( GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2 ) ;
FUNCTION: void glMapGrid2f ( GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2 ) ;
FUNCTION: void glMapGrid2d ( GLint un, GLdouble u1, GLdouble u2,
GLint vn, GLdouble v1, GLdouble v2 ) ;
FUNCTION: void glMapGrid2f ( GLint un, GLfloat u1, GLfloat u2,
GLint vn, GLfloat v1, GLfloat v2 ) ;
FUNCTION: void glEvalPoint1 ( GLint i ) ;
FUNCTION: void glEvalPoint2 ( GLint i, GLint j ) ;
FUNCTION: void glEvalPoint1 ( GLint i ) ;
FUNCTION: void glEvalPoint2 ( GLint i, GLint j ) ;
FUNCTION: void glEvalMesh1 ( GLenum mode, GLint i1, GLint i2 ) ;
FUNCTION: void glEvalMesh2 ( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 ) ;
FUNCTION: void glEvalMesh1 ( GLenum mode, GLint i1, GLint i2 ) ;
FUNCTION: void glEvalMesh2 ( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 ) ;
! Fog
! Fog
FUNCTION: void glFogf ( GLenum pname, GLfloat param ) ;
FUNCTION: void glFogi ( GLenum pname, GLint param ) ;
FUNCTION: void glFogfv ( GLenum pname, GLfloat* params ) ;
FUNCTION: void glFogiv ( GLenum pname, GLint* params ) ;
FUNCTION: void glFogf ( GLenum pname, GLfloat param ) ;
FUNCTION: void glFogi ( GLenum pname, GLint param ) ;
FUNCTION: void glFogfv ( GLenum pname, GLfloat* params ) ;
FUNCTION: void glFogiv ( GLenum pname, GLint* params ) ;
! Selection and Feedback
! Selection and Feedback
FUNCTION: void glFeedbackBuffer ( GLsizei size, GLenum type, GLfloat* buffer ) ;
FUNCTION: void glFeedbackBuffer ( GLsizei size, GLenum type, GLfloat* buffer ) ;
FUNCTION: void glPassThrough ( GLfloat token ) ;
FUNCTION: void glSelectBuffer ( GLsizei size, GLuint* buffer ) ;
FUNCTION: void glInitNames ( ) ;
FUNCTION: void glLoadName ( GLuint name ) ;
FUNCTION: void glPushName ( GLuint name ) ;
FUNCTION: void glPopName ( ) ;
FUNCTION: void glPassThrough ( GLfloat token ) ;
FUNCTION: void glSelectBuffer ( GLsizei size, GLuint* buffer ) ;
FUNCTION: void glInitNames ( ) ;
FUNCTION: void glLoadName ( GLuint name ) ;
FUNCTION: void glPushName ( GLuint name ) ;
FUNCTION: void glPopName ( ) ;
! ] when
! OpenGL 1.2
! gl-version 1.2 >= [
: GL_PACK_SKIP_IMAGES HEX: 806B ; inline
: GL_PACK_IMAGE_HEIGHT HEX: 806C ; inline
: GL_UNPACK_SKIP_IMAGES HEX: 806D ; inline
: GL_UNPACK_IMAGE_HEIGHT HEX: 806E ; inline
: GL_TEXTURE_3D HEX: 806F ; inline
: GL_PROXY_TEXTURE_3D HEX: 8070 ; inline
: GL_TEXTURE_DEPTH HEX: 8071 ; inline
: GL_TEXTURE_WRAP_R HEX: 8072 ; inline
: GL_MAX_3D_TEXTURE_SIZE HEX: 8073 ; inline
: GL_BGR HEX: 80E0 ; inline
: GL_BGRA HEX: 80E1 ; inline
: GL_UNSIGNED_BYTE_3_3_2 HEX: 8032 ; inline
: GL_UNSIGNED_BYTE_2_3_3_REV HEX: 8362 ; inline
: GL_UNSIGNED_SHORT_5_6_5 HEX: 8363 ; inline
: GL_UNSIGNED_SHORT_5_6_5_REV HEX: 8364 ; inline
: GL_UNSIGNED_SHORT_4_4_4_4 HEX: 8033 ; inline
: GL_UNSIGNED_SHORT_4_4_4_4_REV HEX: 8365 ; inline
: GL_UNSIGNED_SHORT_5_5_5_1 HEX: 8034 ; inline
: GL_UNSIGNED_SHORT_1_5_5_5_REV HEX: 8366 ; inline
: GL_UNSIGNED_INT_8_8_8_8 HEX: 8035 ; inline
: GL_UNSIGNED_INT_8_8_8_8_REV HEX: 8367 ; inline
: GL_UNSIGNED_INT_10_10_10_2 HEX: 8036 ; inline
: GL_UNSIGNED_INT_2_10_10_10_REV HEX: 8368 ; inline
: GL_RESCALE_NORMAL HEX: 803A ; inline
: GL_LIGHT_MODEL_COLOR_CONTROL HEX: 81F8 ; inline
: GL_SINGLE_COLOR HEX: 81F9 ; inline
: GL_SEPARATE_SPECULAR_COLOR HEX: 81FA ; inline
: GL_CLAMP_TO_EDGE HEX: 812F ; inline
: GL_TEXTURE_MIN_LOD HEX: 813A ; inline
: GL_TEXTURE_MAX_LOD HEX: 813B ; inline
: GL_TEXTURE_BASE_LEVEL HEX: 813C ; inline
: GL_TEXTURE_MAX_LEVEL HEX: 813D ; inline
: GL_MAX_ELEMENTS_VERTICES HEX: 80E8 ; inline
: GL_MAX_ELEMENTS_INDICES HEX: 80E9 ; inline
: GL_ALIASED_POINT_SIZE_RANGE HEX: 846D ; inline
: GL_ALIASED_LINE_WIDTH_RANGE HEX: 846E ; inline
: GL_PACK_SKIP_IMAGES HEX: 806B ; inline
: GL_PACK_IMAGE_HEIGHT HEX: 806C ; inline
: GL_UNPACK_SKIP_IMAGES HEX: 806D ; inline
: GL_UNPACK_IMAGE_HEIGHT HEX: 806E ; inline
: GL_TEXTURE_3D HEX: 806F ; inline
: GL_PROXY_TEXTURE_3D HEX: 8070 ; inline
: GL_TEXTURE_DEPTH HEX: 8071 ; inline
: GL_TEXTURE_WRAP_R HEX: 8072 ; inline
: GL_MAX_3D_TEXTURE_SIZE HEX: 8073 ; inline
: GL_BGR HEX: 80E0 ; inline
: GL_BGRA HEX: 80E1 ; inline
: GL_UNSIGNED_BYTE_3_3_2 HEX: 8032 ; inline
: GL_UNSIGNED_BYTE_2_3_3_REV HEX: 8362 ; inline
: GL_UNSIGNED_SHORT_5_6_5 HEX: 8363 ; inline
: GL_UNSIGNED_SHORT_5_6_5_REV HEX: 8364 ; inline
: GL_UNSIGNED_SHORT_4_4_4_4 HEX: 8033 ; inline
: GL_UNSIGNED_SHORT_4_4_4_4_REV HEX: 8365 ; inline
: GL_UNSIGNED_SHORT_5_5_5_1 HEX: 8034 ; inline
: GL_UNSIGNED_SHORT_1_5_5_5_REV HEX: 8366 ; inline
: GL_UNSIGNED_INT_8_8_8_8 HEX: 8035 ; inline
: GL_UNSIGNED_INT_8_8_8_8_REV HEX: 8367 ; inline
: GL_UNSIGNED_INT_10_10_10_2 HEX: 8036 ; inline
: GL_UNSIGNED_INT_2_10_10_10_REV HEX: 8368 ; inline
: GL_RESCALE_NORMAL HEX: 803A ; inline
: GL_LIGHT_MODEL_COLOR_CONTROL HEX: 81F8 ; inline
: GL_SINGLE_COLOR HEX: 81F9 ; inline
: GL_SEPARATE_SPECULAR_COLOR HEX: 81FA ; inline
: GL_CLAMP_TO_EDGE HEX: 812F ; inline
: GL_TEXTURE_MIN_LOD HEX: 813A ; inline
: GL_TEXTURE_MAX_LOD HEX: 813B ; inline
: GL_TEXTURE_BASE_LEVEL HEX: 813C ; inline
: GL_TEXTURE_MAX_LEVEL HEX: 813D ; inline
: GL_MAX_ELEMENTS_VERTICES HEX: 80E8 ; inline
: GL_MAX_ELEMENTS_INDICES HEX: 80E9 ; inline
: GL_ALIASED_POINT_SIZE_RANGE HEX: 846D ; inline
: GL_ALIASED_LINE_WIDTH_RANGE HEX: 846E ; inline
FUNCTION: void glDrawRangeElements ( GLenum mode, GLuint start, GLuint end,
GLsizei count, GLenum type, GLvoid* indices ) ;
FUNCTION: void glDrawRangeElements ( GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, GLvoid* indices ) ;
FUNCTION: void glTexImage3D ( GLenum target, GLint level, GLint internalFormat,
GLsizei width, GLsizei height, GLsizei depth, GLint border,
GLenum format, GLenum type, GLvoid* pixels ) ;
FUNCTION: void glTexImage3D ( GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, GLvoid* pixels ) ;
FUNCTION: void glTexSubImage3D ( GLenum target, GLint level, GLint xoffset, GLint yoffset,
GLint zoffset, GLsizei width, GLsizei height, GLsizei depth,
GLenum format, GLenum type, GLvoid* pixels ) ;
FUNCTION: void glTexSubImage3D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid* pixels ) ;
FUNCTION: void glCopyTexSubImage3D ( GLenum target, GLint level,
GLint xoffset, GLint yoffset, GLint zoffset,
GLint x, GLint y, GLsizei width, GLsizei height ) ;
FUNCTION: void glCopyTexSubImage3D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height ) ;
! ] when
! TODO: the rest. looks fiddly
! OpenGL 1.3
! gl-version 1.3 >= [
: GL_ACTIVE_TEXTURE HEX: 84E0 ; inline
: GL_CLIENT_ACTIVE_TEXTURE HEX: 84E1 ; inline
: GL_MAX_TEXTURE_UNITS HEX: 84E2 ; inline
: GL_TEXTURE0 HEX: 84C0 ; inline
: GL_TEXTURE1 HEX: 84C1 ; inline
: GL_TEXTURE2 HEX: 84C2 ; inline
: GL_TEXTURE3 HEX: 84C3 ; inline
: GL_TEXTURE4 HEX: 84C4 ; inline
: GL_TEXTURE5 HEX: 84C5 ; inline
: GL_TEXTURE6 HEX: 84C6 ; inline
: GL_TEXTURE7 HEX: 84C7 ; inline
: GL_TEXTURE8 HEX: 84C8 ; inline
: GL_TEXTURE9 HEX: 84C9 ; inline
: GL_TEXTURE10 HEX: 84CA ; inline
: GL_TEXTURE11 HEX: 84CB ; inline
: GL_TEXTURE12 HEX: 84CC ; inline
: GL_TEXTURE13 HEX: 84CD ; inline
: GL_TEXTURE14 HEX: 84CE ; inline
: GL_TEXTURE15 HEX: 84CF ; inline
: GL_TEXTURE16 HEX: 84D0 ; inline
: GL_TEXTURE17 HEX: 84D1 ; inline
: GL_TEXTURE18 HEX: 84D2 ; inline
: GL_TEXTURE19 HEX: 84D3 ; inline
: GL_TEXTURE20 HEX: 84D4 ; inline
: GL_TEXTURE21 HEX: 84D5 ; inline
: GL_TEXTURE22 HEX: 84D6 ; inline
: GL_TEXTURE23 HEX: 84D7 ; inline
: GL_TEXTURE24 HEX: 84D8 ; inline
: GL_TEXTURE25 HEX: 84D9 ; inline
: GL_TEXTURE26 HEX: 84DA ; inline
: GL_TEXTURE27 HEX: 84DB ; inline
: GL_TEXTURE28 HEX: 84DC ; inline
: GL_TEXTURE29 HEX: 84DD ; inline
: GL_TEXTURE30 HEX: 84DE ; inline
: GL_TEXTURE31 HEX: 84DF ; inline
: GL_NORMAL_MAP HEX: 8511 ; inline
: GL_REFLECTION_MAP HEX: 8512 ; inline
: GL_TEXTURE_CUBE_MAP HEX: 8513 ; inline
: GL_TEXTURE_BINDING_CUBE_MAP HEX: 8514 ; inline
: GL_TEXTURE_CUBE_MAP_POSITIVE_X HEX: 8515 ; inline
: GL_TEXTURE_CUBE_MAP_NEGATIVE_X HEX: 8516 ; inline
: GL_TEXTURE_CUBE_MAP_POSITIVE_Y HEX: 8517 ; inline
: GL_TEXTURE_CUBE_MAP_NEGATIVE_Y HEX: 8518 ; inline
: GL_TEXTURE_CUBE_MAP_POSITIVE_Z HEX: 8519 ; inline
: GL_TEXTURE_CUBE_MAP_NEGATIVE_Z HEX: 851A ; inline
: GL_PROXY_TEXTURE_CUBE_MAP HEX: 851B ; inline
: GL_MAX_CUBE_MAP_TEXTURE_SIZE HEX: 851C ; inline
: GL_COMBINE HEX: 8570 ; inline
: GL_COMBINE_RGB HEX: 8571 ; inline
: GL_COMBINE_ALPHA HEX: 8572 ; inline
: GL_RGB_SCALE HEX: 8573 ; inline
: GL_ADD_SIGNED HEX: 8574 ; inline
: GL_INTERPOLATE HEX: 8575 ; inline
: GL_CONSTANT HEX: 8576 ; inline
: GL_PRIMARY_COLOR HEX: 8577 ; inline
: GL_PREVIOUS HEX: 8578 ; inline
: GL_SOURCE0_RGB HEX: 8580 ; inline
: GL_SOURCE1_RGB HEX: 8581 ; inline
: GL_SOURCE2_RGB HEX: 8582 ; inline
: GL_SOURCE0_ALPHA HEX: 8588 ; inline
: GL_SOURCE1_ALPHA HEX: 8589 ; inline
: GL_SOURCE2_ALPHA HEX: 858A ; inline
: GL_OPERAND0_RGB HEX: 8590 ; inline
: GL_OPERAND1_RGB HEX: 8591 ; inline
: GL_OPERAND2_RGB HEX: 8592 ; inline
: GL_OPERAND0_ALPHA HEX: 8598 ; inline
: GL_OPERAND1_ALPHA HEX: 8599 ; inline
: GL_OPERAND2_ALPHA HEX: 859A ; inline
: GL_SUBTRACT HEX: 84E7 ; inline
: GL_TRANSPOSE_MODELVIEW_MATRIX HEX: 84E3 ; inline
: GL_TRANSPOSE_PROJECTION_MATRIX HEX: 84E4 ; inline
: GL_TRANSPOSE_TEXTURE_MATRIX HEX: 84E5 ; inline
: GL_TRANSPOSE_COLOR_MATRIX HEX: 84E6 ; inline
: GL_COMPRESSED_ALPHA HEX: 84E9 ; inline
: GL_COMPRESSED_LUMINANCE HEX: 84EA ; inline
: GL_COMPRESSED_LUMINANCE_ALPHA HEX: 84EB ; inline
: GL_COMPRESSED_INTENSITY HEX: 84EC ; inline
: GL_COMPRESSED_RGB HEX: 84ED ; inline
: GL_COMPRESSED_RGBA HEX: 84EE ; inline
: GL_TEXTURE_COMPRESSION_HINT HEX: 84EF ; inline
: GL_TEXTURE_COMPRESSED_IMAGE_SIZE HEX: 86A0 ; inline
: GL_TEXTURE_COMPRESSED HEX: 86A1 ; inline
: GL_NUM_COMPRESSED_TEXTURE_FORMATS HEX: 86A2 ; inline
: GL_COMPRESSED_TEXTURE_FORMATS HEX: 86A3 ; inline
: GL_DOT3_RGB HEX: 86AE ; inline
: GL_DOT3_RGBA HEX: 86AF ; inline
: GL_CLAMP_TO_BORDER HEX: 812D ; inline
: GL_MULTISAMPLE HEX: 809D ; inline
: GL_SAMPLE_ALPHA_TO_COVERAGE HEX: 809E ; inline
: GL_SAMPLE_ALPHA_TO_ONE HEX: 809F ; inline
: GL_SAMPLE_COVERAGE HEX: 80A0 ; inline
: GL_SAMPLE_BUFFERS HEX: 80A8 ; inline
: GL_SAMPLES HEX: 80A9 ; inline
: GL_SAMPLE_COVERAGE_VALUE HEX: 80AA ; inline
: GL_SAMPLE_COVERAGE_INVERT HEX: 80AB ; inline
: GL_MULTISAMPLE_BIT HEX: 20000000 ; inline
: GL_ACTIVE_TEXTURE HEX: 84E0 ; inline
: GL_CLIENT_ACTIVE_TEXTURE HEX: 84E1 ; inline
: GL_MAX_TEXTURE_UNITS HEX: 84E2 ; inline
: GL_TEXTURE0 HEX: 84C0 ; inline
: GL_TEXTURE1 HEX: 84C1 ; inline
: GL_TEXTURE2 HEX: 84C2 ; inline
: GL_TEXTURE3 HEX: 84C3 ; inline
: GL_TEXTURE4 HEX: 84C4 ; inline
: GL_TEXTURE5 HEX: 84C5 ; inline
: GL_TEXTURE6 HEX: 84C6 ; inline
: GL_TEXTURE7 HEX: 84C7 ; inline
: GL_TEXTURE8 HEX: 84C8 ; inline
: GL_TEXTURE9 HEX: 84C9 ; inline
: GL_TEXTURE10 HEX: 84CA ; inline
: GL_TEXTURE11 HEX: 84CB ; inline
: GL_TEXTURE12 HEX: 84CC ; inline
: GL_TEXTURE13 HEX: 84CD ; inline
: GL_TEXTURE14 HEX: 84CE ; inline
: GL_TEXTURE15 HEX: 84CF ; inline
: GL_TEXTURE16 HEX: 84D0 ; inline
: GL_TEXTURE17 HEX: 84D1 ; inline
: GL_TEXTURE18 HEX: 84D2 ; inline
: GL_TEXTURE19 HEX: 84D3 ; inline
: GL_TEXTURE20 HEX: 84D4 ; inline
: GL_TEXTURE21 HEX: 84D5 ; inline
: GL_TEXTURE22 HEX: 84D6 ; inline
: GL_TEXTURE23 HEX: 84D7 ; inline
: GL_TEXTURE24 HEX: 84D8 ; inline
: GL_TEXTURE25 HEX: 84D9 ; inline
: GL_TEXTURE26 HEX: 84DA ; inline
: GL_TEXTURE27 HEX: 84DB ; inline
: GL_TEXTURE28 HEX: 84DC ; inline
: GL_TEXTURE29 HEX: 84DD ; inline
: GL_TEXTURE30 HEX: 84DE ; inline
: GL_TEXTURE31 HEX: 84DF ; inline
: GL_NORMAL_MAP HEX: 8511 ; inline
: GL_REFLECTION_MAP HEX: 8512 ; inline
: GL_TEXTURE_CUBE_MAP HEX: 8513 ; inline
: GL_TEXTURE_BINDING_CUBE_MAP HEX: 8514 ; inline
: GL_TEXTURE_CUBE_MAP_POSITIVE_X HEX: 8515 ; inline
: GL_TEXTURE_CUBE_MAP_NEGATIVE_X HEX: 8516 ; inline
: GL_TEXTURE_CUBE_MAP_POSITIVE_Y HEX: 8517 ; inline
: GL_TEXTURE_CUBE_MAP_NEGATIVE_Y HEX: 8518 ; inline
: GL_TEXTURE_CUBE_MAP_POSITIVE_Z HEX: 8519 ; inline
: GL_TEXTURE_CUBE_MAP_NEGATIVE_Z HEX: 851A ; inline
: GL_PROXY_TEXTURE_CUBE_MAP HEX: 851B ; inline
: GL_MAX_CUBE_MAP_TEXTURE_SIZE HEX: 851C ; inline
: GL_COMBINE HEX: 8570 ; inline
: GL_COMBINE_RGB HEX: 8571 ; inline
: GL_COMBINE_ALPHA HEX: 8572 ; inline
: GL_RGB_SCALE HEX: 8573 ; inline
: GL_ADD_SIGNED HEX: 8574 ; inline
: GL_INTERPOLATE HEX: 8575 ; inline
: GL_CONSTANT HEX: 8576 ; inline
: GL_PRIMARY_COLOR HEX: 8577 ; inline
: GL_PREVIOUS HEX: 8578 ; inline
: GL_SOURCE0_RGB HEX: 8580 ; inline
: GL_SOURCE1_RGB HEX: 8581 ; inline
: GL_SOURCE2_RGB HEX: 8582 ; inline
: GL_SOURCE0_ALPHA HEX: 8588 ; inline
: GL_SOURCE1_ALPHA HEX: 8589 ; inline
: GL_SOURCE2_ALPHA HEX: 858A ; inline
: GL_OPERAND0_RGB HEX: 8590 ; inline
: GL_OPERAND1_RGB HEX: 8591 ; inline
: GL_OPERAND2_RGB HEX: 8592 ; inline
: GL_OPERAND0_ALPHA HEX: 8598 ; inline
: GL_OPERAND1_ALPHA HEX: 8599 ; inline
: GL_OPERAND2_ALPHA HEX: 859A ; inline
: GL_SUBTRACT HEX: 84E7 ; inline
: GL_TRANSPOSE_MODELVIEW_MATRIX HEX: 84E3 ; inline
: GL_TRANSPOSE_PROJECTION_MATRIX HEX: 84E4 ; inline
: GL_TRANSPOSE_TEXTURE_MATRIX HEX: 84E5 ; inline
: GL_TRANSPOSE_COLOR_MATRIX HEX: 84E6 ; inline
: GL_COMPRESSED_ALPHA HEX: 84E9 ; inline
: GL_COMPRESSED_LUMINANCE HEX: 84EA ; inline
: GL_COMPRESSED_LUMINANCE_ALPHA HEX: 84EB ; inline
: GL_COMPRESSED_INTENSITY HEX: 84EC ; inline
: GL_COMPRESSED_RGB HEX: 84ED ; inline
: GL_COMPRESSED_RGBA HEX: 84EE ; inline
: GL_TEXTURE_COMPRESSION_HINT HEX: 84EF ; inline
: GL_TEXTURE_COMPRESSED_IMAGE_SIZE HEX: 86A0 ; inline
: GL_TEXTURE_COMPRESSED HEX: 86A1 ; inline
: GL_NUM_COMPRESSED_TEXTURE_FORMATS HEX: 86A2 ; inline
: GL_COMPRESSED_TEXTURE_FORMATS HEX: 86A3 ; inline
: GL_DOT3_RGB HEX: 86AE ; inline
: GL_DOT3_RGBA HEX: 86AF ; inline
: GL_CLAMP_TO_BORDER HEX: 812D ; inline
: GL_MULTISAMPLE HEX: 809D ; inline
: GL_SAMPLE_ALPHA_TO_COVERAGE HEX: 809E ; inline
: GL_SAMPLE_ALPHA_TO_ONE HEX: 809F ; inline
: GL_SAMPLE_COVERAGE HEX: 80A0 ; inline
: GL_SAMPLE_BUFFERS HEX: 80A8 ; inline
: GL_SAMPLES HEX: 80A9 ; inline
: GL_SAMPLE_COVERAGE_VALUE HEX: 80AA ; inline
: GL_SAMPLE_COVERAGE_INVERT HEX: 80AB ; inline
: GL_MULTISAMPLE_BIT HEX: 20000000 ; inline
! ] when
! OpenGL 1.4
! gl-version 1.4 >= [
: GL_POINT_SIZE_MIN HEX: 8126 ; inline
: GL_POINT_SIZE_MAX HEX: 8127 ; inline
: GL_POINT_FADE_THRESHOLD_SIZE HEX: 8128 ; inline
: GL_POINT_DISTANCE_ATTENUATION HEX: 8129 ; inline
: GL_FOG_COORDINATE_SOURCE HEX: 8450 ; inline
: GL_FOG_COORDINATE HEX: 8451 ; inline
: GL_FRAGMENT_DEPTH HEX: 8452 ; inline
: GL_CURRENT_FOG_COORDINATE HEX: 8453 ; inline
: GL_FOG_COORDINATE_ARRAY_TYPE HEX: 8454 ; inline
: GL_FOG_COORDINATE_ARRAY_STRIDE HEX: 8455 ; inline
: GL_FOG_COORDINATE_ARRAY_POINTER HEX: 8456 ; inline
: GL_FOG_COORDINATE_ARRAY HEX: 8457 ; inline
: GL_COLOR_SUM HEX: 8458 ; inline
: GL_CURRENT_SECONDARY_COLOR HEX: 8459 ; inline
: GL_SECONDARY_COLOR_ARRAY_SIZE HEX: 845A ; inline
: GL_SECONDARY_COLOR_ARRAY_TYPE HEX: 845B ; inline
: GL_SECONDARY_COLOR_ARRAY_STRIDE HEX: 845C ; inline
: GL_SECONDARY_COLOR_ARRAY_POINTER HEX: 845D ; inline
: GL_SECONDARY_COLOR_ARRAY HEX: 845E ; inline
: GL_INCR_WRAP HEX: 8507 ; inline
: GL_DECR_WRAP HEX: 8508 ; inline
: GL_MAX_TEXTURE_LOD_BIAS HEX: 84FD ; inline
: GL_TEXTURE_FILTER_CONTROL HEX: 8500 ; inline
: GL_TEXTURE_LOD_BIAS HEX: 8501 ; inline
: GL_GENERATE_MIPMAP HEX: 8191 ; inline
: GL_GENERATE_MIPMAP_HINT HEX: 8192 ; inline
: GL_BLEND_DST_RGB HEX: 80C8 ; inline
: GL_BLEND_SRC_RGB HEX: 80C9 ; inline
: GL_BLEND_DST_ALPHA HEX: 80CA ; inline
: GL_BLEND_SRC_ALPHA HEX: 80CB ; inline
: GL_MIRRORED_REPEAT HEX: 8370 ; inline
: GL_DEPTH_COMPONENT16 HEX: 81A5 ; inline
: GL_DEPTH_COMPONENT24 HEX: 81A6 ; inline
: GL_DEPTH_COMPONENT32 HEX: 81A7 ; inline
: GL_TEXTURE_DEPTH_SIZE HEX: 884A ; inline
: GL_DEPTH_TEXTURE_MODE HEX: 884B ; inline
: GL_TEXTURE_COMPARE_MODE HEX: 884C ; inline
: GL_TEXTURE_COMPARE_FUNC HEX: 884D ; inline
: GL_COMPARE_R_TO_TEXTURE HEX: 884E ; inline
: GL_POINT_SIZE_MIN HEX: 8126 ; inline
: GL_POINT_SIZE_MAX HEX: 8127 ; inline
: GL_POINT_FADE_THRESHOLD_SIZE HEX: 8128 ; inline
: GL_POINT_DISTANCE_ATTENUATION HEX: 8129 ; inline
: GL_FOG_COORDINATE_SOURCE HEX: 8450 ; inline
: GL_FOG_COORDINATE HEX: 8451 ; inline
: GL_FRAGMENT_DEPTH HEX: 8452 ; inline
: GL_CURRENT_FOG_COORDINATE HEX: 8453 ; inline
: GL_FOG_COORDINATE_ARRAY_TYPE HEX: 8454 ; inline
: GL_FOG_COORDINATE_ARRAY_STRIDE HEX: 8455 ; inline
: GL_FOG_COORDINATE_ARRAY_POINTER HEX: 8456 ; inline
: GL_FOG_COORDINATE_ARRAY HEX: 8457 ; inline
: GL_COLOR_SUM HEX: 8458 ; inline
: GL_CURRENT_SECONDARY_COLOR HEX: 8459 ; inline
: GL_SECONDARY_COLOR_ARRAY_SIZE HEX: 845A ; inline
: GL_SECONDARY_COLOR_ARRAY_TYPE HEX: 845B ; inline
: GL_SECONDARY_COLOR_ARRAY_STRIDE HEX: 845C ; inline
: GL_SECONDARY_COLOR_ARRAY_POINTER HEX: 845D ; inline
: GL_SECONDARY_COLOR_ARRAY HEX: 845E ; inline
: GL_INCR_WRAP HEX: 8507 ; inline
: GL_DECR_WRAP HEX: 8508 ; inline
: GL_MAX_TEXTURE_LOD_BIAS HEX: 84FD ; inline
: GL_TEXTURE_FILTER_CONTROL HEX: 8500 ; inline
: GL_TEXTURE_LOD_BIAS HEX: 8501 ; inline
: GL_GENERATE_MIPMAP HEX: 8191 ; inline
: GL_GENERATE_MIPMAP_HINT HEX: 8192 ; inline
: GL_BLEND_DST_RGB HEX: 80C8 ; inline
: GL_BLEND_SRC_RGB HEX: 80C9 ; inline
: GL_BLEND_DST_ALPHA HEX: 80CA ; inline
: GL_BLEND_SRC_ALPHA HEX: 80CB ; inline
: GL_MIRRORED_REPEAT HEX: 8370 ; inline
: GL_DEPTH_COMPONENT16 HEX: 81A5 ; inline
: GL_DEPTH_COMPONENT24 HEX: 81A6 ; inline
: GL_DEPTH_COMPONENT32 HEX: 81A7 ; inline
: GL_TEXTURE_DEPTH_SIZE HEX: 884A ; inline
: GL_DEPTH_TEXTURE_MODE HEX: 884B ; inline
: GL_TEXTURE_COMPARE_MODE HEX: 884C ; inline
: GL_TEXTURE_COMPARE_FUNC HEX: 884D ; inline
: GL_COMPARE_R_TO_TEXTURE HEX: 884E ; inline
! ] when

View File

@ -195,7 +195,7 @@ FUNCTION: void gluBeginCurve ( GLUnurbs* nurb ) ;
FUNCTION: void gluBeginPolygon ( GLUtesselator* tess ) ;
FUNCTION: void gluBeginSurface ( GLUnurbs* nurb ) ;
FUNCTION: void gluBeginTrim ( GLUnurbs* nurb ) ;
FUNCTION: GLint gluBuild1DMipmapLevels ( GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, void* data -- error? ) ;
FUNCTION: GLint gluBuild1DMipmapLevels ( GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, void* data ) ;
FUNCTION: GLint gluBuild1DMipmaps ( GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, void* data ) ;
FUNCTION: GLint gluBuild2DMipmapLevels ( GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, void* data ) ;
FUNCTION: GLint gluBuild2DMipmaps ( GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, void* data ) ;
@ -211,15 +211,15 @@ FUNCTION: void gluEndCurve ( GLUnurbs* nurb ) ;
FUNCTION: void gluEndPolygon ( GLUtesselator* tess ) ;
FUNCTION: void gluEndSurface ( GLUnurbs* nurb ) ;
FUNCTION: void gluEndTrim ( GLUnurbs* nurb ) ;
FUNCTION: GLubyte* gluErrorString ( GLenum error -- str ) ;
FUNCTION: GLubyte* gluErrorString ( GLenum error ) ;
FUNCTION: void gluGetNurbsProperty ( GLUnurbs* nurb, GLenum property, GLfloat* data ) ;
FUNCTION: GLubyte* gluGetString ( GLenum name ) ;
FUNCTION: void gluGetTessProperty ( GLUtesselator* tess, GLenum which, GLdouble* data ) ;
FUNCTION: void gluLoadSamplingMatrices ( GLUnurbs* nurb, GLfloat* model, GLfloat* perspective, GLint* view ) ;
FUNCTION: void gluLookAt ( GLdouble eyeX, GLdouble eyeY, GLdouble eyeZ, GLdouble centerX, GLdouble centerY, GLdouble centerZ, GLdouble upX, GLdouble upY, GLdouble upZ ) ;
FUNCTION: GLUnurbs* gluNewNurbsRenderer ( -- nurbs ) ;
FUNCTION: GLUquadric* gluNewQuadric ( -- quadric ) ;
FUNCTION: GLUtesselator* gluNewTess ( -- tess ) ;
FUNCTION: GLUnurbs* gluNewNurbsRenderer ( ) ;
FUNCTION: GLUquadric* gluNewQuadric ( ) ;
FUNCTION: GLUtesselator* gluNewTess ( ) ;
FUNCTION: void gluNextContour ( GLUtesselator* tess, GLenum type ) ;
FUNCTION: void gluNurbsCallback ( GLUnurbs* nurb, GLenum which, GLUfuncptr CallBackFunc ) ;
FUNCTION: void gluNurbsCallbackData ( GLUnurbs* nurb, GLvoid* userData ) ;
@ -238,7 +238,7 @@ FUNCTION: void gluQuadricDrawStyle ( GLUquadric* quad, GLenum draw ) ;
FUNCTION: void gluQuadricNormals ( GLUquadric* quad, GLenum normal ) ;
FUNCTION: void gluQuadricOrientation ( GLUquadric* quad, GLenum orientation ) ;
FUNCTION: void gluQuadricTexture ( GLUquadric* quad, GLboolean texture ) ;
FUNCTION: GLint gluScaleImage ( GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, void* dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid* dataOut -- error? ) ;
FUNCTION: GLint gluScaleImage ( GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, void* dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid* dataOut ) ;
FUNCTION: void gluSphere ( GLUquadric* quad, GLdouble radius, GLint slices, GLint stacks ) ;
FUNCTION: void gluTessBeginContour ( GLUtesselator* tess ) ;
FUNCTION: void gluTessBeginPolygon ( GLUtesselator* tess, GLvoid* data ) ;

View File

@ -13,6 +13,12 @@ SYMBOL: theta
: flags ( lst -- enum )
[ execute ] map 0 swap [ bitor ] each ;
USING: parser unparser stdio ;
: gl-version ( -- float )
GL_VERSION glGetString
! we're only interested in the first three characters since we're looking for 1.0, 1.1, etc.
2 swap head parse-number ;
: resize ( width height -- )
2dup colour-depth [ SDL_OPENGL SDL_RESIZABLE SDL_HWSURFACE SDL_DOUBLEBUF ] flags init-screen
GL_PROJECTION glMatrixMode
@ -52,6 +58,7 @@ SYMBOL: theta
: simple-gl
800 600 colour-depth [ SDL_OPENGL SDL_RESIZABLE SDL_HWSURFACE SDL_DOUBLEBUF ] flags [
GL_VERSION glGetString
0 theta set
800 600 resize
GL_FLAT glShadeModel