Given the program name and command line arguments, initialize the GLUT library and negotiate a session with the window system. During this process, initialize may cause the termination of the GLUT program with an error message to the user if GLUT cannot be properly initialized. Examples of this situation include the failure to connect to the window system, the lack of window system support for OpenGL, and invalid command line options.
initialize also processes command line options, but the specific options parsed are window system dependent. Any command line arguments which are not GLUT-specific are returned.
X Implementation Notes: The X Window System specific options parsed by initialize are as follows:
* -display DISPLAY: Specify the X server to connect to. If not specified, the value of the DISPLAY environment variable is used.
* -geometry WxH+X+Y: Determines be created on the screen. The parameter following -geometry should be formatted as a standard X geometry specification. The effect of using this option is to change the GLUT initial size and initial position the same as if initialWindowSize or initialWindowPosition were modified directly.
* -iconic: Requests all top-level windows be created in an iconic state.
* -indirect: Force the use of indirect OpenGL rendering contexts.
* -direct: Force the use of direct OpenGL rendering contexts (not all GLX implementations support direct rendering contexts). A fatal error is generated if direct rendering is not supported by the OpenGL implementation. If neither -indirect or -direct are used to force a particular behavior, GLUT will attempt to use direct rendering if possible and otherwise fallback to indirect rendering.
* -gldebug: After processing callbacks and/or events, call reportErrors to check if there are any pending OpenGL errors. Using this option is helpful in detecting OpenGL run-time errors.
* -sync: Enable synchronous X protocol transactions. This option makes it easier to track down potential X protocol errors.
Convenience action: Initialize GLUT, returning the program name and any non-GLUT command line arguments.