opengl helper words for ARB/APPLE vertex array objects
parent
dd00d31617
commit
d077d52968
|
@ -128,12 +128,12 @@ MACRO: all-enabled-client-state ( seq quot -- )
|
||||||
: (gen-gl-object) ( quot -- id )
|
: (gen-gl-object) ( quot -- id )
|
||||||
[ 1 0 <uint> ] dip keep *uint ; inline
|
[ 1 0 <uint> ] dip keep *uint ; inline
|
||||||
|
|
||||||
: gen-gl-buffer ( -- id )
|
|
||||||
[ glGenBuffers ] (gen-gl-object) ;
|
|
||||||
|
|
||||||
: (delete-gl-object) ( id quot -- )
|
: (delete-gl-object) ( id quot -- )
|
||||||
[ 1 swap <uint> ] dip call ; inline
|
[ 1 swap <uint> ] dip call ; inline
|
||||||
|
|
||||||
|
: gen-gl-buffer ( -- id )
|
||||||
|
[ glGenBuffers ] (gen-gl-object) ;
|
||||||
|
|
||||||
: delete-gl-buffer ( id -- )
|
: delete-gl-buffer ( id -- )
|
||||||
[ glDeleteBuffers ] (delete-gl-object) ;
|
[ glDeleteBuffers ] (delete-gl-object) ;
|
||||||
|
|
||||||
|
@ -146,6 +146,16 @@ MACRO: all-enabled-client-state ( seq quot -- )
|
||||||
GL_ARRAY_BUFFER swap _ with-gl-buffer
|
GL_ARRAY_BUFFER swap _ with-gl-buffer
|
||||||
] with-gl-buffer ; inline
|
] 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 )
|
: <gl-buffer> ( target data hint -- id )
|
||||||
pick gen-gl-buffer [
|
pick gen-gl-buffer [
|
||||||
[
|
[
|
||||||
|
|
Loading…
Reference in New Issue