| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- <!doctype html public "-//w3c//dtd html 4.0 transitional//en">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <meta name="author" content="Pawel W. Olszta">
- <meta name="copyright" content="Pawel W. Olszta">
- <meta name="description" content="The freeglut project plans">
- <meta name="keywords" content="freeglut glut OpenGL">
- <meta name="GENERATOR" content="WebMaker">
- <title>The freeglut project</title>
- </head>
- <body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E" alink="#FF0000">
- <center><img SRC="freeglut_logo.png" ALT="The freeglut logo" height=106 width=314></center>
- <center><dt><i><font face="Courier New,Courier"><font size=+1>
- I've got a master plan (to take your API down)...
- </font></font></i></dt></center>
- <center><table WIDTH="620" ><tr><td><hr WIDTH="100%">
- <p>After that I get the freeglut Windows port working in an acceptable manner and thus
- getting assured that the freeglut internal structure is valid, I will split the project
- into three separate parts, listed below.
- <br><ul><li><b><font size=+2>freeglut-common</font></b></li>
- <p>The least common denominator between the two freeglut versions. This will probably
- contain most of the internal structure of the toolkit, notably the windows and menu
- hierarchy, and possibly some private helpers.
- <br><br><li><b><font size=+2>freeglut-1.3</font></b></li>
- <p>The GLUT API 3 compatible library. This is what's can be found now in the alpha
- release (apart from the bugs, naturally :D).
- <br><br><li><b><font size=+2>freeglut-2.0</font></b></li>
- <p>Hopefully this will be what GLUT should have been from the beginning. I will give
- a try to design a much more coherent API than GLUT's, aiming at fast games prototyping.
- <a href="mailto:olszta@sourceforge.net">Suggestions</a> are welcome.</ul>
- <br><p>Here's a list of propositions I have received so far. Hopefully this some day
- turns into an API spefication proposal, not just a bunch of meaningless phrases...<br>
- <br><li>glutBitmapHeight() and glutStrokeHeight() -- I have added them to the
- freeglut-1.3 API, they are already implemented and should work fine,</li>
- <br><li>glutBitmapString() and glutStrokeString(), to write (multiple-line maybe)
- strings, starting from the current raster position, using some simple formatting
- maybe (changing the color, font, etc.?)</li>
- <br><li>texture mapped fonts -- this is easy and could be added to freeglut-1.3, but
- would require adding the...</li>
- <br><li>glutHint() function to tell freeglut to: use bitmapped/texture mapped fonts,
- draw the menus and mouse cursor using OpenGL/window system, and stuff...</li>
- <br><li>glutMainLoop() termination and glutMainLoopStep() function, which should
- perform a single check of pending events, so that one can have his own main loop,</li>
- <br><li>multiple joysticks support with multiple axes, buttons, hats, etc. It is a real
- good thing to do, yet the API to do the magic might result in being really twisted,</li>
- <br><li>glutModifierFunc() could be added, or glutGetModifierState() should be allowed
- to be called anywhere from the client's code</li>
- <br><p>We might also think about:<br>
- <br><li>freeglut-2.0 modularity via plugins, so that only the features that one
- needs get loaded (plugins are easily supported by GLib),</li>
- <br><li>OpenGL state management functions,</li>
- <br><li>audio support -- using OpenAL maybe?,</li>
- <br><li>a real menu system, not only the popups</li>
- <br><li>non-OpenGL but portable UI, something like Java Swing</li>
- <br><li>window-closing confirmation box (this is related to the above)</li>
- <br><p>Following ideas are bad for freeglut:<br>
- <br><li>more accurate timers under Win32 -- this goes to the GLib development afaik</li>
- <br><li>portable file I/O, portable threads, plugins/modules -- this is already
- done in GLib</li>
- <br><br><a href="index.html"><i>Back to the main page</i></a>
- </table></center></body></html>
|