opengl helper words for ARB/APPLE vertex array objects

db4
Joe Groff 2009-07-01 13:53:28 -05:00
parent dd00d31617
commit d077d52968
1 changed files with 13 additions and 3 deletions

View File

@ -128,12 +128,12 @@ MACRO: all-enabled-client-state ( seq quot -- )
: (gen-gl-object) ( quot -- id )
[ 1 0 <uint> ] dip keep *uint ; inline
: gen-gl-buffer ( -- id )
[ glGenBuffers ] (gen-gl-object) ;
: (delete-gl-object) ( id quot -- )
[ 1 swap <uint> ] dip call ; inline
: gen-gl-buffer ( -- id )
[ glGenBuffers ] (gen-gl-object) ;
: delete-gl-buffer ( id -- )
[ glDeleteBuffers ] (delete-gl-object) ;
@ -146,6 +146,16 @@ MACRO: all-enabled-client-state ( seq quot -- )
GL_ARRAY_BUFFER swap _ with-gl-buffer
] with-gl-buffer ; inline
: gen-vertex-array ( -- id )
[ glGenVertexArrays ] (gen-gl-object) ;
: delete-vertex-array ( id -- )
[ glDeleteVertexArrays ] (delete-gl-object) ;
:: with-vertex-array ( id quot -- )
id glBindVertexArray
quot [ binding 0 glBindVertexArray ] [ ] cleanup ; inline
: <gl-buffer> ( target data hint -- id )
pick gen-gl-buffer [
[