(discussion via home page)
(contact via home page)
The latest list is available at <a href="http://www.openglean.org/bug.html> http://www.openglean.org/bug.html. Bugs can be reported and resolved through the OpenGLEAN SourceForge project interface.
- File fractals_random.c
- Uses a poor random number generator if rand() is not very good. We should define our own, since rand() is all that the C language will guarantee for us.
- Global glutMainLoop
- Talking to other message systems (e.g., network layers) can be a bit bothersome under the GLUT event model.
- Global glutFullScreen
- It is reported that some window managers (under X) do not let a fullscreen window cover up, e.g., icons. This can probably be handled by making the fullscreen window unmanaged. Alternatively, "stay on top" might work, but "stay on top" has to be tweaked for every window manager and doesn't work on most.
- Global glutInitDisplayMode
- GLUT_OFFSCREEN windows do not work with nVidia cards/drivers. (Both Win32 and X11)
GLUT_BORDERLESS seems to vary by the window manager on X11, though twm (for example) performs very similarly to WIN32. But KDE's window manager (for example) does not let you send keystrokes to borderless windows without OpenGLEAN hacks.
- Global glutPositionWindow
- Menu windows should probably reposition relative to their parents.
- Global glutSetCursor
- Some cursorID values are not yet supported on WIN32.
- Global glutOverlayDisplayFunc
- OpenGLEAN does not implement layers at this time.
- Global glutDeviceGet
- Keyboards are optional, but OpenGLEAN doesn't detect their absence.
Mice are optional, but OpenGLEAN is only able to check for them under WIN32.
Mice can have a varying number of buttons, but OpenGLEAN assumes exactly 3 on UNIX_X11.
HAS/OWNS queries on joysticks don't report how many joysticks are there.
BUTTONS/AXES queres on joysticks only work with the first joystick found.
Only supports querying for one joystick.
- Global glutGetModifiers
- Does not differentiate between the left and right forms of the modifiers.
- Global glutGet
- ogElapsedTime() returns a long, but glutGet() only is defined to return an int.
- Group gamemode
- It behaves differently on different systems. E.g., on some X systems, changing the video mode is impossible. This has led some developers to use game mode as a ``grab the mouse'' mode, without intending a resolution change.
Replacing game mode with a better design was discussed at some length in early 2004.
One idea was to decompose gamemode into component parts and implement them separately, where each part then either succeeds totally or fails totally:
- Resolution change.
- Focus grabbing.
- Settable video frequencies at current resolution. Applications could ask for any or all of these separately. Some of this is already apparently intended in unimplemented API entry points inherited from freeglut. However, the meaning of the entry points is undocumented.
There is no way for game mode to report a partial failure.
There is no way to guarantee cleanup if OpenGLEAN crashes during game mode---or if the client crashes or directly exits, etc.
Some XFree86 releases, with some drivers, can fail to set the video mode properly, resulting in disasterous failure (an unusable display). This is presently somewhat headed off by a compile-time option, but a runtime option would be better, as there may be cases where the user is willing to put up with the risk for some---and only some---OpenGLEAN applications. Since game mode applications are somewhat dim-witted about such user preferences, it seems, an OpenGLEAN runtime control could be desirable.
- Global glutSetColor
- Probably should clone the root window's color map to start.
- Global glutSetWindowStayOnTop
- Should walk the tree of menus and glutPopWindow() (or all windows that are of menu-window type?). (This issue is somewhat obviated as GLUT style menus are slated for removal.)
- Global glutEnterGameMode
- OpenGLEAN may be unable to restore the original settings (this has been observed on WIN32).
- Global glutMenuStatusFunc
- Your callback is not actually called presently.
- Global glutMouseWheelFunc
- Due to lack of information about the mouse, it is impossible to implement this correctly on X at this time. Use of this function limits the portability of your application. (This feature does work on X, just not reliably.) You are encouraged to use the standard, reliable mouse-button reporting, rather than wheel events.
- Global glutWireCuboctahedron
- Normals are computed relative to the square faces, so every facet set of 4 lines has a single normal (and the normals of the triangle faces are ignored).
Supported in part by SourceForge.net.
Generated on Fri Sep 16 20:15:32 2005 for OpenGLEAN by
The OpenGLEAN project is hosted by