tidied up gl and glu, simplified FUNCTION:
parent
97af819ffb
commit
dff6e531f3
|
|
@ -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 ;
|
||||
|
|
|
|||
|
|
@ -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,16 +897,9 @@ 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 ) ;
|
||||
|
|
@ -922,7 +917,6 @@ FUNCTION: void glRectsv ( GLshort *v1, GLshort *v2 ) ;
|
|||
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
|
||||
|
||||
! 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,22 +1011,24 @@ 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 glDeleteTextures ( GLsizei n, GLuint* textures ) ;
|
||||
|
|
@ -1042,26 +1041,40 @@ FUNCTION: void glGetTexImage ( GLenum target, GLint level, GLenum format, GLenum
|
|||
|
||||
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
|
||||
|
||||
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 ) ;
|
||||
|
|
@ -1082,8 +1095,10 @@ FUNCTION: void glGetTexImage ( GLenum target, GLint level, GLenum format, GLenum
|
|||
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 ) ;
|
||||
|
|
@ -1111,12 +1126,9 @@ FUNCTION: void glGetTexImage ( GLenum target, GLint level, GLenum format, GLenum
|
|||
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
|
||||
|
|
@ -1154,22 +1166,26 @@ FUNCTION: void glGetTexImage ( GLenum target, GLint level, GLenum format, GLenum
|
|||
: 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
|
||||
|
|
@ -1267,12 +1283,9 @@ FUNCTION: void glGetTexImage ( GLenum target, GLint level, GLenum format, GLenum
|
|||
: 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
|
||||
|
|
@ -1313,5 +1326,4 @@ FUNCTION: void glGetTexImage ( GLenum target, GLint level, GLenum format, GLenum
|
|||
: GL_TEXTURE_COMPARE_FUNC HEX: 884D ; inline
|
||||
: GL_COMPARE_R_TO_TEXTURE HEX: 884E ; inline
|
||||
|
||||
! ] when
|
||||
|
||||
|
|
|
|||
|
|
@ -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 ) ;
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue