~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO P Q R S T U V W X Y Z [\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !" # $ % & ' ( ) * + ,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~portablestablesven.panne@aedion.deNone      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGportablestablesven.panne@aedion.de Safe-InferredHIHIHIportablestablesven.panne@aedion.de Safe-Inferred<JKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<JKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<JKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~portable provisionalsven.panne@aedion.deNoneIRetrieve a GLUT API entry by name. Throws a userError when no entry with  the given name was found. portablestablesven.panne@aedion.deNone      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456!#%')+-/13579;=?ACEGIKMOQSUWY[]_acegikmoqsuwy{}   !#%')+-/135      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456portablestablesven.panne@aedion.deNone      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!#%')+-/13579;=?ACEGIKMOQSUWY[]_acegikmoqsuwy{}   !#%')+-/135portablestablesven.panne@aedion.deNone !Mouse buttons, including a wheel A relation between a   and a numeric value. 5Greater than or equal but preferring less instead of 0 more. This relation is useful for allocating 5 resources such as stencil bits or auxillary color 5 buffers where you would rather not over-allocate. 5Greater than or equal and preferring more instead of 0 less. This relation is useful for allocating 2 resources like color precision or depth buffer 6 precision where the maximum precision is generally  preferred. Contrast with  relation. 4Greater than and preferring larger differences (the  most is best). 4Less than or equal and preferring larger difference  (the least is best). 6Less than and preferring larger difference (the least  is best).  Not equal. Equal. <An opaque identifier for a top-level window or a subwindow.  789:;< 789: 789:;<portablestablesven.panne@aedion.deNone=>?@AB=@AB=>?@ABportablestablesven.panne@aedion.deNoneJThe refresh rate of the screen, measured in Hertz (e.g. 60, 75, 100, ...) JThe color depth of the screen, measured in bits (e.g. 8, 16, 24, 32, ...) $A single capability description for . Capabilities for  )Match the Nth frame buffer configuration * compatible with the given capabilities  (numbering starts at 1) Refresh rate in Hertz "Color depth of the screen in bits *Height of the screen resolution in pixels )Width of the screen resolution in pixels  Controls the  game mode to be used when  is called. It is H described by a list of zero or more capability descriptions, which are I translated into a set of criteria used to select the appropriate screen J configuration. The criteria are matched in strict left to right order of O precdence. That is, the first specified criterion (leftmost) takes precedence 0 over the later criteria for non-exact criteria  (,  , etc.). Exact criteria  (,  ) must match exactly so  precedence is not relevant. ;To determine which configuration will actually be tried by   (if any), use . 3Note that even for game mode the current values of  or   will L determine which buffers are available, if double buffering is used or not,  etc. Enter  game mode6, trying to change resolution, refresh rate, etc., as # specified by the current value of . An identifier for J the game mode window and a flag, indicating if the display mode actually 9 changed, are returned. The game mode window is made the current window.  Re-entering  game mode0 is allowed, the previous game mode window gets . destroyed by this, and a new one is created. Leave  game mode9, restoring the old display mode and destroying the game  mode window. Return C3 the mode which would be tried by the next call to   . Returns D, if the mode requested by the current value  of  is not possible, in which case  B would simply create a full screen window using the current mode.  Contains E when the  game mode is active, F otherwise. GHIJKL   GHIJKL portablestablesven.panne@aedion.deNone!'The state of the per-window key repeat $#The state of the global key repeat (HControls the key repeat mode for the window system on a global basis if K possible. If supported by the window system, the key repeat can either be / disabled, enabled, or set to the window system's default key repeat state. X Implementation Notes: X11 sends KeyPress events repeatedly when the  window system'!s global auto repeat is enabled. ) can K prevent these auto repeated keystrokes from being reported as keyboard or M special callbacks, but there is still some minimal overhead by the X server  to continually stream KeyPress% events to the GLUT application. The  (; state variable can be used to actually disable the global  sending of auto repeated KeyPress events. Note that ( J affects the global window system auto repeat state so other applications B will not auto repeat if you disable auto repeat globally through  (6. GLUT applications using the X11 GLUT implementation  should disable key repeat with ( to disable key repeats most K efficiently, but are responsible for explicitly restoring the default key  repeat state on exit. Win32 Implementation Notes: The Win32 implementation of (  does nothing. The ) can be used in the Win32 GLUT O implementation to ignore repeated keys on a per-window basis without changing & the global window system key repeat. )7Controls if auto repeat keystrokes are reported to the current window. O Ignoring auto repeated keystrokes is generally done in conjunction with using  the  . If you do L not ignore auto repeated keystrokes, your GLUT application will experience  repeated release/9press callbacks. Games using the keyboard will typically  want to ignore key repeat. *%Execute the joystick callback set by   once (if one exists). M This is done in a synchronous fashion within the current context, i.e. when  *3 returns, the callback will have already happened. !"#$%&'MN(OP)* !"#$%&'()* $'&%(!#")* !#"$'&%MN(OP)*portablestablesven.panne@aedion.deNone+IReport any pending GL errors to stderr (which is typically the console). J If there are no pending errors, this routine does nothing. Note that the K error flags are reset after this action, i.e. there are no pending errors  left afterwards. +Q+++Qportablestablesven.panne@aedion.deNone#/#GLUT offers five types of objects:  The five Platonic solids, see   /http://mathworld.wolfram.com/PlatonicSolid.html.  A rhombic dodecahedron, see   5http://mathworld.wolfram.com/RhombicDodecahedron.html. $ Approximations to rounded objects. K The classic teapot modeled by Martin Newell in 1975. Both surface normals G and texture coordinates for the teapot are generated. The teapot is % generated with OpenGL evaluators.  A Sierpinski sponge, see   (http://mathworld.wolfram.com/Tetrix.html. 0( freeglut only6) A Sierpinski sponge of a given level, where a level  0 sponge is the same as a 7. 1%A teapot with a given relative size. 2?A torus (doughnut) centered at the modeling coordinates origin F whose axis is aligned with the Z axis. The torus is described by its F inner and outer radius, the number of sides for each radial section, - and the number of radial divisions (rings). 3( freeglut only8) A cylinder oriented along the Z axis. The base of the H cylinder is placed at Z = 0, and the top at Z = the given height. The H cylinder is subdivided around the Z axis into slices, and along the Z  axis into stacks. 4FA cone oriented along the Z axis. The base of the cone is placed at Z D = 0, and the top at Z = the given height. The cone is subdivided D around the Z axis into slices, and along the Z axis into stacks. 5FA sphere centered at the modeling coordinates origin of the specified B radius. The sphere is subdivided around the Z axis into slices D (similar to lines of longitude) and along the Z axis into stacks # (similar to lines of latitude). 6( freeglut only5) A rhombic dodecahedron whose corners are at most a E distance of one from the origin. The rhombic dodecahedron has faces I which are identical rhombi, but which have some vertices at which three F faces meet and some vertices at which four faces meet. The length of  each side is (sqrt 3)/2.. Vertices at which four faces meet are found  at (0, 0, +/-1) and (+/ -(sqrt 2)/2, +/ -(sqrt 2)/2, 0). 7CRender a solid tetrahedron (4-sided regular solid) centered at the 0 modeling coordinates origin with a radius of sqrt 3. 8BRender a solid octahedron (8-sided regular solid) centered at the 5 modeling coordinates origin with a radius of 1.0. 9@A icosahedron (20-sided regular solid) centered at the modeling , coordinates origin with a radius of 1.0. :AA dodecahedron (12-sided regular solid) centered at the modeling ' coordinates origin with a radius of sqrt 3. ;EA cube centered at the modeling coordinates origin with sides of the  given length. <Flavour of object rendering =;Object is rendered as a wireframe without surface normals. >@Object is rendered as a solid with shading and surface normals. ?'Render an object in the given flavour. RKRender a solid cube centered at the modeling coordinates origin with sides  of the given length. SIRender a wireframe cube centered at the modeling coordinates origin with  sides of the given length. TERender a solid dodecahedron (12-sided regular solid) centered at the . modeling coordinates origin with a radius of sqrt 3. UIRender a wireframe dodecahedron (12-sided regular solid) centered at the . modeling coordinates origin with a radius of sqrt 3. VDRender a solid icosahedron (20-sided regular solid) centered at the 3 modeling coordinates origin with a radius of 1.0. WHRender a wireframe icosahedron (20-sided regular solid) centered at the 3 modeling coordinates origin with a radius of 1.0. XKRender a solid octahedron (8-sided regular solid) centered at the modeling * coordinates origin with a radius of 1.0. YFRender a wireframe octahedron (8-sided regular solid) centered at the 3 modeling coordinates origin with a radius of 1.0. ZLRender a solid tetrahedron (4-sided regular solid) centered at the modeling % coordinates origin with a radius of sqrt 3. [GRender a wireframe tetrahedron (4-sided regular solid) centered at the . modeling coordinates origin with a radius of sqrt 3. \IRender a solid sphere centered at the modeling coordinates origin of the J specified radius. The sphere is subdivided around the Z axis into slices # and along the Z axis into stacks. ]IRender a wireframe sphere centered at the modeling coordinates origin of N the specified radius. The sphere is subdivided around the Z axis into slices # and along the Z axis into stacks. ^GRender a solid cone oriented along the Z axis. The base of the cone is O placed at Z = 0, and the top at Z = height. The cone is subdivided around the 7 Z axis into slices, and along the Z axis into stacks. _KRender a wireframe cone oriented along the Z axis. The base of the cone is O placed at Z = 0, and the top at Z = height. The cone is subdivided around the 7 Z axis into slices, and along the Z axis into stacks. `LRender a solid torus (doughnut) centered at the modeling coordinates origin ( whose axis is aligned with the Z axis. aIRender a wireframe torus (doughnut) centered at the modeling coordinates / origin whose axis is aligned with the Z axis. bRender a solid teapot. cRender a wireframe teapot. ),-./0123456789:;<=>?RLength of the cube sides SLength of the cube sides TUVWXYZ[\Radius of the sphere. ;Number of subdivisions (slices) around the Z axis, similar  to lines of longitude. 6The number of subdivisions (stacks) along the Z axis, ! similar to lines of latitude. ]Radius of the sphere. ;Number of subdivisions (slices) around the Z axis, similar  to lines of longitude. 6The number of subdivisions (stacks) along the Z axis, ! similar to lines of latitude. ^ Radius of the base of the cone. Height of the cone. *Number of subdivisions around the Z axis. -The number of subdivisions along the Z axis. _ Radius of the base of the cone. Height of the cone. *Number of subdivisions around the Z axis. -The number of subdivisions along the Z axis. `Inner radius of the torus. Outer radius of the torus. )Number of sides for each radial section. *Number of radial divisions for the torus. aInner radius of the torus. Outer radius of the torus. )Number of sides for each radial section. *Number of radial divisions for the torus. bRelative size of the teapot cRelative size of the teapot def,-./0123456789:;<=>?<>=/;:9876543210.-,?,-./ ;:9876543210<>=?RSTUVWXYZ[\]^_`abcdefportablestablesven.panne@aedion.deNone@$The stroke fonts available in GLUT. A<A mono-spaced spaced Roman Simplex font (same characters as  B3) for ASCII characters 32 through 127. The maximum 9 top character in the font is 119.05 units; the bottom > descends 33.33 units. Each character is 104.76 units wide. B5A proportionally spaced Roman Simplex font for ASCII ? characters 32 through 127. The maximum top character in the : font is 119.05 units; the bottom descends 33.33 units. CCThe bitmap fonts available in GLUT. The exact bitmap to be used is M defined by the standard X glyph bitmaps for the X font with the given name. D/A 18-point proportional spaced Helvetica font.  (=-adobe-helvetica-medium-r-normal--18-180-75-75-p-98-iso8859-1) E/A 12-point proportional spaced Helvetica font.  (=-adobe-helvetica-medium-r-normal--12-120-75-75-p-67-iso8859-1) F/A 10-point proportional spaced Helvetica font.  (=-adobe-helvetica-medium-r-normal--10-100-75-75-p-56-iso8859-1) G1A 24-point proportional spaced Times Roman font.  (:-adobe-times-medium-r-normal--24-240-75-75-p-124-iso8859-1) H1A 10-point proportional spaced Times Roman font.  (9-adobe-times-medium-r-normal--10-100-75-75-p-54-iso8859-1) I8A fixed width font with every character fitting in an 9  by 15 pixel rectangle.  (8-misc-fixed-medium-r-normal--15-140-75-75-C-90-iso8859-1) J8A fixed width font with every character fitting in an 8  by 13 pixel rectangle.  (8-misc-fixed-medium-r-normal--13-120-75-75-C-80-iso8859-1) LFRender the string in the named font, without using any display lists. 2 Rendering a nonexistent character has no effect. If the font is a bitmap font, L automatically sets the OpenGL J unpack pixel storage modes it needs appropriately and saves and restores < the previous modes before returning. The generated call to   ! will adjust the current raster , position based on the width of the string.  If the font is a stroke font,  "# is used to translate C the current model view matrix to advance the width of the string. MHFor a bitmap font, return the width in pixels of a string. For a stroke J font, return the width in units. While the width of characters in a font E may vary (though fixed width fonts do not vary), the maximum height 1 characteristics of a particular font are fixed. N( freeglut only6) For a bitmap font, return the maximum height of the E characters in the given font measured in pixels. For a stroke font,  return the width in units. g@ABhCDEFGHIJKLMNijklmnBitmap font to use. -String to return width of (not confined to 8  bits). Width in pixels. oStroke font to use. -String to return width of (not confined to 8  bits). Width in units. pBitmap font to use. Height in pixels. qStroke font to use. Height in units. rs@ABCDEFGHIJKLMNKLMNCJIHGFED@BAg@BAhCJIHGFEDKLMNijklmnopqrs portablestablesven.panne@aedion.deNoneO/Controls the color index colormap entry of the current window' s logical  colormap for the  layer in use. The  layer in use of the current window O should be a color index window. The color index should be zero or greater and D less than the total number of colormap entries for the window (see  Q) and different from an overlay's transparent index (see  R). If the  layer in use'7s colormap was copied by reference, setting a colormap 3 entry will force the duplication of the colormap. PICopy (lazily if possible to promote sharing) the logical colormap from a  specified window to the current window's  layer in use. The copy will be O from the normal plane to the normal plane; or from the overlay to the overlay I (never across different layers). Once a colormap has been copied, avoid # setting cells in the colormap via O since that will force an G actual copy of the colormap if it was previously copied by reference.  P% should only be called when both the current window and the + specified window are color index windows. Q6Contains the number of entries in the colormap of the current window's ! current layer (0 in RGBA mode). R;Contains the transparent color index of the overlay of the current window  or -1 if no overlay is in use. OtuPQROPQROPQROtuPQR portablestablesven.panne@aedion.deNoneSThe  layer in use. T The overlay. UThe normal plane. VControls the overlay for the current window. The requested display mode & for the overlay is determined by the initial display mode.  W< can be used to determine if an overlay is possible for the  current window with the current initial display mode. Do not attempt to H establish an overlay when one is not possible; GLUT will terminate the  program. When V is set to E% when an overlay already exists, the O existing overlay is first removed, and then a new overlay is established. The  state of the old overlay'/s OpenGL context is discarded. Implicitly, the  window's  layer in use6 changes to the overlay immediately after the overlay  is established. NThe initial display state of an overlay is shown, however the overlay is only  actually shown if the overlay's window is shown. Setting V to F) is safe even if no overlay is currently B established, nothing happens in this case. Implicitly, the window's /layer  in use/F changes to the normal plane immediately once the overlay is removed. JIf the program intends to re-establish the overlay later, it is typically + faster and less resource intensive to use X to simply change $ the display status of the overlay. X Implementation Notes: GLUT for X uses the SERVER_OVERLAY_VISUALS E convention to determine if overlay visuals are available. While the O convention allows for opaque overlays (no transparency) and overlays with the L transparency specified as a bitmask, GLUT overlay management only provides ' access to transparent pixel overlays. JUntil RGBA overlays are better understood, GLUT only supports color index  overlays. W Contains E, if an overlay could be established for the current window  given the current initial display mode. If it contains F,  v) will fail with a fatal error if called. X.Controls the visibility of the overlay of the current window. NThe effect of showing or hiding an overlay takes place immediately. Note that  setting X to E' will not actually display the overlay M unless the window is also shown (and even a shown window may be obscured by K other windows, thereby obscuring the overlay). It is typically faster and J less resource intensive to use the routines below to control the display N status of an overlay as opposed to removing and re-establishing the overlay. YControls the per-window  layer in use for the current window , which can N either be the normal plane or the overlay. Selecting the overlay should only L be done if an overlay exists, however windows without an overlay may still  set the  layer in use to U%. OpenGL commands for the window are  directed to the current  layer in use. Z-Mark the overlay of the given window (or the current window , if none is D supplied) as needing to be redisplayed. The next iteration through  $ , the window's overlay display callback O (or simply the display callback if no overlay display callback is registered) ' will be called to redisplay the window'#s overlay plane. Multiple calls to  Z2 before the next display callback opportunity (or L overlay display callback opportunity if one is registered) generate only a  single redisplay. Z may be called within a window's K display or overlay display callback to re-mark that window for redisplay. DLogically, overlay damage notification for a window is treated as a  Z6 on the damaged window. Unlike damage reported by the  window system, Z! will not set to true the overlay's  damaged status (see  %).  Also, see &. STUVvwWXxyYz{ZSTUVWXYZVWXSUTYZ SUTVvwWXxyYz{Zportablestablesven.panne@aedion.deNone,[+The different cursor images GLUT supports. \6Full-screen cross-hair cursor (if possible, otherwise i). ]Invisible cursor. ^ Use parent' s cursor. _'Arrow pointing to bottom-right corner. `&Arrow pointing to bottom-left corner. a$Arrow pointing to top-right corner. b#Arrow pointing to top-left corner. cArrow pointing to right side. dArrow pointing to left side. eArrow pointing to bottom side. fArrow pointing to top side. gBi-directional pointing left & right. hBi-directional pointing up & down. iSimple cross-hair. j!Insertion point cursor for text. k Wrist watch. l Spray can. mArrows rotating in a circle. nQuestion mark. oSkull & cross bones. pPointing hand. q#Arrow pointing up and to the left. r$Arrow pointing up and to the right. s The display status of a window. wICreate a top-level window. The given name will be provided to the window  system as the window'8s name. The intent is that the window system will label * the window with the name.Implicitly, the current window is set to the newly  created window. X Implementation Notes:5 The proper X Inter-Client Communication Conventions : Manual (ICCCM) top-level properties are established. The  WM_COMMAND N property that lists the command line used to invoke the GLUT program is only + established for the first window created. xDCreate a subwindow of the identified window with the given relative $ position and size. Implicitly, the current window is set to the E newly created subwindow. Subwindows can be nested arbitrarily deep. y Contains the current window\'s parent. If the current window is a  top-level window, D is returned. z&Contains the number of subwindows the current window has, not counting  children of children. {+Destroy the specified window and the window's associated OpenGL context, J logical colormap (if the window is color index), and overlay and related M state (if an overlay has been established). Any subwindows of the destroyed  window are also destroyed by {". If the specified window was the  current window, the current window becomes invalid (| will  contain D). | Controls the current window . It does not affect the  layer in use for  the window; this is done using  '.  Contains D' if no windows exist or the previously current window was  destroyed. Setting the current window to D is a no-op. }.Mark the normal plane of given window (or the current window , if none G is supplied) as needing to be redisplayed. The next iteration through  $ , the window's display callback will be  called to redisplay the window'"s normal plane. Multiple calls to  }? before the next display callback opportunity generates only a  single redisplay callback. } may be called within a window's K display or overlay display callback to re-mark that window for redisplay. ILogically, normal plane damage notification for a window is treated as a  }= on the damaged window. Unlike damage reported by the window  system, } will not set to true the normal plane' s damaged  status (see  %).  Also, see  (. ~HMark the normal plane of the given window as needing to be redisplayed,  otherwise the same as }. AThe advantage of this routine is that it saves the cost of using  |: (entailing an expensive OpenGL context switch), which is N particularly useful when multiple windows need redisplays posted at the same  time. Perform a buffer swap on the  layer in use for the current window.  Specifically, ~1 promotes the contents of the back buffer of the   layer in use of the current window% to become the contents of the front K buffer. The contents of the back buffer then become undefined. The update O typically takes place during the vertical retrace of the monitor, rather than  immediately after ~ is called.  An implicit )* is done by  ~= before it returns. Subsequent OpenGL commands can be issued  immediately after calling ~!, but are not executed until the  buffer exchange is completed. If the  layer in use is not double buffered, ~ has no effect. Controls the position of the current window. For top-level windows,  parameters of |/ are pixel offsets from the screen origin. For = subwindows, the parameters are pixel offsets from the window's parent window  origin. *In the case of top-level windows, setting  is considered only N a request for positioning the window. The window system is free to apply its J own policies to top-level window placement. The intent is that top-level : windows should be repositioned according to the value of . Controls the size of the current window. The parameters of } are G size extents in pixels. The width and height must be positive values. *In the case of top-level windows, setting  is considered only a K request for sizing the window. The window system is free to apply its own K policies to top-level window sizing. The intent is that top-level windows . should be reshaped according to the value of . Whether a reshape O actually takes effect and, if so, the reshaped dimensions are reported to the  program by a reshape callback. Request that the current window* be made full screen. The exact semantics L of what full screen means may vary by window system. The intent is to make O the window as large as possible and disable any window decorations or borders O added the window system. The window width and height are not guaranteed to be M the same as the screen width and height, but that is the intent of making a  window full screen. / is defined to work only on top-level windows. X Implementation Notes:1 In the X implementation of GLUT, full screen is M implemented by sizing and positioning the window to cover the entire screen  and posting the _MOTIF_WM_HINTS# property on the window requesting I absolutely no decorations. Non-Motif window managers may not respond to  _MOTIF_WM_HINTS. ( freeglut only0) Toggle between windowed and full screen mode. !Change the stacking order of the current window relative to its siblings  (lowering it). !Change the stacking order of the current window relative to its siblings,  bringing the current window closer to the top. #Controls the display status of the current window. NNote that the effect of showing, hiding, and iconifying windows does not take M place immediately. Instead the requests are saved for execution upon return O to the GLUT event loop. Subsequent show, hide, or iconification requests on a L window replace the previously saved request for that window. The effect of K hiding, showing, or iconifying top-level windows is subject to the window  system'/s policy for displaying windows. Subwindows can't be iconified. !Controls the window title of the current top-level window. Controls the icon title of the current top-level window. Change the cursor image of the current window. Each call requests the O window system change the cursor appropriately. The cursor image when a window  is created is ^2. The exact cursor images used are implementation L dependent. The intent is for the image to convey the meaning of the cursor  name. For a top-level window, ^ uses the default window system  cursor. X Implementation Notes: GLUT for X uses SGI's _SGI_CROSSHAIR_CURSOR C convention to access a full-screen cross-hair cursor if possible. Setting  warps the window system's pointer to a new ( location relative to the origin of the current window by the specified D pixel offset, which may be negative. The warp is done immediately. 1If the pointer would be warped outside the screen's frame buffer region, the K location will be clamped to the nearest screen edge. The window system is ) allowed to further constrain the pointer's location in window system  dependent ways. Good advice from Xlib's  XWarpPointer man page: "There is seldom any N reason for calling this function. The pointer should normally be left to the  user." 8[\]^_`abcdefghijklmnopqrstuvwThe window name ,The identifier for the newly created window xIdentifier of the subwindow's parent window. 3Window position in pixels relative to parent window's  origin. Window size in pixels /The identifier for the newly created subwindow yz{|~}~0[\]^_`abcdefghijklmnopqrstuvwxyz{|}~0wx{yz|}~svut[rqponmlkjihgfedcba`_^]\[rqponmlkjihgfedcba`_^]\svutwxyz{|~}~ portablestablesven.panne@aedion.deNone!;The a rate at which a joystick is polled (in milliseconds) Number of axes of a joystick )Number of dials of a dial and button box %Number of buttons of an input device $Number of samples for multisampling Bit depth of a buffer  Contains E when the current layer of the current window is in RGBA  mode, F means color index mode. LContains the number of red, green, blue, and alpha bits in the color buffer  of the current window\'s( current layer (0 in color index mode). =Contains the total number of bits in the color buffer of the /current  window's/? current layer. For an RGBA layer, this is the sum of the red, K green, blue, and alpha bits. For an color index layer, this is the number  of bits of the color indexes.  Contains E when the current layer of the current window is double  buffered, F otherwise.  Contains E when the current layer of the current window is stereo,  F otherwise. LContains the number of red, green, blue, and alpha bits in the accumulation  buffer of the current window\'s( current layer (0 in color index mode). 7Contains the number of bits in the depth buffer of the current window\'s  current layer. 9Contains the number of bits in the stencil buffer of the /current  window's/ current layer. 9Contains the number of samples for multisampling for the current window. LContains the window system dependent format ID for the current layer of the  current window;. On X11 GLUT implementations, this is the X visual ID. On O Win32 GLUT implementations, this is the Win32 Pixel Format Descriptor number. G This value is returned for debugging, benchmarking, and testing ease. ( freeglut only ) Contains E if the current window is in full screen  mode, F otherwise. *Contains the number of milliseconds since  + was called.  Contains E if the given plane of the current window has been I damaged (by window system activity) since the last display callback was  triggered. Calling } or  Z will not set this E. "The size of the screen in pixels. 'The size of the screen in millimeters.  Contains E if a keyboard is present, F otherwise.  Contains C/ the number of buttons of an attached mouse or D if  there is none.  Contains C4 the number of buttons of the attached Spaceball or D  if there is none.  Contains C5 the number of dials and buttons of an attached dial &  button box or D if there is none.  Contains C0 the number of buttons of an attached tablet or D if  there is none.  Contains C; the number of buttons of an attached joystick, the number J of joystick axes, and the rate at which the joystick is polled. Contains  D# if there is no joystick attached. ( freeglut only5) Contains a list of the number of auxiliary buffers ! supported, in increasing order. ( freeglut only5) Contains a list of the number of samples per pixel 3 supported for multisampling, in increasing order. (Contains version of GLUT in the form of  flavour major.minor. patchlevel, where flavour is one of  GLUT, freeglut or OpenGLUT. ( freeglut only9) Contains the thickness of the sizing border around the 7 perimeter of a window that can be resized, in pixels. ( freeglut only#) Contains the height of the header/caption area of a  window in pixels. ( freeglut only ) Contains E if GLUT has been initialized  with + or  , has and not yet  been de-initialized with - . Contains  F otherwise. &!!&.portablestablesven.panne@aedion.deNone. portablestablesven.panne@aedion.deNone KA single item within a menu can either be a plain menu entry or a sub-menu 4 entry, allowing for arbitrarily deep nested menus. 'A sub-menu, which is cascaded when the $ user selects the entry, allowing # sub-menu entries to be selected &A plain menu entry with an associated ) callback, which is triggered when the  user selects the entry 'A menu is simply a list of menu items. !Create a new pop-up menu for the current window, attaching it to the M given mouse button. A previously attached menu (if any), is detached before  and won't receive callbacks anymore. It is illegal to call & while any (sub-)menu is in use, i.e.  popped up. X Implementation Notes:1 If available, GLUT for X will take advantage of M overlay planes for implementing pop-up menus. The use of overlay planes can D eliminate display callbacks when pop-up menus are deactivated. The  SERVER_OVERLAY_VISUALS4 convention is used to determine if overlay visuals  are available.  Controls the  current menu.# If no menus exist or the previous /current  menu// was destroyed, a pseudo menu is returned, see . Returns E9 if the given menu identifier refers to a real menu, not  a pseudo one. &Add a menu entry to the bottom of the  current menu. The given string will O be displayed for the newly added menu entry. If the menu entry is selected by  the user, the menu'9s callback will be called passing the given value as the  callback' s parameter. ,Add a sub-menu trigger to the bottom of the  current menu. The given G string will be displayed for the newly added sub-menu trigger. If the G sub-menu trigger is entered, the sub-menu specified by the given menu K identifier will be cascaded, allowing sub-menu menu items to be selected. Attach a mouse button for the current window to the identifier of the   current menu.< By attaching a menu identifier to a button, the named menu M will be popped up when the user presses the specified button. Note that the A menu is attached to the button by identifier, not by reference. )Detach an attached mouse button from the current window. )Contains the number of menu items in the  current menu. portablestablesven.panne@aedion.deNone:A joystick callback KAbsolute joystick position, with coordinates normalized to be in the range M of -1000 to 1000 inclusive. The signs of the three axes mean the following: # negative = left, positive = right , negative = towards player, positive = away < if available (e.g. rudder): negative = down, positive = up "The state of the joystick buttons A tablet callback The table state has changed. LAbsolute tablet position, with coordinates normalized to be in the range of  0 to 2000 inclusive A dial & button box callback  The dial & button box state has changed. 7The index of a specific dial of a dial and button box. A SpaceballButton callback (The state of the Spaceball has changed. 4The index of a specific buttons of an input device. HRotation of the Spaceball along one axis, normalized to be in the range  of -1800 .. +1800 inclusive KTranslation of the Spaceball along one axis, normalized to be in the range  of -1000 to +1000 inclusive An enter/leave callback /The relation between the mouse pointer and the current window has  changed. "The mouse pointer has entered the current window. The mouse pointer has left the current window. A motion callback  A keyboard/mouse callback A generalized view of keys $The state of the keyboard modifiers A mouse callback %The current state of a key or button A special key callback  Special keys A keyboard callback A window state callback The window state of the current window The current window is fully obscured. The current window is partially obscured. The current window is unobscured. The current window is unmapped. A visibility callback  The visibility state of the current window  The current window' is totally or partially visible. GLUT < considers a window visible if any pixel of the window is ? visible or any pixel of any descendant window is visible on  the screen.  No part of the current window is visible, i.e., until the  window'3s visibility changes, all further rendering to the  window is discarded.  A reshape callback  A display callback &Controls the display callback for the current window. When GLUT determines K that the normal plane for the window needs to be redisplayed, the display = callback for the window is called. Before the callback, the current window K is set to the window needing to be redisplayed and (if no overlay display  callback is registered) the  layer in use! is set to the normal plane. The N entire normal plane region should be redisplayed in response to the callback K (this includes ancillary buffers if your program depends on their state). KGLUT determines when the display callback should be triggered based on the  window'Fs redisplay state. The redisplay state for a window can be either set  explicitly by calling & or implicitly O as the result of window damage reported by the window system. Multiple posted I redisplays for a window are coalesced by GLUT to minimize the number of  display callbacks called. MWhen an overlay is established for a window, but there is no overlay display M callback registered, the display callback is used for redisplaying both the N overlay and normal plane (that is, it will be called if either the redisplay = state or overlay redisplay state is set). In this case, the  layer in use is : not implicitly changed on entry to the display callback. See . to understand how distinct callbacks for the : overlay and normal plane of a window may be established. KWhen a window is created, no display callback exists for the window. It is L the responsibility of the programmer to install a display callback for the N window before the window is shown. A display callback must be registered for K any window that is shown. If a window becomes displayed without a display E callback being registered, a fatal error occurs. There is no way to  " deregister"@ a display callback (though another callback routine can always  be registered). NUpon return from the display callback, the normal damaged state of the window  (see %) is cleared. If there is no overlay J display callback registered the overlay damaged state of the window (see  ) is also cleared. .Controls the overlay display callback for the current window. The overlay 8 display callback is functionally the same as the window's display callback I except that the overlay display callback is used to redisplay the window's  overlay. GWhen GLUT determines that the overlay plane for the window needs to be L redisplayed, the overlay display callback for the window is called. Before  the callback, the current window$ is set to the window needing to be  redisplayed and the  layer in use+ is set to the overlay. The entire overlay I region should be redisplayed in response to the callback (this includes < ancillary buffers if your program depends on their state). LGLUT determines when the overlay display callback should be triggered based  on the window'=s overlay redisplay state. The overlay redisplay state for a 0 window can be either set explicitly by calling   ( or implicitly as the result I of window damage reported by the window system. Multiple posted overlay I redisplays for a window are coalesced by GLUT to minimize the number of # overlay display callbacks called. LUpon return from the overlay display callback, the overlay damaged state of  the window (see ) is cleared. MInitially there is no overlay display callback registered when an overlay is  established. See ( to understand how the display callback A alone is used if an overlay display callback is not registered. &Controls the reshape callback for the current window. The reshape callback N is triggered when a window is reshaped. A reshape callback is also triggered  immediately before a window'+s first display callback after a window is M created or whenever an overlay for the window is established. The parameter O of the callback specifies the new window size in pixels. Before the callback,  the current window. is set to the window that has been reshaped. 8If a reshape callback is not registered for a window or  is  set to D7 (to deregister a previously registered callback), the J default reshape callback is used. This default callback will simply call    "/ ("0 0 0) ("1 width height) 8on the normal plane (and on the overlay if one exists). JIf an overlay is established for the window, a single reshape callback is  generated. It is the callback'+s responsibility to update both the normal L plane and overlay for the window (changing the layer in use as necessary). NWhen a top-level window is reshaped, subwindows are not reshaped. It is up to J the GLUT program to manage the size and positions of subwindows within a M top-level window. Still, reshape callbacks will be triggered for subwindows " when their size is changed using 2. )Controls the visibility callback for the current window. The visibility J callback for a window is called when the visibility of a window changes. NIf the visibility callback for a window is disabled and later re-enabled, the O visibility status of the window is undefined; any change in window visibility N will be reported, that is if you disable a visibility callback and re-enable O the callback, you are guaranteed the next visibility change will be reported. Note that you can either use  or , A but not both, because the former is implemented via the latter. +Controls the window state callback for the  current window.; The window state callback for a window is called when the # window state of a window changes. LIf the window state callback for a window is disabled and later re-enabled, M the window state state of the window is undefined; any change in the window L state will be reported, that is if you disable a window state callback and N re-enable the callback, you are guaranteed the next window state change will  be reported. Note that you can either use  or , A but not both, because the former is implemented via the latter. 'Controls the keyboard callback for the current window . This is ' activated only when a key is pressed. 'Controls the keyboard callback for the current window . This is ( activated only when a key is released. *Controls the special key callback for the current window . This is / activated only when a special key is pressed. *Controls the special key callback for the current window . This is 0 activated only when a special key is released. $Controls the mouse callback for the current window. Controls the keyboard/mouse callback for the current window. The  keyboard/Amouse callback for a window is called when the state of a key or M mouse button changes. The callback parameters indicate the new state of the  key/Gbutton, the state of the keyboard modifiers, and the mouse location in  window relative coordinates. LNote that this is a convenience function that should not ordinarily be used  in conjunction with , ,  , , or . ( freeglut only,) Controls the mouse wheel callback for the  current window.8 The mouse wheel callback for a window is called when a F mouse wheel is used and the wheel number is greater than or equal to  . %Controls the motion callback for the current window. The motion callback L for a window is called when the mouse moves within the window while one or L more mouse buttons are pressed. The callback parameter indicates the mouse * location in window relative coordinates. -Controls the passive motion callback for the current window. The passive O motion callback for a window is called when the mouse moves within the window  while noA mouse buttons are pressed. The callback parameter indicates the 0 mouse location in window relative coordinates. Controls the mouse enter/leave callback for the current window. Note 9 that some window systems may not generate accurate enter/leave callbacks. X Implementation Notes:- An X implementation of GLUT should generate  accurate enter/leave callbacks. (Controls the Spaceball callback for the current window. The Spaceball K callback for a window is called when the window has Spaceball input focus N (normally, when the mouse is in the window) and the user generates Spaceball O translations, rotations, or button presses. The number of available Spaceball  buttons can be determined with . NRegistering a Spaceball callback when a Spaceball device is not available has M no effect and is not an error. In this case, no Spaceball callbacks will be  generated. Controls the dial & button box callback for the current window. The dial  &L button box button callback for a window is called when the window has dial  &L button box input focus (normally, when the mouse is in the window) and the  user generates dial &7 button box button presses or dial changes. The number  of available dial &5 button box buttons and dials can be determined with  . Registering a dial &! button box callback when a dial & button box device is F not available is ineffectual and not an error. In this case, no dial & button  box button will be generated.  %Controls the tablet callback for the current window. The tablet callback O for a window is called when the window has tablet input focus (normally, when L the mouse is in the window) and the user generates tablet motion or button H presses. The number of available tablet buttons can be determined with  . GRegistering a tablet callback when a tablet device is not available is I ineffectual and not an error. In this case, no tablet callbacks will be  generated. !'Controls the joystick callback for the current window. The joystick O callback is called either due to polling of the joystick at the uniform timer C interval specified (if > 0) or in response to an explicit call of  3. X Implementation Notes:1 Currently GLUT has no joystick support for X11.       !v      !v      !V      ! portablestablesven.panne@aedion.deNone#/Timeout for the timer callback in milliseconds )IControls the global menu status callback so a GLUT program can determine M when a menu is in use or not. When a menu status callback is registered, it  will be called with the value '% when pop-up menus are in use by the 6 user; and the callback will be called with the value ( when pop-up N menus are no longer in use. Additionally, the location in window coordinates P of the button press that caused the menu to go into use, or the location where O the menu was released (maybe outside the window). Other callbacks continue to M operate (except mouse motion callbacks) when pop-up menus are in use so the K menu status callback allows a program to suspend animation or other tasks I when menus are in use. The cascading and unmapping of sub-menus from an I initial pop-up menu does not generate menu status callbacks. There is a ' single menu status callback for GLUT. -When the menu status callback is called, the  current menu will be set to % the initial pop-up menu in both the ' and ( cases. The  current window; will be set to the window from which the initial menu was % popped up from, also in both cases. *KControls the global idle callback so a GLUT program can perform background L processing tasks or continuous animation when window system events are not K being received. If enabled, the idle callback is continuously called when $ events are not being received. The current window and  current menu will I not be changed before the idle callback. Programs with multiple windows  and/#or menus should explicitly set the current window and/or /current  menu/& and not rely on its current setting. KThe amount of computation and rendering done in an idle callback should be ) minimized to avoid affecting the program'$s interactive response. In general, O not more than a single frame of rendering should be done in an idle callback. +LRegister a one-shot timer callback to be triggered after at least the given L amount of time. Multiple timer callbacks at same or differing times may be K registered simultaneously. There is no support for canceling a registered  callback. LThe number of milliseconds is a lower bound on the time before the callback O is generated. GLUT attempts to deliver the timer callback as soon as possible % after the expiration of the callback's time interval. "#$%&'()*+ "#$%&'()*+ &('%)$*#"+ "#$%&(')*+4portablestablesven.panne@aedion.deNone      !"#$%&'()*+portablestablesven.panne@aedion.deNone,-The behaviour when the user closes a window. -6Return from mainLoop after the last window is closed. .0Return from mainLoop when any window is closed. /4Exit the whole program when any window is closed or 2  is called (default). 0DEnter the GLUT event processing loop; it will call as necessary any L callbacks that have been registered. This routine should be called at most  once in a GLUT program. 1( freeglut only) Process one iteration'%s worth of events in its event loop. M This allows the application to control its own event loop and still use the  GLUT package. 2( freeglut only) Stop the event loop. If 3 contains  /B, the application will exit; otherwise control will return to the  function which called 0. +If the application has two nested calls to 0 and calls  2:, the behaviour is undefined. It may leave only the inner O nested loop or it may leave both loops. If the reader has a strong preference M for one behaviour over the other he should contact the freeglut Programming . Consortium and ask for the code to be fixed. 3( freeglut only8) Controls the behaviour when the user closes a window. ,-./0123,-./0123012,/.-3,/.-0123portablestablesven.panne@aedion.deNoneN4GAn OpenGL API profile, affecting the rendering context to create, used  in conjunction with . 5 The OpenGL  compatibility' profile, which is optional for OpenGL  3.2 implementations. 6 The OpenGL core/ profile, which all OpenGL 3.2 implementations  are required to support. 7FA flag affecting the rendering context to create, used in conjunction  with . 8EForward-compatible contexts are defined only for OpenGL versions 3.0 : and later. They must not support functionality marked as  deprecated I by that version of the API, while a non-forward-compatible context must ? support all functionality in that version, deprecated or not. 9DDebug contexts are intended for use during application development, B and provide additional runtime checking, validation, and logging C functionality while possibly incurring performance penalties. The H additional functionality provided by debug contexts may vary according G to the implementation. In some cases a debug context may be identical  to a non-debug context. :DThe kind of GLX rendering context used. Direct rendering provides a J performance advantage in some implementations. However, direct rendering L contexts cannot be shared outside a single process, and they may be unable  to render to GLX pixmaps. ;FTry to use direct rendering, issue an error and terminate the program G if this is not possible.This corresponds to the command line argument  -direct, see u. <>Try to use direct rendering, issue a warning and use indirect $ rendering if this is not possible. =GTry to use direct rendering, silently using indirect rendering if this  is not possible. >CRendering is always done through the X server. This corresponds to  the command line argument  -indirect, see u. ?3How rendering context for new windows are created. @&Re-use the current rendering context. ACreate a new context via glXCreateContext or wglCreateContext  (default). B$A single capability description for |. CGWhen the relation and numeric value are not specified, each capability > has a different default, see the different constructors of  E. DDA description of a capability with a specific relation to a numeric  value. ECapabilities for |, most of them are extensions  of the constructors of c. F9Only recongized on GLUT implementations for the X Window 2 System, boolean indicating if the frame buffer  configuration's X visual is of type  DirectColor.  Default is " 1". G9Only recongized on GLUT implementations for the X Window 2 System, boolean indicating if the frame buffer  configuration's X visual is of type  TrueColor . Default  is " 1". H9Only recongized on GLUT implementations for the X Window 2 System, boolean indicating if the frame buffer  configuration's X visual is of type  PsuedoColor.  Default is " 1". I9Only recongized on GLUT implementations for the X Window 2 System, boolean indicating if the frame buffer  configuration's X visual is of type  StaticColor.  Default is " 1". J9Only recongized on GLUT implementations for the X Window 2 System, boolean indicating if the frame buffer  configuration's X visual is of type  GrayScale . Default  is " 1". K9Only recongized on GLUT implementations for the X Window 2 System, boolean indicating if the frame buffer  configuration's X visual is of type  StaticGray.  Default is " 1". L9Only recongized on GLUT implementations for the X Window ; System, this capability name matches the X visual ID by  number. L( requires a relation and numeric value. M8Only recognized on GLUT implementations for Win32, this = capability name matches the Win32 Pixel Format Descriptor  by number. M can only be used with D. N8Boolean indicating if the frame buffer configuration is 4 slow or not. Slowness information is based on GLX's  EXT_visual_rating extension if supported. If the = extension is not supported, all visuals are assumed fast. < Note that slowness is a relative designation relative to ; other frame buffer configurations available. The intent : of the slow capability is to help programs avoid frame = buffer configurations that are slower (but perhaps higher 2 precision) for the current machine. Default is  "  0"'. This default means that slow visuals < are used in preference to fast visuals, but fast visuals  will still be allowed. O8Boolean indicating if the frame buffer configuration is : conformant or not. Conformance information is based on  GLX's EXT_visual_rating extension if supported. If the 7 extension is not supported, all visuals are assumed  conformant. Default is " 1". P5A special capability name indicating where the value : represents the Nth frame buffer configuration matching / the description string. When not specified,  | also uses the first " (best matching) configuration.  requires a relation  and numeric value. Q( freeglut only*) Number of auxiliary buffers. Default is  " 1". R:Number of bits of red in the RGBA and zero bits of green, 9 blue (alpha not specified) of color buffer precision.  Default is "  1" for the red capabilitis,  and " 0" for the green and blue  capabilities, and " 1" for the RGBA color # model capability, and, for X11, " 1" for  the K& capability. SGI InfiniteReality (and = other future machines) support a 16-bit luminance (single = channel) display mode (an additional 16-bit alpha channel 8 can also be requested). The red channel maps to gray : scale and green and blue channels are not available. A 4 16-bit precision luminance display mode is often 8 appropriate for medical imaging applications. Do not 6 expect many machines to support extended precision  luminance display modes. S0Boolean indicating the color buffer is supports # OpenGL-style stereo. Default is " 1". T5Indicates the number of multisamples to use based on  GLX's SGIS_multisample extension (for antialiasing).  Default is "  4". This default means 8 that a GLUT application can request multisampling if " available by simply specifying "C T". U1Number of bits in the stencil buffer. Default is  " 1". V8Number of bits of precsion in the depth buffer. Default  is "  12". W1Alpha color buffer precision in bits. Default is  "  1". X7Red, green, and green accumulation buffer precision in > bits and zero bits of alpha accumulation buffer precision.  Default is "  1" for red, green, and blue  capabilities, and " 0" for the alpha  capability. Y:Red, green, blue, and alpha accumulation buffer precision  in bits. Default is "  1" for red, green, ! blue, and alpha capabilities. Z1Boolean indicating if the color buffer is double  buffered. Default is " 1". [6Boolean indicate the color buffer is single buffered.  Default is " 1". \8Number of bits in the color index color buffer. Default  is "  1". ]:Boolean if the color model is color index or not. True is  color index. Default is "  1". ^0Blue color buffer precision in bits. Default is  "  1". _1Green color buffer precision in bits. Default is  "  1". `/Red color buffer precision in bits. Default is  "  1". a9Number of bits of red, green, and blue in the RGBA color 9 buffer and zero bits of alpha color buffer precision.  Default is "  1" for the red, green, and  blue capabilities, and " 0" for alpha  capability, and " 1" for the RGBA color  model capability. b:Number of bits of red, green, blue, and alpha in the RGBA  color buffer. Default is "  1" for red, , green, blue, and alpha capabilities, and "  1"& for the RGBA color model capability. cHA single aspect of a window which is to be created, used in conjunction  with z. dSelect an sRGB mode window ( freeglut only). e%Select a window without any borders ( freeglut only). f#Select a window without a caption ( freeglut only). gSelect a stereo window. hGSelect a window with multisampling, using the given samples per pixel. iDSelect a window with multisampling support. If multisampling is not E available, a non-multisampling window will automatically be chosen. H Note: both the OpenGL client-side and server-side implementations must  support the GLX_SAMPLE_SGIS# extension for multisampling to be  available. Deprecated, use h. j0Select a double buffered window. This overrides k if it  is also specified. k@Select a single buffered window. This is the default if neither  j nor k are specified. l( freeglut only) Select a window with n (1 .. 4) auxiliary buffers.  Any n, outside the range 1 .. 4 is a fatal error. m'Select a window with a stencil buffer. n%Select a window with a depth buffer. o-Select a window with an accumulation buffer. p@Select a window with an alpha component to the color buffer(s). qSelect a window with a " luminance"" color model. This model provides  the functionality of OpenGL'+s RGBA color model, but the green and blue F components are not maintained in the frame buffer. Instead each pixel's 9 red component is converted to an index between zero and   5 and looked up in a J per-window color map to determine the color of pixels within the window.  The initial colormap of q windows is initialized to be a 0 linear gray ramp, but can be modified with GLUT's colormap actions.  Implementation Notes: q! is not supported on most OpenGL  platforms. r1Select a color index mode window. This overrides t if it is  also specified. s An alias for t. t;Select an RGBA mode window. This is the default if neither t  nor r are specified. uGGiven the program name and command line arguments, initialize the GLUT E library and negotiate a session with the window system. During this  process, u7 may cause the termination of the GLUT program with an C error message to the user if GLUT cannot be properly initialized. I Examples of this situation include the failure to connect to the window K system, the lack of window system support for OpenGL, and invalid command  line options. u? also processes command line options, but the specific options J parsed are window system dependent. Any command line arguments which are ! not GLUT-specific are returned. X Implementation Notes:0 The X Window System specific options parsed by  u are as follows:   -display DISPLAY8: Specify the X server to connect to. If not specified,  the value of the DISPLAY environment variable is used.   -geometry WxH+X+Y4: Determines where windows should be created on the # screen. The parameter following  -geometry should be formatted as a L standard X geometry specification. The effect of using this option is to D change the GLUT initial size and initial position the same as if  y or x were modified directly.  -iconic@: Requests all top-level windows be created in an iconic state.   -indirect7: Force the use of indirect OpenGL rendering contexts.  -directA: Force the use of direct OpenGL rendering contexts (not all GLX H 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 E 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  6# to check if there are any pending L OpenGL errors. Using this option is helpful in detecting OpenGL run-time  errors.  -sync@: Enable synchronous X protocol transactions. This option makes 8 it easier to track down potential X protocol errors. vHConvenience action: Initialize GLUT, returning the program name and any " non-GLUT command line arguments. w( freeglut only1) De-initialize GLUT. After this, one has to use  u or v to initialize GLUT again. x Controls the initial window position. Windows created by  7& will be requested to be created with  the current initial window position. The initial value of the /initial  window position/ GLUT state is } (-1) (-1). If either the X or Y  component of the initial window position is negative, the actual window 5 position is left to the window system to determine. The intent of the initial window position is to provide a suggestion to  the window system for a window')s initial position. The window system is L not obligated to use this information. Therefore, GLUT programs should not : assume the window was created at the specified position. y Controls the initial window size. Windows created by  7& will be requested to be created with  the current initial window size. The initial value of the /initial window  size/ GLUT state is } 300 300$. If either the width or the height  component of the initial window size$ is non-positive, the actual window 1 size is left to the window system to determine. The intent of the initial window size# is to provide a suggestion to the  window system for a window')s initial size. The window system is not H obligated to use this information. Therefore, GLUT programs should not L assume the window was created at the specified size. A GLUT program should  use the window'5s reshape callback to determine the true size of the  window. z Controls the initial display mode' used when creating top-level windows, G subwindows, and overlays to determine the OpenGL display mode for the " to-be-created window or overlay.  Note that t; selects the RGBA color model, but it does not request any $ bits of alpha (sometimes called an  alpha buffer or destination alpha) ) be allocated. To request alpha, specify p . The same  applies to q. { Contains E if the current display mode is supported, F  otherwise. | Controls the initial display mode' used when creating top-level windows, G subwindows, and overlays to determine the OpenGL display mode for the L to-be-created window or overlay. It is described by a list of zero or more N capability descriptions, which are translated into a set of criteria used to M select the appropriate frame buffer configuration. The criteria are matched J in strict left to right order of precdence. That is, the first specified M criterion (leftmost) takes precedence over the later criteria for non-exact  criteria ( ,  , etc.). Exact criteria (,   4) must match exactly so precedence is not relevant. NUnspecified capability descriptions will result in unspecified criteria being , generated. These unspecified criteria help | 7 behave sensibly with terse display mode descriptions. Here is an example using |:   6 initialDisplayCapabilities $= [ With DisplayRGB, E Where DisplayDepth IsAtLeast 16, : With DisplaySamples, J Where DisplayStencil IsNotLessThan 2, 8 With DisplayDouble ] JThe above call requests a window with an RGBA color model (but requesting J no bits of alpha), a depth buffer with at least 16 bits of precision but I preferring more, multisampling if available, at least 2 bits of stencil M (favoring less stencil to more as long as 2 bits are available), and double  buffering. }( freeglut only6) Controls the creation of rendering contexts for new  windows. ~(freeglut on X11 only.) Controls which kind of rendering context is % created when a new one is required. ( freeglut only) Controls the API major/minor version of the OpenGL K context. If a version less than or equal to 2.1 is requested, the context G returned may implement any version no less than that requested and no J greater than 2.1. If version 3.0 is requested, the context returned must L implement exactly version 3.0. Versioning behavior once GL versions beyond M 3.0 are defined will be defined by an amendment to the OpenGL specification - to define dependencies on such GL versions. 89 and  8: will return the ( actual version supported by a context. FThe default context version is (1, 0), which will typically return an * OpenGL 2.1 context, if one is available. ( freeglut only7) Controls the set of flags for the rendering context. ( freeglut only:) Controls the set of profiles for the rendering context. n456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuThe program name. The command line arguments  Non-GLUT command line arguments vwxyz{|}  ~   V 456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Vuvwxyctsrqponmlkjihgfedz{Eba`_^]\[ZYXWVUTSRQPONMLKJIHGF BDC|?A@}:>=<;~7984654465798:>=<;?A@BDCEba`_^]\[ZYXWVUTSRQPONMLKJIHGFctsrqponmlkjihgfeduvwxyz{|}  ~   ;portablestablesven.panne@aedion.deNoneo !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~}|                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ <=>?@ABCDEFGHHIJKLMNOPQRSTUVWXYZ[\]^_`36abcdefghijklmnopqrstuvwxyz{|}~ 5    ' (7&2       %       <      !"#$%&'()*+,-./0123456789:;<=>?@ABCD E F G H I J K L M NOPQR$STUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~+,-      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUGVWXYZ[\]^_`abacdefdeghijklmnopqrstuvwxyz{|}~        "0"1     ..............................................                               !"#$%&'()*+,-./0123456457458459:;<:;=:;>:;?:;@:;A:;B:;C:;D:;E:;F:;G:;H:;I:;J:;K:;L:;MNOPNOQNORNOSNOTNOUNOVNOWNOXNOYNOZNO[NO\]^_]^_]^`]^`]^a]^a]^b]^b]^c]^c]^d]^d]^e]^e]^f]^fghghgigigjgkgkglgmgngogpgqgrgsgtgtgugugvgvgwgwgxgxgygygzg{g{|}|~|||||||||||||||||||||||      ! " #$%$%&'&(&)&*&+&,&-&.&/&0&1&2&3454546464747484849494:4:4;4<4<4=4=4>?@ABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA[A\A]A^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}A~AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA      !"#$%$%$&$&'(')'*'+','-'.'/'0'1'2'3'4'5'6'7'8'9':';'<'='>'?'@'A'BCDCECFCGHIHJHKLMLNLOLPLQLRLSLTUVUWUXUYUZU[U\U]^_^_`a`b`c`d`e`f`g`h`i`jklkmknkokpkqkrksktkukvwxwywzw{w|w}~~~~                    !"#"$"%"&'(')'*'+','-'.'/'0'1'2'3'4565758595:5;5<5=5>?@?A?B?C?D?E?F?G?H?I?J?KLMLNLOLPLQLRLSLTLULLVWXWYWZW[W\W]W^W^W_W`WaWbWcWdWeWfWgWhWiWjWkWlWmWnopoqorostutvtvtwtxtytzt{t|t}t~tttt""""""""""""1"0""""""""""""#"""""""""                                  ! " " # $ % & ' ( ) ( * ( + ( , ( - ( . ( / ( 0 ( 1 ( 2 ( 3 ( 4 ( 5 6 7 6 8 6 9 6 : 6 ; 6 < 6 = 6 > 6 ? 6 @ 6 A 6 B 6 C 6 D 6 E 6 Fg Gg Hg I| J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ^ ` ^ a b c b d b e b f b g b h b i j k j l m n o p q r s t u v w x y z { | } ~                         4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 ? ? ? ? ? ? ? ? ? ? ? ? ?                              8 8 8 8:898 8        " " " " " " " " " "           $ $ $ $ $ ' ' C L L L L U U U U U U U U ` ` ` ` ` ` ` ` ` ` ` w w w w w w w w  ! " ! # ! $ ! % ! & ! ' ! ( ! ) ! * ! + , - , . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D C E C F G H G I G J G K G L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~            " " " " " " " " " " " " " " " " " " " " " ' ' ' 5 5 5 5 5 5 5 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? L L L L L L )*) W W t t t t t t t t t t            "/" " " " " " " " " " " " " " " " " "                                               ! " # $ ( % &! ' ( ' ) ' * ' + , - , . , / , 0 1 GLUT-2.3.1.0!Graphics.UI.GLUT.Callbacks.WindowGraphics.UI.GLUT.InitializationGraphics.UI.GLUT.WindowGraphics.UI.GLUT.GameModeGraphics.UI.GLUT.DeviceControlGraphics.UI.GLUT.DebuggingGraphics.UI.GLUT.ObjectsGraphics.UI.GLUT.FontsGraphics.UI.GLUT.ColormapGraphics.UI.GLUT.OverlayGraphics.UI.GLUT.StateGraphics.UI.GLUT.Menu!Graphics.UI.GLUT.Callbacks.GlobalGraphics.UI.GLUT.BeginGraphics.UI.GLUT.Raw.TokensGraphics.UI.GLUT.Raw.FontsGraphics.UI.GLUT.Raw.CallbacksGraphics.UI.GLUT.Raw.APIEntryGraphics.UI.GLUT.Raw.FunctionsGraphics.UI.GLUT.RawGraphics.UI.GLUT.TypesDisplayCapabilityGraphics.UI.GLUT.QueryUtils IsGreaterThan IsLessThan IsEqualTo IsNotEqualToinitialDisplayModeinitialDisplayCapabilitieskeyboardMouseCallbackjoystickCallbackGraphics.Rendering.OpenGL.GLbitmap'Graphics.Rendering.OpenGL.GL.CoordTrans translatemainLoopdamaged postRedisplay layerInUsepostOverlayRedisplay(Graphics.Rendering.OpenGL.GL.FlushFinishflush initializegetArgsAndInitializeexit'Graphics.UI.GLUT.Callbacks.RegistrationviewportPositionSize windowSizeforceJoystickCallbackGraphics.UI.GLUT.CallbacksnumColorMapEntries reportErrors createWindow*Graphics.Rendering.OpenGL.GL.StringQueries glVersion majorMinorGraphics.UI.GLUT MouseButtonAdditionalButton WheelDownWheelUp RightButton MiddleButton LeftButtonRelation IsNotLessThan IsAtLeastIsNotGreaterThanWindow GameModeInfo RefreshRate BitsPerPlaneGameModeCapabilityDescriptionWhere'GameModeCapability GameModeNumGameModeRefreshRateGameModeBitsPerPlaneGameModeHeight GameModeWidthgameModeCapabilities enterGameMode leaveGameMode gameModeInfogameModeActivePerWindowKeyRepeatPerWindowKeyRepeatOnPerWindowKeyRepeatOffGlobalKeyRepeatGlobalKeyRepeatDefaultGlobalKeyRepeatOnGlobalKeyRepeatOffglobalKeyRepeatperWindowKeyRepeat NumLevelsRingsSidesObjectSierpinskiSpongeTeapotTorus Cylinder'ConeSphere'RhombicDodecahedron Tetrahedron Octahedron Icosahedron DodecahedronCubeFlavour WireframeSolid renderObject StrokeFont MonoRomanRoman BitmapFont Helvetica18 Helvetica12 Helvetica10 TimesRoman24 TimesRoman10 Fixed9By15 Fixed8By13Font renderString stringWidth fontHeight colorMapEntry copyColormaptransparentIndexLayerOverlayNormal hasOverlayoverlayPossibleoverlayVisibleCursor FullCrosshairNoneInheritBottomLeftCornerBottomRightCornerTopRightCorner TopLeftCorner RightSideLeftSide BottomSideTopSide LeftRightUpDown CrosshairTextWaitSprayCycleHelpDestroyInfo LeftArrow RightArrow WindowStatus IconifiedHiddenShowncreateSubWindow parentWindow numSubWindows destroyWindow currentWindow swapBufferswindowPosition fullScreenfullScreenToggle pushWindow popWindow windowStatus windowTitle iconTitlecursorpointerPositionPollRate AxisCount DialCount ButtonCount SampleCount BufferDepthrgbargbaBufferDepthscolorBufferDepthdoubleBufferedstereoaccumBufferDepthsdepthBufferDepthstencilBufferDepth sampleCountformatIDfullScreenMode elapsedTime screenSize screenSizeMM hasKeyboardnumMouseButtonsnumSpaceballButtonsnumDialsAndButtonsnumTabletButtons joystickInfosupportedNumAuxBufferssupportedSamplesPerPixel glutVersionwindowBorderWidthwindowHeaderHeight initState MenuCallbackMenuItemSubMenu MenuEntryMenu attachMenu numMenuItemsJoystickCallbackJoystickPositionJoystickButtonsjoystickButtonAjoystickButtonBjoystickButtonCjoystickButtonDTabletCallback TabletInput TabletButton TabletMotionTabletPositionDialAndButtonBoxCallbackDialAndButtonBoxInputDialAndButtonBoxDialDialAndButtonBoxButton DialIndexSpaceballCallbackSpaceballInputSpaceballButtonSpaceballRotationSpaceballMotion ButtonIndexCrossingCallbackCrossing WindowEntered WindowLeftMotionCallbackMouseWheelCallbackWheelDirection WheelNumberKeyboardMouseCallbackKey SpecialKeyChar Modifiersshiftctrlalt MouseCallbackKeyStateUpDownSpecialCallback KeyUnknown KeyDeleteKeyBegin KeyNumLock KeyInsertKeyEndKeyHome KeyPageDown KeyPageUpKeyDownKeyRightKeyUpKeyLeftKeyF12KeyF11KeyF10KeyF9KeyF8KeyF7KeyF6KeyF5KeyF4KeyF3KeyF2KeyF1KeyboardCallback CloseCallbackWindowStateCallback WindowState FullyCoveredPartiallyRetained FullyRetainedUnmappedVisibilityCallback VisibilityVisible NotVisibleReshapeCallbackDisplayCallbackdisplayCallbackoverlayDisplayCallbackreshapeCallbackvisibilityCallbackwindowStateCallback closeCallbackkeyboardCallbackkeyboardUpCallbackspecialCallbackspecialUpCallback mouseCallbackmouseWheelCallbackmotionCallbackpassiveMotionCallbackcrossingCallbackspaceballCallbackdialAndButtonBoxCallbacktabletCallback TimerCallbackTimeout IdleCallbackMenuStatusCallback MenuUsageInUseNotInUsemenuStatusCallback idleCallbackaddTimerCallbackActionOnWindowCloseContinueExectuionMainLoopReturnsExit mainLoopEvent leaveMainLoopactionOnWindowCloseContextProfileCompatibilityProfile CoreProfile ContextFlagForwardCompatibleContext DebugContextDirectRenderingForceDirectContextTryDirectContextAllowDirectContextForceIndirectContextRenderingContextUseCurrentContextCreateNewContextDisplayCapabilityDescriptionWithWhereDisplayXDirectColorDisplayXTrueColorDisplayXPseudoColorDisplayXStaticColorDisplayXGrayScaleDisplayXStaticGrayDisplayXVisualDisplayWin32PFD DisplaySlowDisplayConformant DisplayNum DisplayAuxDisplayLuminance DisplayStereoDisplaySamplesDisplayStencil DisplayDepth DisplayAlpha DisplayAcc DisplayAccA DisplayDouble DisplaySingle DisplayBuffer DisplayIndex DisplayBlue DisplayGreen DisplayRed DisplayRGB DisplayRGBA DisplayModeSRGBMode Borderless Captionless StereoscopicWithSamplesPerPixel MultisamplingDoubleBufferedSingleBufferedWithAuxBuffersWithStencilBufferWithDepthBufferWithAccumBufferWithAlphaComponent LuminanceMode IndexModeRGBModeRGBAModeinitialWindowPositioninitialWindowSizedisplayModePossiblerenderingContextdirectRenderinginitialContextVersioninitialContextFlagsinitialContextProfile glut_ACCUMglut_ACTION_CONTINUE_EXECUTIONglut_ACTION_EXIT glut_ACTION_GLUTMAINLOOP_RETURNSglut_ACTION_ON_WINDOW_CLOSEglut_ACTIVE_ALTglut_ACTIVE_CTRLglut_ACTIVE_SHIFTglut_ALLOW_DIRECT_CONTEXT glut_ALPHAglut_AUX glut_AUX1 glut_AUX2 glut_AUX3 glut_AUX4 glut_BLUEglut_BORDERLESSglut_CAPTIONLESSglut_CORE_PROFILEglut_COMPATIBILITY_PROFILEglut_CREATE_NEW_CONTEXTglut_CURSOR_BOTTOM_LEFT_CORNERglut_CURSOR_BOTTOM_RIGHT_CORNERglut_CURSOR_BOTTOM_SIDEglut_CURSOR_CROSSHAIRglut_CURSOR_CYCLEglut_CURSOR_DESTROYglut_CURSOR_FULL_CROSSHAIRglut_CURSOR_HELPglut_CURSOR_INFOglut_CURSOR_INHERITglut_CURSOR_LEFT_ARROWglut_CURSOR_LEFT_RIGHTglut_CURSOR_LEFT_SIDEglut_CURSOR_NONEglut_CURSOR_RIGHT_ARROWglut_CURSOR_RIGHT_SIDEglut_CURSOR_SPRAYglut_CURSOR_TEXTglut_CURSOR_TOP_LEFT_CORNERglut_CURSOR_TOP_RIGHT_CORNERglut_CURSOR_TOP_SIDEglut_CURSOR_UP_DOWNglut_CURSOR_WAIT glut_DEBUG glut_DEPTHglut_DEVICE_IGNORE_KEY_REPEATglut_DEVICE_KEY_REPEATglut_DIRECT_RENDERINGglut_DISPLAY_MODE_POSSIBLE glut_DOUBLE glut_DOWNglut_ELAPSED_TIME glut_ENTEREDglut_FORCE_DIRECT_CONTEXTglut_FORCE_INDIRECT_CONTEXTglut_FORWARD_COMPATIBLEglut_FULLY_COVEREDglut_FULLY_RETAINEDglut_FULL_SCREENglut_GAME_MODE_ACTIVEglut_GAME_MODE_DISPLAY_CHANGEDglut_GAME_MODE_HEIGHTglut_GAME_MODE_PIXEL_DEPTHglut_GAME_MODE_POSSIBLEglut_GAME_MODE_REFRESH_RATEglut_GAME_MODE_WIDTH glut_GREENglut_HAS_DIAL_AND_BUTTON_BOXglut_HAS_JOYSTICKglut_HAS_KEYBOARDglut_HAS_MOUSEglut_HAS_OVERLAYglut_HAS_SPACEBALLglut_HAS_TABLET glut_HIDDEN glut_INDEXglut_INIT_DISPLAY_MODEglut_INIT_FLAGSglut_INIT_MAJOR_VERSIONglut_INIT_MINOR_VERSIONglut_INIT_PROFILEglut_INIT_STATEglut_INIT_WINDOW_HEIGHTglut_INIT_WINDOW_WIDTHglut_INIT_WINDOW_Xglut_INIT_WINDOW_Yglut_JOYSTICK_AXESglut_JOYSTICK_BUTTONSglut_JOYSTICK_BUTTON_Aglut_JOYSTICK_BUTTON_Bglut_JOYSTICK_BUTTON_Cglut_JOYSTICK_BUTTON_Dglut_JOYSTICK_POLL_RATEglut_KEY_BEGINglut_KEY_DELETE glut_KEY_DOWN glut_KEY_END glut_KEY_F1 glut_KEY_F10 glut_KEY_F11 glut_KEY_F12 glut_KEY_F2 glut_KEY_F3 glut_KEY_F4 glut_KEY_F5 glut_KEY_F6 glut_KEY_F7 glut_KEY_F8 glut_KEY_F9 glut_KEY_HOMEglut_KEY_INSERT glut_KEY_LEFTglut_KEY_NUM_LOCKglut_KEY_PAGE_DOWNglut_KEY_PAGE_UPglut_KEY_REPEAT_DEFAULTglut_KEY_REPEAT_OFFglut_KEY_REPEAT_ONglut_KEY_RIGHT glut_KEY_UPglut_LAYER_IN_USE glut_LEFTglut_LEFT_BUTTONglut_LUMINANCEglut_MENU_IN_USEglut_MENU_NOT_IN_USEglut_MENU_NUM_ITEMSglut_MIDDLE_BUTTONglut_MULTISAMPLE glut_NORMALglut_NORMAL_DAMAGEDglut_NOT_VISIBLEglut_NUM_BUTTON_BOX_BUTTONSglut_NUM_DIALSglut_NUM_MOUSE_BUTTONSglut_NUM_SPACEBALL_BUTTONSglut_NUM_TABLET_BUTTONS glut_OVERLAYglut_OVERLAY_DAMAGEDglut_OVERLAY_POSSIBLEglut_OWNS_JOYSTICKglut_PARTIALLY_RETAINEDglut_REDglut_RENDERING_CONTEXTglut_RGB glut_RGBAglut_RIGHT_BUTTONglut_SCREEN_HEIGHTglut_SCREEN_HEIGHT_MMglut_SCREEN_WIDTHglut_SCREEN_WIDTH_MM glut_SINGLE glut_SRGB glut_STENCIL glut_STEREOglut_TRANSPARENT_INDEXglut_TRY_DIRECT_CONTEXTglut_UPglut_USE_CURRENT_CONTEXT glut_VERSIONglut_VIDEO_RESIZE_HEIGHTglut_VIDEO_RESIZE_HEIGHT_DELTAglut_VIDEO_RESIZE_IN_USEglut_VIDEO_RESIZE_POSSIBLEglut_VIDEO_RESIZE_WIDTHglut_VIDEO_RESIZE_WIDTH_DELTAglut_VIDEO_RESIZE_Xglut_VIDEO_RESIZE_X_DELTAglut_VIDEO_RESIZE_Yglut_VIDEO_RESIZE_Y_DELTA glut_VISIBLEglut_WINDOW_ACCUM_ALPHA_SIZEglut_WINDOW_ACCUM_BLUE_SIZEglut_WINDOW_ACCUM_GREEN_SIZEglut_WINDOW_ACCUM_RED_SIZEglut_WINDOW_ALPHA_SIZEglut_WINDOW_BLUE_SIZEglut_WINDOW_BORDER_WIDTHglut_WINDOW_BUFFER_SIZEglut_WINDOW_COLORMAP_SIZEglut_WINDOW_CURSORglut_WINDOW_DEPTH_SIZEglut_WINDOW_DOUBLEBUFFERglut_WINDOW_FORMAT_IDglut_WINDOW_GREEN_SIZEglut_WINDOW_HEADER_HEIGHTglut_WINDOW_HEIGHTglut_WINDOW_NUM_CHILDRENglut_WINDOW_NUM_SAMPLESglut_WINDOW_PARENTglut_WINDOW_RED_SIZEglut_WINDOW_RGBAglut_WINDOW_STENCIL_SIZEglut_WINDOW_STEREOglut_WINDOW_WIDTH glut_WINDOW_X glut_WINDOW_Yhs_GLUT_marshalStrokeFonths_GLUT_marshalBitmapFontWindowStatusFunc WMCloseFuncVisibilityFunc TimerFuncTabletMotionFuncTabletButtonFunc SpecialUpFunc SpecialFuncSpaceballRotateFuncSpaceballMotionFuncSpaceballButtonFunc ReshapeFuncPassiveMotionFuncOverlayDisplayFuncMouseWheelFunc MouseFunc MotionFuncMenuStatusFunc MenuStateFuncMenuDestroyFuncKeyboardUpFunc KeyboardFunc JoystickFuncIdleFunc EntryFunc DisplayFunc DialsFunc CloseFunc ButtonBoxFuncMenuFuncmakeWindowStatusFuncmakeWMCloseFuncmakeVisibilityFunc makeTimerFuncmakeTabletMotionFuncmakeTabletButtonFuncmakeSpecialUpFuncmakeSpecialFuncmakeSpaceballRotateFuncmakeSpaceballMotionFuncmakeSpaceballButtonFuncmakeReshapeFuncmakePassiveMotionFuncmakeOverlayDisplayFuncmakeMouseWheelFunc makeMouseFuncmakeMotionFuncmakeMenuStatusFuncmakeMenuStateFuncmakeMenuDestroyFuncmakeKeyboardUpFuncmakeKeyboardFuncmakeJoystickFunc makeIdleFunc makeEntryFuncmakeDisplayFunc makeDialsFunc makeCloseFuncmakeButtonBoxFunc makeMenuFunc getAPIEntryInvokerhs_GLUT_getProcAddressthrowIfNullFunPtrgetAPIEntryInternalbaseGHC.PtrFunPtrGHC.IOunsafePerformIOdyn_glutGetWindowDatadyn_glutGetMenuDatadyn_glutWireTorusdyn_glutWireTetrahedrondyn_glutWireTeapotdyn_glutWireSpheredyn_glutWireSierpinskiSpongedyn_glutWireRhombicDodecahedrondyn_glutWireOctahedrondyn_glutWireIcosahedrondyn_glutWireDodecahedrondyn_glutWireCylinderdyn_glutWireCubedyn_glutWireConedyn_glutWindowStatusFuncdyn_glutWarpPointerdyn_glutWMCloseFuncdyn_glutVisibilityFuncdyn_glutVideoResizedyn_glutVideoPandyn_glutUseLayerdyn_glutTimerFuncdyn_glutTabletMotionFuncdyn_glutTabletButtonFuncdyn_glutSwapBuffersdyn_glutStrokeStringdyn_glutStrokeCharacterdyn_glutStopVideoResizingdyn_glutSpecialUpFuncdyn_glutSpecialFuncdyn_glutSpaceballRotateFuncdyn_glutSpaceballMotionFuncdyn_glutSpaceballButtonFuncdyn_glutSolidTorusdyn_glutSolidTetrahedrondyn_glutSolidTeapotdyn_glutSolidSpheredyn_glutSolidSierpinskiSponge dyn_glutSolidRhombicDodecahedrondyn_glutSolidOctahedrondyn_glutSolidIcosahedrondyn_glutSolidDodecahedrondyn_glutSolidCylinderdyn_glutSolidCubedyn_glutSolidConedyn_glutShowWindowdyn_glutShowOverlaydyn_glutSetupVideoResizingdyn_glutSetWindowTitledyn_glutSetWindowDatadyn_glutSetWindowdyn_glutSetOptiondyn_glutSetMenuDatadyn_glutSetMenudyn_glutSetKeyRepeatdyn_glutSetIconTitledyn_glutSetCursordyn_glutSetColordyn_glutReshapeWindowdyn_glutReshapeFuncdyn_glutReportErrorsdyn_glutRemoveOverlaydyn_glutRemoveMenuItemdyn_glutPushWindowdyn_glutPostWindowRedisplay"dyn_glutPostWindowOverlayRedisplaydyn_glutPostRedisplaydyn_glutPostOverlayRedisplaydyn_glutPositionWindowdyn_glutPopWindowdyn_glutPassiveMotionFuncdyn_glutOverlayDisplayFuncdyn_glutMouseWheelFuncdyn_glutMouseFuncdyn_glutMotionFuncdyn_glutMenuStatusFuncdyn_glutMenuStateFuncdyn_glutMenuDestroyFuncdyn_glutMainLoopEventdyn_glutMainLoopdyn_glutLeaveMainLoopdyn_glutLeaveGameModedyn_glutKeyboardUpFuncdyn_glutKeyboardFuncdyn_glutJoystickFuncdyn_glutInitWindowSizedyn_glutInitWindowPositiondyn_glutInitDisplayStringdyn_glutInitDisplayModedyn_glutInitContextProfiledyn_glutInitContextVersiondyn_glutInitContextFlags dyn_glutInitdyn_glutIgnoreKeyRepeatdyn_glutIdleFuncdyn_glutIconifyWindowdyn_glutHideWindowdyn_glutHideOverlaydyn_glutGameModeStringdyn_glutFullScreenToggledyn_glutFullScreendyn_glutForceJoystickFunc dyn_glutExitdyn_glutEstablishOverlaydyn_glutEntryFuncdyn_glutDisplayFuncdyn_glutDialsFuncdyn_glutDetachMenudyn_glutDestroyWindowdyn_glutDestroyMenudyn_glutCopyColormapdyn_glutCloseFuncdyn_glutChangeToSubMenudyn_glutChangeToMenuEntrydyn_glutButtonBoxFuncdyn_glutBitmapStringdyn_glutBitmapCharacterdyn_glutAttachMenudyn_glutAddSubMenudyn_glutAddMenuEntrydyn_glutGetModeValuesdyn_glutVideoResizeGetdyn_glutStrokeWidthdyn_glutStrokeLengthdyn_glutLayerGetdyn_glutGetWindowdyn_glutGetModifiersdyn_glutGetMenu dyn_glutGetdyn_glutGameModeGetdyn_glutExtensionSupporteddyn_glutEnterGameModedyn_glutDeviceGetdyn_glutCreateWindowdyn_glutCreateSubWindowdyn_glutCreateMenudyn_glutBitmapWidthdyn_glutBitmapLengthdyn_glutBitmapHeightdyn_glutStrokeHeightdyn_glutGetColordyn_glutGetProcAddressglutGetProcAddressptr_glutGetProcAddress glutGetColorptr_glutGetColorglutStrokeHeightptr_glutStrokeHeightglutBitmapHeightptr_glutBitmapHeightglutBitmapLengthptr_glutBitmapLengthglutBitmapWidthptr_glutBitmapWidthglutCreateMenuptr_glutCreateMenuglutCreateSubWindowptr_glutCreateSubWindowglutCreateWindowptr_glutCreateWindow glutDeviceGetptr_glutDeviceGetglutEnterGameModeptr_glutEnterGameModeglutExtensionSupportedptr_glutExtensionSupportedglutGameModeGetptr_glutGameModeGetglutGet ptr_glutGet glutGetMenuptr_glutGetMenuglutGetModifiersptr_glutGetModifiers glutGetWindowptr_glutGetWindow glutLayerGetptr_glutLayerGetglutStrokeLengthptr_glutStrokeLengthglutStrokeWidthptr_glutStrokeWidthglutVideoResizeGetptr_glutVideoResizeGetglutGetModeValuesptr_glutGetModeValuesglutAddMenuEntryptr_glutAddMenuEntryglutAddSubMenuptr_glutAddSubMenuglutAttachMenuptr_glutAttachMenuglutBitmapCharacterptr_glutBitmapCharacterglutBitmapStringptr_glutBitmapStringglutButtonBoxFuncptr_glutButtonBoxFuncglutChangeToMenuEntryptr_glutChangeToMenuEntryglutChangeToSubMenuptr_glutChangeToSubMenu glutCloseFuncptr_glutCloseFuncglutCopyColormapptr_glutCopyColormapglutDestroyMenuptr_glutDestroyMenuglutDestroyWindowptr_glutDestroyWindowglutDetachMenuptr_glutDetachMenu glutDialsFuncptr_glutDialsFuncglutDisplayFuncptr_glutDisplayFunc glutEntryFuncptr_glutEntryFuncglutEstablishOverlayptr_glutEstablishOverlayglutExit ptr_glutExitglutForceJoystickFuncptr_glutForceJoystickFuncglutFullScreenptr_glutFullScreenglutFullScreenToggleptr_glutFullScreenToggleglutGameModeStringptr_glutGameModeStringglutHideOverlayptr_glutHideOverlayglutHideWindowptr_glutHideWindowglutIconifyWindowptr_glutIconifyWindow glutIdleFuncptr_glutIdleFuncglutIgnoreKeyRepeatptr_glutIgnoreKeyRepeatglutInit ptr_glutInitglutInitContextFlagsptr_glutInitContextFlagsglutInitContextVersionptr_glutInitContextVersionglutInitContextProfileptr_glutInitContextProfileglutInitDisplayModeptr_glutInitDisplayModeglutInitDisplayStringptr_glutInitDisplayStringglutInitWindowPositionptr_glutInitWindowPositionglutInitWindowSizeptr_glutInitWindowSizeglutJoystickFuncptr_glutJoystickFuncglutKeyboardFuncptr_glutKeyboardFuncglutKeyboardUpFuncptr_glutKeyboardUpFuncglutLeaveGameModeptr_glutLeaveGameModeglutLeaveMainLoopptr_glutLeaveMainLoop glutMainLoopptr_glutMainLoopglutMainLoopEventptr_glutMainLoopEventglutMenuDestroyFuncptr_glutMenuDestroyFuncglutMenuStateFuncptr_glutMenuStateFuncglutMenuStatusFuncptr_glutMenuStatusFuncglutMotionFuncptr_glutMotionFunc glutMouseFuncptr_glutMouseFuncglutMouseWheelFuncptr_glutMouseWheelFuncglutOverlayDisplayFuncptr_glutOverlayDisplayFuncglutPassiveMotionFuncptr_glutPassiveMotionFunc glutPopWindowptr_glutPopWindowglutPositionWindowptr_glutPositionWindowglutPostOverlayRedisplayptr_glutPostOverlayRedisplayglutPostRedisplayptr_glutPostRedisplayglutPostWindowOverlayRedisplay"ptr_glutPostWindowOverlayRedisplayglutPostWindowRedisplayptr_glutPostWindowRedisplayglutPushWindowptr_glutPushWindowglutRemoveMenuItemptr_glutRemoveMenuItemglutRemoveOverlayptr_glutRemoveOverlayglutReportErrorsptr_glutReportErrorsglutReshapeFuncptr_glutReshapeFuncglutReshapeWindowptr_glutReshapeWindow glutSetColorptr_glutSetColor glutSetCursorptr_glutSetCursorglutSetIconTitleptr_glutSetIconTitleglutSetKeyRepeatptr_glutSetKeyRepeat glutSetMenuptr_glutSetMenuglutSetMenuDataptr_glutSetMenuData glutSetOptionptr_glutSetOption glutSetWindowptr_glutSetWindowglutSetWindowDataptr_glutSetWindowDataglutSetWindowTitleptr_glutSetWindowTitleglutSetupVideoResizingptr_glutSetupVideoResizingglutShowOverlayptr_glutShowOverlayglutShowWindowptr_glutShowWindow glutSolidConeptr_glutSolidCone glutSolidCubeptr_glutSolidCubeglutSolidCylinderptr_glutSolidCylinderglutSolidDodecahedronptr_glutSolidDodecahedronglutSolidIcosahedronptr_glutSolidIcosahedronglutSolidOctahedronptr_glutSolidOctahedronglutSolidRhombicDodecahedron ptr_glutSolidRhombicDodecahedronglutSolidSierpinskiSpongeptr_glutSolidSierpinskiSpongeglutSolidSphereptr_glutSolidSphereglutSolidTeapotptr_glutSolidTeapotglutSolidTetrahedronptr_glutSolidTetrahedronglutSolidTorusptr_glutSolidTorusglutSpaceballButtonFuncptr_glutSpaceballButtonFuncglutSpaceballMotionFuncptr_glutSpaceballMotionFuncglutSpaceballRotateFuncptr_glutSpaceballRotateFuncglutSpecialFuncptr_glutSpecialFuncglutSpecialUpFuncptr_glutSpecialUpFuncglutStopVideoResizingptr_glutStopVideoResizingglutStrokeCharacterptr_glutStrokeCharacterglutStrokeStringptr_glutStrokeStringglutSwapBuffersptr_glutSwapBuffersglutTabletButtonFuncptr_glutTabletButtonFuncglutTabletMotionFuncptr_glutTabletMotionFunc glutTimerFuncptr_glutTimerFunc glutUseLayerptr_glutUseLayer glutVideoPanptr_glutVideoPanglutVideoResizeptr_glutVideoResizeglutVisibilityFuncptr_glutVisibilityFuncglutWMCloseFuncptr_glutWMCloseFuncglutWarpPointerptr_glutWarpPointerglutWindowStatusFuncptr_glutWindowStatusFunc glutWireConeptr_glutWireCone glutWireCubeptr_glutWireCubeglutWireCylinderptr_glutWireCylinderglutWireDodecahedronptr_glutWireDodecahedronglutWireIcosahedronptr_glutWireIcosahedronglutWireOctahedronptr_glutWireOctahedronglutWireRhombicDodecahedronptr_glutWireRhombicDodecahedronglutWireSierpinskiSpongeptr_glutWireSierpinskiSpongeglutWireSphereptr_glutWireSphereglutWireTeapotptr_glutWireTeapotglutWireTetrahedronptr_glutWireTetrahedron glutWireTorusptr_glutWireTorusglutGetMenuDataptr_glutGetMenuDataglutGetWindowDataptr_glutGetWindowDatarelationToStringmarshalMouseButtonunmarshalMouseButton glut_WHEEL_UPglut_WHEEL_DOWNGetter PrimGetter makeGetter simpleGetlayerGet deviceGet Data.MaybeJustNothingghc-prim GHC.TypesTrueFalsegameModeCapabilityToString%gameModeCapabilityDescriptionToStringdescriptionsToString simpleCapStr generalCapStrgetBoolmarshalGlobalKeyRepeatunmarshalGlobalKeyRepeatmarshalPerWindowKeyRepeatunmarshalPerWindowKeyRepeat reportError solidCubewireCubesolidDodecahedronwireDodecahedronwireIcosahedronsolidIcosahedronsolidOctahedronwireOctahedronwireTetrahedronsolidTetrahedron solidSphere wireSphere solidConewireCone solidTorus wireTorus solidTeapot wireTeapotsolidSierpinskiSpongewireSierpinskiSpongesierpinskiSpongeGLUTstrokeFontGLUTbitmapFontmarhshalBitmapFontmarhshalStrokeFont bitmapStringwithChar strokeString bitmapLength strokeLength bitmapHeight strokeHeight$fFontStrokeFont$fFontBitmapFontsetColorMapEntrygetColorMapEntry setHasOverlay getHasOverlay marshalLayerunmarshalLayer setLayerInUse getLayerInUseOpenGL-2.6.0.0 getWindowsetWindowPositiongetWindowPosition setWindowSize getWindowSize marshalCursorunmarshalCursor setCursor getCursorgetFullScreenModesetFullScreenMode getModeValuesi2b getDeviceInfo CallbackTable CallbackID CallbackType MouseWheelCBCloseCBIdleCB MenuStatusCB JoystickCBTabletButtonCBTabletMotionCBDialsCB ButtonBoxCBSpaceballButtonCBSpaceballRotateCBSpaceballMotionCB SpecialUpCB SpecialCBWindowStatusCB VisibilityCB CrossingCBPassiveMotionCBMotionCBMouseCB KeyboardUpCB KeyboardCB ReshapeCBOverlayDisplayCB DisplayCBisGlobal getCallbackIDgetCurrentWindowtheCallbackTablegetCallbackTablemodifyCallbackTableemptyCallbackTablelookupInCallbackTabledeleteFromCallbackTableaddToCallbackTabletheCleanupListgetCleanupListsetCleanupList theScavenger getScavengerregisterForCleanup setCallback currentMenu isRealMenu addMenuEntry addSubMenu attachMenu_ detachMenu_ValueMenuID MenuTable DestructorMenuHook detachMenu traverseMenu makeCallback addMenuItem saveExcursion theMenuTable getMenuTablemodifyMenuTableemptyMenuTablelookupInMenuTabledeleteFromMenuTableaddToMenuTableTabletButtonCallbackTabletMotionCallback DialsCallbackButtonBoxCallbackSpaceballButtonCallbackSpaceballRotationCallbackSpaceballMotionCallbackunmarshalVisibilityunmarshalWindowStatesetKeyboardCallbacksetKeyboardUpCallbackunmarshalSpecialKeysetSpecialCallbacksetSpecialUpCallbackunmarshalKeyStatesetMouseCallbackunmarshalModifiers getModifierssetKeyboardMouseCallbackunmarshalCrossingsetSpaceballCallbacksetSpaceballMotionCallbacksetSpaceballRotationCallbacksetSpaceballButtonCallbacksetDialAndButtonBoxCallbacksetButtonBoxCallbacksetDialsCallbacksetTabletCallbacksetTabletMotionCallbacksetTabletButtonCallbackunmarshalJoystickButtonsunmarshalMenuUsagemarshalActionOnWindowCloseunmarshalActionOnWindowCloseGHC.NumNumgetInitialWindowPositionsetInitialWindowPositiongetInitialWindowSizesetInitialWindowSizemarshalDisplayModegetInitialDisplayModei2dmsi2dmsWithoutRGBAsetInitialDisplayModehandleMultisampling toBitfieldsamplesPerPixelgetSamplesPerPixeldefaultSamplesPerPixelssetSamplesPerPixelmultisamplingSupporteddisplayCapabilityToString$displayCapabilityDescriptionToStringmarshalRenderingContextunmarshalRenderingContextmarshalDirectRenderingunmarshalDirectRenderinggetContextVersionsetContextVersionmarshalContextFlaggetContextFlagsi2cfssetContextFlagsmarshalContextProfilegetContextProfilesi2cpssetContextProfilesObjectName-1.0.0.0Data.ObjectName isObjectNamedeleteObjectNamesgenObjectNames ObjectNameOpenGLRaw-1.3.0.0*Graphics.Rendering.OpenGL.Raw.Core31.Types GLbooleanGLubyteGLbyteGLcharGLclampdGLdoubleGLclampfGLfloat GLbitfieldGLenumGLuintGLintGLsizeiGLhalfGLushortGLshortGLintptr GLsizeiptrStateVar-1.0.0.0 Data.StateVar$~!$=!$~ makeStateVarmakeSettableStateVarmakeGettableStateVarget HasGetterGettableStateVar$= HasSetterSettableStateVarStateVarTensor-1.0.0.1 Data.TensorVertex1Vertex2Vertex3Vertex4Vector1Vector2Vector3Vector4*Graphics.Rendering.OpenGL.GLU.TessellationWeightedProperties TriangulationTriangleVertexTriangle Tolerance TessellatorTessWindingPositiveTessWindingOddTessWindingNonzeroTessWindingNegativeTessWindingAbsGeqTwo TessWinding SimplePolygon SimpleContour PrimitivePolygonContoursComplexPolygonComplexContourCombinerAnnotatedVertex&Graphics.Rendering.OpenGL.GLU.QuadricsStacksSlicesRadiusNoTextureCoordinatesGenerateTextureCoordinatesQuadricTexture QuadricStyleSphere PartialDiskDiskCylinderQuadricPrimitiveOutsideInsideQuadricOrientation QuadricNormalSilhouetteStyle PointStyle LineStyle FillStyleQuadricDrawStyleLoopsHeightAngle#Graphics.Rendering.OpenGL.GLU.NURBS TrimmingPoint PathLengthParametricErrorObjectPathLengthObjectParametricErrorDomainDistanceSamplingMethodNURBSVertexCallbackNURBSObjNURBSNormalCallbackNURBSTessellator NURBSRenderer NURBSModeNURBSEndCallbackNURBSColorCallbackNURBSBeginCallbackOutlinePolygon OutlinePatchFill' DisplayMode',Graphics.Rendering.OpenGL.GLU.ErrorsInternalTesselatorError TableTooLargeStackUnderflow StackOverflow OutOfMemory NURBSError InvalidValueInvalidOperationInvalidFramebufferOperation InvalidEnum ErrorCategoryError'Graphics.Rendering.OpenGL.GL.VertexSpecVertexComponentvertexAttrib4vvertexAttrib4NvvertexAttrib4NvertexAttrib4IvvertexAttrib4I vertexAttrib4vertexAttrib3vvertexAttrib3NvvertexAttrib3NvertexAttrib3IvvertexAttrib3I vertexAttrib3vertexAttrib2vvertexAttrib2NvvertexAttrib2NvertexAttrib2IvvertexAttrib2I vertexAttrib2vertexAttrib1vvertexAttrib1NvvertexAttrib1NvertexAttrib1IvvertexAttrib1I vertexAttrib1VertexAttribComponent vertexAttribv vertexAttrib VertexAttribvertexvvertexVertexTexCoordComponent texCoordvtexCoordmultiTexCoordv multiTexCoordTexCoordsecondaryColorvsecondaryColorSecondaryColorNormalComponentnormalvnormalToNormalizedFloatToFloat KeepIntegralIntegerHandlingIndexComponentindexvindexIndexFogCoordComponent fogCoordvfogCoordFogCoordColorComponentcolorvcolorColor-Graphics.Rendering.OpenGL.GL.VertexAttributes TexCoord4 TexCoord3 TexCoord2 TexCoord1Normal3Index1 FogCoord1Color4Color3)Graphics.Rendering.OpenGL.GL.VertexArraysVertexArrayDescriptorStrideNumIndexBlocks NumComponentsNumArrayIndicesV3fV2fT4fV4f T4fC4fN3fV4fT2fV3f T2fN3fV3f T2fC4ubV3f T2fC4fN3fV3f T2fC3fV3fN3fV3fC4ubV3fC4ubV2f C4fN3fV3fC3fV3fInterleavedArrays VertexArrayTextureCoordArraySecondaryColorArray NormalArrayMatrixIndexArray IndexArray FogCoordArray EdgeFlagArray ColorArrayClientArrayType ArrayIndex/Graphics.Rendering.OpenGL.GL.VertexArrayObjectsVertexArrayObject.Graphics.Rendering.OpenGL.GL.TransformFeedbackSeperateAttribsInterleavedAttribsTransformFeedbackBufferMode2Graphics.Rendering.OpenGL.GL.Texturing.TextureUnit TextureUnit4Graphics.Rendering.OpenGL.GL.Texturing.TextureTargetTextureRectangleTextureCubeMap Texture3D Texture2D Texture1D TextureTargetTextureCubeMapPositiveZTextureCubeMapPositiveYTextureCubeMapPositiveXTextureCubeMapNegativeZTextureCubeMapNegativeYTextureCubeMapNegativeX CubeMapTarget4Graphics.Rendering.OpenGL.GL.Texturing.Specification TextureSize3D TextureSize2D TextureSize1DTexturePosition3DTexturePosition2DTexturePosition1DLevelCompressedTextureFormatCompressedPixelDataBorder.Graphics.Rendering.OpenGL.GL.Texturing.Queries TextureQuery:Graphics.Rendering.OpenGL.GL.Texturing.PixelInternalFormat StencilIndex8 StencilIndex4StencilIndex16 StencilIndex1 SRGBAlpha SRGB8Alpha8SRGB8SRGBSLuminanceAlphaSLuminance8Alpha8 SLuminance8 SLuminanceRGBA8UIRGBA8IRGBA8RGBA4RGBA32UIRGBA32IRGBA32FRGBA2RGBA16UIRGBA16IRGBA16FRGBA16RGBA12RGBA'RGB9E5RGB8UIRGB8IRGB8RGB5A1RGB5RGB4RGB32UIRGB32IRGB32FRGB16UIRGB16IRGB16FRGB16RGB12RGB10A2RGB10RGB'RG8UIRG8IRG8RG32UIRG32IRG32FRG16UIRG16IRG16FRG16R8UIR8IR8R3G3B2R32UIR32IR32FR16UIR16IR16FR16 R11fG11fB10fLuminanceAlpha'Luminance8Alpha8 Luminance8Luminance6Alpha2Luminance4Alpha4 Luminance4Luminance16Alpha16 Luminance16Luminance12Alpha4Luminance12Alpha12 Luminance12 Luminance' Intensity8 Intensity4 Intensity16 Intensity12 IntensityDepthComponent32fDepthComponent32DepthComponent24DepthComponent16DepthComponent'Depth32fStencil8CompressedSignedRedRGTC1CompressedSignedRG_RGTC2CompressedSRGBAlphaCompressedSRGBCompressedSLuminanceAlphaCompressedSLuminanceCompressedRedRGTC1 CompressedRedCompressedRG_RGTC2CompressedRGBA CompressedRGB CompressedRGCompressedLuminanceAlphaCompressedLuminanceCompressedIntensityCompressedAlphaAlpha8Alpha4Alpha16Alpha12Alpha'PixelInternalFormat1Graphics.Rendering.OpenGL.GL.Texturing.ParametersNearestLinear' TextureFilterLequalRGequalRTextureCompareOperatorRepeatedMirrored RepetitionMinificationFilterMagnificationFilterLODRepeat ClampToEdge ClampToBorderClampClamping.Graphics.Rendering.OpenGL.GL.Texturing.ObjectsTexturePriority TextureObject3Graphics.Rendering.OpenGL.GL.Texturing.EnvironmentsReplaceModulateDecalCombine4CombineBlend AddUnsignedTextureFunctionSubtractReplace' Modulate' InterpolateDot3RGBADot3RGB AddUnsigned' AddSignedTextureCombineFunction PrimaryColorPrevious CurrentUnitCrossbarConstantSrcArg3Arg2Arg1Arg0ArgNumArg.Graphics.Rendering.OpenGL.GL.Shaders.VariablesUnsignedIntVec4UnsignedIntVec3UnsignedIntVec2UnsignedIntSamplerCubeUnsignedIntSampler3DUnsignedIntSampler2DArrayUnsignedIntSampler2DUnsignedIntSampler1DArrayUnsignedIntSampler1D UnsignedInt'SamplerCubeShadow SamplerCube Sampler3DSampler2DShadowSampler2DRectShadow Sampler2DRectSampler2DArrayShadowSampler2DArray Sampler2DSampler1DShadowSampler1DArrayShadowSampler1DArray Sampler1DIntVec4IntVec3IntVec2IntSamplerCube IntSampler3DIntSampler2DArray IntSampler2DIntSampler1DArray IntSampler1DInt' FloatVec4 FloatVec3 FloatVec2 FloatMat4x3 FloatMat4x2 FloatMat4 FloatMat3x4 FloatMat3x2 FloatMat3 FloatMat2x4 FloatMat2x3 FloatMat2Float'BoolVec4BoolVec3BoolVec2Bool VariableType,Graphics.Rendering.OpenGL.GL.Shaders.UniformUniformLocationUniformComponentuniformvuniformUniform,Graphics.Rendering.OpenGL.GL.Shaders.Shaders VertexShaderShaderFragmentShader,Graphics.Rendering.OpenGL.GL.Shaders.ProgramProgram&Graphics.Rendering.OpenGL.GL.SelectionName HitRecord(Graphics.Rendering.OpenGL.GL.SavingStateViewportAttributesTransformAttributesTextureAttributesStencilBufferAttributesScissorAttributesPolygonStippleAttributesPolygonAttributesPointAttributesPixelModeAttributesMultisampleAttributesListAttributesLineAttributesLightingAttributesHintAttributes FogAttributesEvalAttributesEnableAttributesDepthBufferAttributesCurrentAttributesColorBufferAttributesAllServerAttributesAccumBufferAttributesServerAttributeGroupVertexArrayAttributesPixelStoreAttributesAllClientAttributesClientAttributeGroup'Graphics.Rendering.OpenGL.GL.RenderModeSelectRenderFeedback RenderMode'Graphics.Rendering.OpenGL.GL.RectanglesrectvrectRect+Graphics.Rendering.OpenGL.GL.ReadCopyPixels CopyStencil CopyDepth CopyColor PixelCopyTypeBlitStencilBufferBlitDepthBufferBlitColorBufferBlitFramebufferMask&Graphics.Rendering.OpenGL.GL.RasterPosWindowPosComponent windowPosv windowPos WindowPosRasterPosComponent rasterPosv rasterPos RasterPos4Graphics.Rendering.OpenGL.GL.QueryUtils.VertexAttribAttribLocation)Graphics.Rendering.OpenGL.GL.QueryObjects"TransformFeedbackPrimitivesWritten SamplesPassedPrimitivesGenerated QueryTarget QueryObject QueryWait QueryNoWaitQueryByRegionWaitQueryByRegionNoWaitConditionalRenderMode*Graphics.Rendering.OpenGL.GL.PrimitiveMode Triangles TriangleStrip TriangleFanQuads QuadStripPolygonPointsLines LineStripLineLoop PrimitiveMode%Graphics.Rendering.OpenGL.GL.PolygonswithPolygonStipplewithNewPolygonStipplenewPolygonStipplegetPolygonStippleComponentsPolygonStippleGLpolygonstipple(Graphics.Rendering.OpenGL.GL.PolygonModePointLineFill PolygonMode,Graphics.Rendering.OpenGL.GL.PixellikeObjectpixellikeObjTarParamPixellikeObjectTarget StencilSizeRedSize GreenSize DepthSizeBlueSize AlphaSizePixellikeObjectGetPName1Graphics.Rendering.OpenGL.GL.PixelRectangles.SinkSink PassThrough2Graphics.Rendering.OpenGL.GL.PixelRectangles.ResetResetNoReset:Graphics.Rendering.OpenGL.GL.PixelRectangles.PixelTransferPreConvolutionPostConvolutionPostColorMatrixPixelTransferStage9Graphics.Rendering.OpenGL.GL.PixelRectangles.PixelStorageUnpackPackPixelStoreDirection5Graphics.Rendering.OpenGL.GL.PixelRectangles.PixelMapSToSRToRIToRIToIIToGIToBIToAGToGBToBAToAPixelMapTargetPixelMapComponent withPixelMapwithNewPixelMap newPixelMapgetPixelMapComponentsPixelMap GLpixelmap8Graphics.Rendering.OpenGL.GL.PixelRectangles.Convolution Separable2D Convolution2D Convolution1DConvolutionTargetReplicateBorderReduceConstantBorderConvolutionBorderMode7Graphics.Rendering.OpenGL.GL.PixelRectangles.ColorTableProxyNoProxyTextureColorTableStagePostConvolutionColorTableStagePostColorMatrixColorTableStageColorTableStageTextureCubeMapColorTableTextureColorTableTexture3DColorTableTexture2DColorTableTexture1DColorTableSharedTexturePalettePostConvolutionColorTablePostColorMatrixColorTable ColorTable(Graphics.Rendering.OpenGL.GL.PixelFormatYCBCR422 StencilIndex RedIntegerRed RGInteger RGBInteger RGBAIntegerRGBARGBRGLuminanceAlpha Luminance GreenIntegerGreenFourTwoTwoRevAverage FourTwoTwoRevFourTwoTwoAverage FourTwoTwo DepthStencilDepthComponent ColorIndexCMYKACMYK BlueIntegerBlue BGRInteger BGRAIntegerBGRABGR AlphaIntegerAlphaABGR PixelFormat&Graphics.Rendering.OpenGL.GL.PixelData PixelData(Graphics.Rendering.OpenGL.GL.PerFragmentOpZero OpReplaceOpKeepOpInvert OpIncrWrapOpIncr OpDecrWrapOpDecr StencilOpXorSet OrReverse OrInvertedOrNorNoopNandInvertEquiv CopyInvertedCopyClear AndReverse AndInvertedAndLogicOpMinMax FuncSubtractFuncReverseSubtractFuncAdd BlendEquation"Graphics.Rendering.OpenGL.GL.Hints UnpackCMYKTextureCompression PolygonSmooth PointSmoothPerspectiveCorrectionPackCMYK LineSmoothGenerateMipmapFog HintTargetNicestFastestDontCareHintModeCGraphics.Rendering.OpenGL.GL.FramebufferObjects.RenderbufferObjectsSamples RenderbufferRenderbufferTargetRenderbufferSizeRenderbufferObject7Graphics.Rendering.OpenGL.GL.FramebufferObjects.QueriesTextureAttachmentRenderbufferAttachmentDefaultFramebufferAttachmentAttachmentObjectTypeBGraphics.Rendering.OpenGL.GL.FramebufferObjects.FramebufferObjectsReadFramebuffer FramebufferDrawFramebufferFramebufferTarget Unsupported UndefinedIncompleteReadBufferIncompleteMultiSampleIncompleteMissingAttachmentIncompleteDrawBufferCompleteFramebufferStatusFramebufferObject;Graphics.Rendering.OpenGL.GL.FramebufferObjects.AttachmentsStencilAttachmentDepthStencilAttachmentDepthAttachmentColorAttachmentFramebufferObjectAttachmentunmarshalAttachmentSafeunmarshalAttachmentmarshalAttachmentFramebufferAttachment(Graphics.Rendering.OpenGL.GL.FramebufferDrawBufferIndex StencilBuffer DepthBuffer ColorBuffer AccumBuffer ClearBufferReturnMultLoadAddAccumAccumOp Graphics.Rendering.OpenGL.GL.FogLinearExp2ExpFogMode EyeRadialEyePlaneSignedEyePlaneAbsoluteFogDistanceMode FragmentDepth FogCoordSrc%Graphics.Rendering.OpenGL.GL.FeedbackVertex4DColorTextureVertex3DColorTexture Vertex3DColorVertex3DVertex2D VertexInfoPassThroughValueTwoDThreeDColorTexture ThreeDColorThreeDFourDColorTexture FeedbackType PolygonToken PointTokenPassThroughToken LineTokenLineResetTokenDrawPixelTokenCopyPixelToken BitmapToken FeedbackToken ColorInfo!Graphics.Rendering.OpenGL.GL.Face FrontAndBackFrontBackFace'Graphics.Rendering.OpenGL.GL.EvaluatorsOrder MapDescriptor withNewMap2withMap2newMap2getMap2ComponentsMap2 withNewMap1withMap1newMap1getMap1ComponentsMap1GLmap2GLmap1%Graphics.Rendering.OpenGL.GL.EdgeFlagBeginsInteriorEdgeBeginsBoundaryEdgeEdgeFlag#Graphics.Rendering.OpenGL.GL.Domain evalCoord2v evalCoord2 evalCoord1v evalCoord1Domain)Graphics.Rendering.OpenGL.GL.DisplayListsCompileAndExecuteCompileListMode DisplayList%Graphics.Rendering.OpenGL.GL.DataTypeUnsignedShort88RevUnsignedShort88UnsignedShort565RevUnsignedShort565UnsignedShort5551UnsignedShort4444RevUnsignedShort4444UnsignedShort1555Rev UnsignedShortUnsignedInt8888RevUnsignedInt8888UnsignedInt5999RevUnsignedInt248UnsignedInt2101010RevUnsignedInt10f11f11fRevUnsignedInt1010102 UnsignedIntUnsignedByte332UnsignedByte233Rev UnsignedByteTwoBytes ThreeBytesShortInt HalfFloat FourBytesFloat32UnsignedInt248RevFloatDoubleByteBitmapDataType SphereMap ReflectionMap ObjectLinear NormalMap EyeLinearTextureGenModeTSRQTextureCoordNamePlaneRowMajor ColumnMajor MatrixOrderTexture Projection Modelview MatrixPalette MatrixModescalerotateMatrixComponent withNewMatrix withMatrix newMatrixgetMatrixComponentsMatrixGLmatrix)Graphics.Rendering.OpenGL.GL.ControlPoint ControlPoint/Graphics.Rendering.OpenGL.GL.ComparisonFunctionNotequalNeverLessLequalGreaterGequalEqualAlwaysComparisonFunction#Graphics.Rendering.OpenGL.GL.ColorsSmoothFlat ShadingModel SingleColorSeparateSpecularColorLightModelColorControlLightCWCCWFrontFaceDirectionSpecularEmissionDiffuseAmbientAndDiffuseAmbientColorMaterialParameterClampVertexColorClampReadColorClampFragmentColor ClampTarget FixedOnlyClampOnClampOff ClampMode%Graphics.Rendering.OpenGL.GL.Clipping ClipPlaneName'Graphics.Rendering.OpenGL.GL.CapabilityEnabledDisabled Capability*Graphics.Rendering.OpenGL.GL.BufferObjects WriteToBufferReadFromBufferTransferDirectionRangeStartIndex RangeSizeOffsetUnmappingFailed MappingFailedMappingFailureLengthIndexedTransformFeedBackbufferIndexedBufferTarget StreamRead StreamDraw StreamCopy StaticRead StaticDraw StaticCopy DynamicRead DynamicDraw DynamicCopy BufferUsageTransformFeedbackBufferPixelUnpackBufferPixelPackBufferElementArrayBufferCopyWriteBufferCopyReadBuffer ArrayBuffer BufferTargetWriteBitUnsychronizedBitReadBitInvalidateRangeBitInvalidateBufferBitFlushExplicitBitBufferRangeAccessBit BufferRange BufferObject BufferIndex WriteOnly ReadWriteReadOnly BufferAccess'Graphics.Rendering.OpenGL.GL.BufferMode RightBuffers NoBuffers LeftBuffersFrontRightBufferFrontLeftBuffer FrontBuffersFrontAndBackBuffersFBOColorAttachmentBackRightBufferBackLeftBuffer BackBuffers AuxBuffer BufferMode+Graphics.Rendering.OpenGL.GL.BlendingFactorZeroSrcColorSrcAlphaSaturateSrcAlphaOneMinusSrcColorOneMinusSrcAlphaOneMinusDstColorOneMinusDstAlphaOneMinusConstantColorOneMinusConstantAlphaOneDstColorDstAlpha ConstantColor ConstantAlphaBlendingFactor triangulate tessellateextractContours renderQuadricwithNURBSVertexCallback withNURBSObjwithNURBSNormalCallbackwithNURBSEndCallbackwithNURBSColorCallbackwithNURBSBeginCallback trimmingCurvesetSamplingMethod setNURBSModesetNURBSCullingsetDisplayMode'pwlCurve nurbsSurface nurbsCurvenurbsBeginEndTrimnurbsBeginEndSurfacenurbsBeginEndCurveloadSamplingMatricescheckForNURBSError(Graphics.Rendering.OpenGL.GLU.Mipmapping scaleImagebuild2DMipmapsbuild1DMipmaps$Graphics.Rendering.OpenGL.GLU.Matrix unProject4 unProjectproject pickMatrix perspectiveortho2DlookAt,Graphics.Rendering.OpenGL.GLU.Initialization gluVersion gluExtensions$Graphics.Rendering.OpenGL.GLU.ErrorserrorsrgbaModemaxTextureUnitcurrentVertexAttribIucurrentVertexAttribIcurrentVertexAttribcurrentTextureCoordscurrentSecondaryColor currentNormal currentIndexcurrentFogCoord currentColorvertexAttribPointervertexAttribArrayprimitiveRestartIndexNVprimitiveRestartIndexmultiDrawElementsmultiDrawArraysmaxElementsVerticesmaxElementsIndices lockArraysinterleavedArraysdrawRangeElements drawElements drawArrays clientStateclientActiveTexture arrayPointer arrayElementbindVertexArrayObject$unmarshalTransformFeedbackBufferModetransformFeedbackBufferModesetTransformFeedbackVaryings&maxTransformFeedbackSeparateComponents#maxTransformFeedbackSeparateAttribs)maxTransformFeedbackInterleavedComponents"marshalTransformFeedbackBufferModegetTransformFeedbackVaryings$getTransformFeedbackVaryingMaxLengthgetTransformFeedbackVaryingendTransformFeedbackbeginTransformFeedback texSubImage3D texSubImage2D texSubImage1D texImage3D texImage2D texImage1DmaxTextureSize getTexImagegetCompressedTexImagecopyTexSubImage3DcopyTexSubImage2DcopyTexSubImage1DcopyTexImage2DcopyTexImage1DcompressedTextureFormatscompressedTexSubImage3DcompressedTexSubImage2DcompressedTexSubImage1DcompressedTexImage3DcompressedTexImage2DcompressedTexImage1D textureSize3D textureSize2D textureSize1DtextureSharedSizetextureRGBASizestextureProxyOKtextureLuminanceSizetextureInternalFormattextureIntensitySizetextureIndexSizetextureDepthBitstextureCompressedImageSize textureBordertextureWrapModetextureObjectLODBiastextureMaxAnisotropytextureLevelRangetextureLODRange textureFiltertextureCompareOperatortextureCompareModetextureCompareFailValuetextureBorderColormaxTextureMaxAnisotropymaxTextureLODBiasgenerateMipmapdepthTextureModetextureResidenttexturePrioritytextureBindingprioritizeTexturesareTexturesResidenttextureUnitLODBiastextureFunctionrgbScale constantColor combineRGB combineAlphaargRGBargAlpha alphaScale2Graphics.Rendering.OpenGL.GL.Texturing.ApplicationtexturevendorshadingLanguageVersionrenderer glExtensionscontextProfileuniformLocationactiveUniforms shaderSource shaderInfoLogshaderDeleteStatus compileStatus compileShadervalidateStatusvalidateProgramprogramInfoLogprogramDeleteStatus linkStatus linkProgramgetFragDataLocationcurrentProgrambindFragDataLocationattachedShaders+Graphics.Rendering.OpenGL.GL.Shaders.LimitsmaxVertexUniformComponentsmaxVertexTextureImageUnitsmaxVertexAttribsmaxVaryingFloatsmaxTextureImageUnitsmaxTextureCoordsmaxFragmentUniformComponentsmaxCombinedTextureImageUnits,Graphics.Rendering.OpenGL.GL.Shaders.AttribsattribLocation activeAttribswithNamenameStackDepthmaxNameStackDepthloadName getHitRecordspreservingClientAttribpreservingAttrib renderMode readPixels readBuffer copyPixelsblitFramebufferrasterPositionUnclippedcurrentRasterTexCoordscurrentRasterSecondaryColorcurrentRasterPositionValidcurrentRasterPositioncurrentRasterIndexcurrentRasterDistancecurrentRasterColor withQuerywithConditionalRenderqueryResultAvailable queryResultqueryCounterBitsmarshalQueryTargetendQueryendConditionalRender currentQuery beginQuerybeginConditionalRenderpolygonStipple polygonSmoothpolygonOffsetPointpolygonOffsetLinepolygonOffsetFill polygonOffset polygonModecullFace#Graphics.Rendering.OpenGL.GL.PointsvertexProgramPointSizesmoothPointSizeRangesmoothPointSizeGranularity pointSprite pointSmoothpointSizeRange pointSizepointFadeThresholdSizepointDistanceAttenuationaliasedPointSizeRange:Graphics.Rendering.OpenGL.GL.PixelRectangles.Rasterization pixelZoom drawPixels rgbaScalergbaBias mapStencilmapColor indexShift indexOffset depthScale depthBias swapBytesskipRows skipPixels skipImages rowLength rowAlignmentlsbFirst imageHeightpixelMapRGBAToRGBApixelMapIToRGBApixelMapmaxPixelMapTable3Graphics.Rendering.OpenGL.GL.PixelRectangles.Minmax resetMinmaxminmax getMinmax6Graphics.Rendering.OpenGL.GL.PixelRectangles.HistogramresetHistogramhistogramRGBASizeshistogramLuminanceSize histogram getHistogramseparableFilter2DmaxConvolutionWidthmaxConvolutionHeightgetSeparableFilter2DgetConvolutionFilter2DgetConvolutionFilter1DcopyConvolutionFilter2DcopyConvolutionFilter1DconvolutionWidthconvolutionHeightconvolutionFilterScaleconvolutionFilterBiasconvolutionFilter2DconvolutionFilter1DconvolutionBorderMode convolution getColorTablecopyColorTablecopyColorSubTablecolorTableWidthcolorTableStagecolorTableScalecolorTableRGBASizescolorTableLuminanceSizecolorTableIntesitySizecolorTableFormatcolorTableBias colorTable colorSubTable stencilTeststencilOpSeparate stencilOpstencilFuncSeparate stencilFuncscissorsampleCoveragesampleAlphaToOnesampleAlphaToCoveragelogicOpdither depthFunc depthBoundsblendFuncSeparate blendFuncblendEquationSeparate blendEquation blendColor blendBufferblend alphaFuncactiveStencilFace)Graphics.Rendering.OpenGL.GL.LineSegmentssmoothLineWidthRangesmoothLineWidthGranularity lineWidth lineStipple lineSmoothaliasedLineWidthRangehintrenderbufferStorageMultiSamplerenderbufferStoragenoRenderbufferObjectbindRenderbufferrenderbufferWidthrenderbufferStencilSizerenderbufferSamplesrenderbufferRedSizerenderbufferInternalFormatrenderbufferHeightrenderbufferGreenSizerenderbufferDepthSizerenderbufferBlueSizerenderbufferAlphaSizeattachmentTextureLevelattachmentTextureLayerattachmentTextureCubeMapTargetattachmentStencilSizeattachmentRedSizeattachmentObjectTypeattachmentObjectattachmentGreenSizeattachmentDepthSizeattachmentBlueSizeattachmentAlphaSizeframebufferStatusdefaultFramebufferObjectbindFramebufferframebufferTextureLayerframebufferTexture3DframebufferTexture2DframebufferTexture1DframebufferRenderbufferfboaToBufferModefboaFromBufferMode stereoBufferstencilMaskSeparate stencilMask stencilBitsrgbaSignedComponentsrgbaBitsmaxDrawBuffers indexMask drawBuffers drawBufferi drawBuffer doubleBuffer depthMask depthBits colorMaski colorMask clearStencil clearIndex clearDepth clearColor clearAccumclear auxBuffers accumBitsaccumfogModefogIndexfogDistanceMode fogCoordSrcfogColorfogfinish passThroughgetFeedbackTokensmaxOrdermapGrid2mapGrid1map2map1 evalPoint2 evalPoint1 evalMesh2 evalMesh1 autoNormalmaxListNestinglistMode listIndexlistBaseisListgenLists deleteLists defineNewList defineList callListscallListunsafePreservingMatrixtextureGenMode stackDepth rescaleNormalpreservingMatrixortho normalize multMatrixmaxViewportDims maxStackDepth matrixModematrix loadIdentityfrustum depthRange depthClamp currentMatrix activeTexturevertexProgramTwoSide spotExponent spotDirection spotCutoffspecular shadeModelpositionmaxSpotExponent maxShininess maxLightsmaterialSpecularmaterialShininessmaterialEmissionmaterialDiffusematerialColorIndexesmaterialAmbientAndDiffusematerialAmbientlightinglightModelTwoSidelightModelLocalViewerlightModelColorControllightModelAmbientlight frontFacediffuse colorMaterial clampColor attenuationambient%Graphics.Rendering.OpenGL.GL.ColorSumcolorSum maxClipPlanes clipPlanewithMappedBuffervertexAttribArrayBufferBinding unmapBuffermapBufferRange mapBufferindexedBufferStartindexedBufferSizeflushMappedBufferRange bufferSubData bufferMapped bufferData bufferAccessbindBufferRangebindBufferBase bindBufferarrayBufferBindingmaxColorAttachments$Graphics.Rendering.OpenGL.GL.Bitmaps%Graphics.Rendering.OpenGL.GL.BeginEndunsafeRenderPrimitiverenderPrimitiveprimitiveRestartedgeFlag)Graphics.Rendering.OpenGL.GL.Antialiasing subpixelBitssamples sampleBuffers multisample