etc... use OpenGL commands in a different way than in GEM (for use with GEM) 0 or {"points"} does GL_POINTS 1 or {"triangles"} does GL_TRIANGLES 2 or {"triangle_strip"} does GL_TRIANGLE_STRIP 3 or {"quads"} does GL_QUADS 4 or {"quad_strip"} does GL_QUAD_STRIP 5 or {"polygon"} does GL_POLYGON 6 or {"triangle_fan"} does GL_TRIANGLE_FAN 7 or {"lines"} does GL_LINES 8 or {"line_loop"} does GL_LINE_LOOP 9 or {"line_strip"} does GL_LINE_STRIP takes 3 or 4 float arguments. Sets the colour of the upcoming vertex. begin a new GL geo. finish making the current GL geo after all vertices have been added. takes 2 {\,} 3 or 4 float arguments and append a new vertex to the geo. {\$1} is a float or symbol for the shape type (which decides how the edges will connect the vertices) this page will not document the whole of the {[gf/gl]} interface {\,} because it is extremely long and complex and corresponds quite directly to what you can find in the OpenGL reference manuals for the C language. Instead {\,} let's see what is different between the manual (as seen on http://opengl.org/ {\,} for example) and {[gf/gl]} {\,} and let's also see how it differs from GEM. first {\,} note that although you'd normally still use {[gf/gl]} by using a {[gemwin]} and a {[gemhead]} {\,} you don't actually need the contents of {[gemhead]'s} message at all {\,} and instead you may use bang or whatever else. no need for {[repeat].} then note that 'glBegin' {\,} instead of being mapped to a class named {[GEMglBegin]} {\,} it is mapped to a method named 'begin' in class {[gf/gl].} Likewise for all other functions of OpenGL {\,} which lose the initial two letters {"gl"} {\,} and which are lowercased. The non-first uppercases also get a underscore {\,} and thus 'glLoadMatrix' becomes 'load_matrix'. then note that for 'glVertex2fv' {\,} the final 'v' is stripped {\,} as there is no functional difference with the other function 'glVertex2f'. Then the 'f' is also stripped (because Pd doesn't support any other data types than 'f' {\,} so there is no functional difference with 'glVertex2d' or 'glVertex2s'. Then the '2' is also stripped {\,} because the proper variant of glVertex is chosen at runtime depending on the list of arguments being given. Thus you have to write it as just 'vertex' {\,} with 2 {\,} 3 or 4 arguments. then {\,} all GLenum macros such as GL_POINTS are lowercased and the first three characters {"GL_"} are removed. Thus {"GL_POINTS"} *has* to be written as just {"points"} instead. Or else {\,} you can write the same number as you'd had to write if you were using GEMgl. it's not decided yet what will happen with function name uppercase suffixes like '1D' '2D' '3D' where 'D' means dimension. they are currently lowercased and kept. not all functions are implemented yet.