To find the name of an OCaml function corresponding to a C function name, map the gl prefix to the module name Tgl3.Gl, add an underscore between each minuscule and majuscule and lower case the result. For example glGetError maps to Tgl3.Gl.get_error
To find the name of an OCaml value corresponding to a C enumerant name, map the GL_ prefix to the module name Tgl3.Gl and lower case the rest. For example GL_COLOR_BUFFER_BIT maps to Tgl3.Gl.color_buffer_bit.
The following exceptions occur:
A few enumerant names do clash with functions name. In that case we postfix the enumerant name with _enum. For example we have Tgl3.Gl.viewport and Tgl3.Gl.viewport_enum.
If applying the above procedures results in an identifier that doesn't start with a letter, prefix the identifier with a '_'.
If applying the above procedures results in an identifier that is an OCaml keyword, suffix the identifier with a '_'.