GridFlow 9.11 has [gf/gl], a new interface to OpenGL, which aims to be a replacement for that undocumented portion of GEM which contains [GEMglBegin], [GEMglEnd], [GEMglVertex3f], etc.
The main advantages are :
GL is exposed as a long list of methods in one class, allowing many messagebox shortcuts that you can't do in GEMgl.
all constant names such as GL_QUADS and GL_FILL are available as symbols in addition to the GLenum numbers : thus GL_QUADS is available as both symbol "quads" and float 7, while GL_FILL is available as both symbol "fill" and float 6914. You don't need to convert the names to numbers using a separate object, you can use them directly in messages.
Those names and numbers are typechecked : they can only be used where GL allows them. This makes it easier to catch mistakes. (GEMgl would either say something like "Invalid operation" without enough context, or it would just crash.)
Then also, it does not need a GemState in order to work. You can connect a [gemhead] to a messagebox saying "begin lines, vertex 0 0 0, vertex 1 1 0, end" going to [gf/gl], and that will be enough for [gf/gl]. it doesn't need weird tricks involving [repeat]. You never really need [repeat] with [gf/gl].
And finally, the source code is many times smaller (currently thirty-nine times smaller, but I expect that eventually it may grow to be only twenty times smaller...)
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801