diff --git a/.gitattributes b/.gitattributes index 266b160..a9a6983 100644 --- a/.gitattributes +++ b/.gitattributes @@ -10,6 +10,13 @@ freeglut/freeglut/TODO svn_keywords=Author+Date+Id+Revision freeglut/freeglut/acconfig.h svn_keywords=Author+Date+Id+Revision freeglut/freeglut/aclocal.m4 svn_keywords=Author+Date+Id+Revision freeglut/freeglut/configure.in svn_keywords=Author+Date+Id+Revision +freeglut/freeglut/doc/download.html svn_keywords=Author+Date+Id+Revision +freeglut/freeglut/doc/freeglut.html svn_keywords=Author+Date+Id+Revision +freeglut/freeglut/doc/freeglut_logo.png -text +freeglut/freeglut/doc/index.html svn_keywords=Author+Date+Id+Revision +freeglut/freeglut/doc/ogl_sm.png -text +freeglut/freeglut/doc/progress.html svn_keywords=Author+Date+Id+Revision +freeglut/freeglut/doc/structure.html svn_keywords=Author+Date+Id+Revision freeglut/freeglut/freeglut-1.3/.deps/freeglut_callbacks.P svn_keywords=Author+Date+Id+Revision freeglut/freeglut/freeglut-1.3/.deps/freeglut_cursor.P svn_keywords=Author+Date+Id+Revision freeglut/freeglut/freeglut-1.3/.deps/freeglut_display.P svn_keywords=Author+Date+Id+Revision diff --git a/freeglut/freeglut/doc/download.html b/freeglut/freeglut/doc/download.html new file mode 100755 index 0000000..b9baab2 --- /dev/null +++ b/freeglut/freeglut/doc/download.html @@ -0,0 +1,42 @@ + + +
+ + + + + + ++ + January the 16th, 2000 + Here is a list of files you can download: + + +
|
+ + January the 2nd, 2000 + + The alpha version has been released yesterday. Today I have been busy with moving +the project site to the SourceForge. As for +now there will be the web site available and I will give it a try to set up the +freeglut mailing lists. There will be no CVS access available for now (my dialup +internet connection sucks so badly that I wouldn't be able to work on the project). +After I am done with that, I will try announcing the project on www.opengl.org. + + Of other things, there has been rumours floating round the routers and hubs about +Mark Kilgard changing the GLUT's license, but this is unconfirmed. It would be really +cool if he did so, there's no better motivation to work than a bit of sound competition. +As for me, I already put too much work into the freeglut project to terminate it just +now. We'll see what happens next. + + January the 4th, 2000 + + Ho-ho-ho. Freeglut-1.3 works fine with `Tux the Penguin and the Quest for Herring'. +At least that's what Steve Baker, the author, says. Not only that, Steve has provided +us with the joystick code (from his great PLIB project) and numerous hints and tips +about making freeglut more useful (I will try to put the results of our discussion +on the structure page). + + As for other issues -- I promise I will start the Win32 port this weekend. +BTW. -- is there a decent cross compiler for Linux that generates Win32 executables, +so that I don't have to use windows for development? And what about Wine OpenGL +support? + + The package is now some 40kB smaller than the previous one. Did some general +clean ups, removed unnecessary configure scripts in the genfonts directory, +the configure cahce, the Makefiles and so on. Also, I have started introducing +the new internal structure, as described here. + + January the 6th, 2000 + + The missing glutInit() issue seems to be solved. Chris Purnell (fxGLUT author) says +that the GLUT window and menu creation functions call glutInit() if the caller didn't +do that before. + + The enumerations for GLUT_KEY_UP and GLUT_KEY_RIGHT were accidentally swapped. +They should be OK now. Hope the rest is OK :) + + Added two new API calls to freeglut-1.3 -- glutBitmapHeight() and glutStrokeHeight(), +as suggested by Steve Baker. This won't break the GLUT compatibility a lot, and I've +heard it can be useful. Here you go. + + The structure plans page has been updated. The numerous +feature hints from opengl-gamedev-l readers have been added. + + Somebody (Chris?) hinted me that the stroke fonts can be found in the XFree86 +sources. I browsed through it and -- presto. Now I only need to define the stroke fonts +structure (should be very similiar to bitmapped one) and write quite a simple parser. + + I've spent the (late) evening doing the init display string parsing and making +my logics classes homework :) Both is harder than I primarily thought, but fortunately +for me I can commit errors in one of those tasks. Guess which one? Argh. :) + + January the 8th, 2000 + + First of all, both the missing glutInit() and glutGet(GLUT_WINDOW_[X|Y]) issues are +fixed now. The first problem was solved thanks to Chris Purnell, who showed me the way +GLUT dealt with the problem. Good for me there's someone who reads it's source code (I +just felt it would be unfair for me to do so :D). The second problem was solved by +adding a XMoveWindow call just after the window creation and initial mapping. This is +strange. Maybe one of the Xlib calls between the creation and mapping spoiled the +window's coordinates? + + This makes even more GLUT tests work fine. The tests can be found in any decent +GLUT 3.7 distribution. Following tests produce a FAIL message: test18.c (some layer +issues), test19.c (see the GLUT_NORMAL_DAMAGED issue on the progress page), test22.c +(window stacking/visibilty problems), test23.c (glutInitDisplayString() is unfinished), +test25.c (the freeglut fonts differ a bit from GLUT's), test28.c (-iconic handling +is missing(?)). Gee :) + + I've spent another hour doing the glutInitDisplayString(), but it still is far from +being complete. And I've also started gathering information on doing the game mode +stuff. The video mode enumeration in both cases will be painful. + + There is a big issue with the window contents redrawing. Right now, it is forced +every time there are no events pending in the main loop. I know it's wrong, but it +without such an approach some of the test programs freeze soon after starting. Could +someone peer-review the main loop code please? + + I have decided to start the Win32 port this weekend. As for now, the code compiles +under vc++5.0. I will start making it work as soon as I download the pthreads library +and the newest version of GLib for Windows. It was quite a good idea to start the port, +as the Microsoft's compiler generates much more warnings and I had quite a few things +fixed for free. + + January the 9th, 2000 + + Doing the Win32 port all the day... Actually, there is enough code to make it work, +however I am sure only of that it compiles (more or less). I need to download the +pthreads-win32 library to get the GLib working first, and somehow I was unable to +do it during the weekend. Once again -- the Win32 port does not work yet. Oh, and +I need adding the __declspec(dllexport) thing... + + After it starts working, I'll have to clean up the code a bit, I guess... + + January the 10th, 2000 + + Here I am at three o'clock am, half-awake, uploading and downloading things for +freeglut. I never thought I'd be able to force myself getting up that early :) + + January the 16th, 2000 + + Both the flu and a terrible feeling about the dialup bills made me slow down +a bit, the internet activity I mean :). But here I am again uploading the latest +snapshot. The biggest news about it is the Win32 port working, with nearly all +features you can find in the X11 version implemented (still, it needs some debugging). +For the Unix port, game mode support (loosely based on SDL source code posted at Neal +Tringham's www.pseudonymz.demon.co.uk) and numerous bug fixes have been introduced. + + In order to compile the Win32 version, you'll need pthreads-win32 library (see +sourceware.cygnus.org), the GLib-1.2.x (www.gtk.org, I've been using the 1.2.6), +a working native compiler (Microsoft VisualC++ 5.0 in my case), and a bit of patience. +See the project files I've supplied for some definitions needed (FREEGLUT_LIBRARY_BUILD +needs to be declared when building the DLL), and don't forget freeglut joystick code +is making use of Win32 multimedia extensions (link against winmm.lib). + + Be prepared to meet the fact Mesa 3.1 (or at least my compilation) doesn't work very +well with this snapshot -- something's messed up when changing WGL contexts. This is +really strange, as the Microsoft's OpenGL works pretty fine, as does Dominik Behr's +miniGL thing. The assumption is that I've taken some approach that somehow is valid +with Microsoft's drivers, but is not OpenGL conformant. Could anyone check this out +please? + + My plan for next week is to add some lesser features missing, and start learning +maths as the session at my university is coming in really fast :) This way or another, +expect the next release not any sooner than next weekend (given that no nasty bugs get +digged out). + + Argh. Don't be surprised if the code doesn't compile under X-11 other than XFree86.
+It could fail when trying to include the X11/extensions/xf86vmode.h include header,
+in that case just comment out that inclusion line (found in freeglut_internal.h).
+Is there any intelligent way to detect the existence of an include header, and if
+it's autoconf to be the answer, how to use it?
+
+ |
+
+ |
+
+
+ + |
+
+freeglut is a completely OpenSourced alternative to the OpenGL Utility +Toolkit (GLUT) library. GLUT was originally written by Mark Kilgard +to support the sample programs in the second edition OpenGL 'RedBook'. +Since then, GLUT has been used in a wide variety of practical applications +because it is simple, universally available and highly portable. +
+GLUT (and hence freeglut) allows the user to create and manage +windows containing OpenGL contexts on a wide range of platforms and +also read the mouse, keyboard and joystick functions. +
+freeglut is released under the X-Consortium license. +
+ +
+The original GLUT library seems to have been abandoned with the most +recent version (3.7) dating back to August 1998. It's license does +not allow anyone to distribute modified the library code. This would +be OK, if not for the fact that GLUT is getting old and really needs +improvement. Also, GLUT's license is incompatible with some software +distributions (eg Xfree86). +
+ +
+freeglut was originally written by Pawel W. Olszta with contributions +from Andreas Umbach and Steve Baker. Steve is now the official +owner/maintainer of freeglut. +
+ +
+Pawel started freeglut development on December 1st, 1999. +The project is now a virtually 100% replacement for the original +GLUT with only a few departures (such as the abandonment of SGI-specific +features such as the Dials&Buttons box and Dynamic Video Resolution). +
+ +
+Check the +downloads page for the latest release. +
+ +
+Send freeglut related questions to the appropriate freeglut mailing list: +
+ +
+I believe this is enough for a short introduction. +If you are not tired of reading yet, check out the +freeglut project log. Here you will find the +yet-to-be-introduced new project structure +description. Finally, here you will find the latest +work progress report. Since freeglut is +a re-implementation of the original GLUT API, you can find API +documentation at http://www.opengl.org. +
+
+ + January the 16th, 2000 + + It looks like both X11 and Win32 version have reached a comparable usability stage.
+They are still missing many GLUT API 3 features, but the number is getting smaller and
+smaller every day :)
+
+
Keyboard and mouse seems to work well. There is a big guess about the mouse buttons +count under X11 (always 3) -- I must remember to correct the menu activation code if +this shows to be invalid. + + None of the bizarre input devices found in GLUT API is supported (and probably won't). + + Steve Baker contributed the joystick code. It should work fine, as it did in PLIB,
+but I haven't tested it out yet. It might not compile under FreeBSD, as I had to
+convert it from C++ to C and had no possibility to compile it under FreeBSD (the Win32
+version had some typos, but I've already fixed them).
+
+ Pull down menus seem to work. The menu is displayed using OpenGL, so it requires
+the window's contents to be refreshed at an interactive rate, which sometimes does not
+happen. That's why I'll consider adding optional window-system menu navigation later.
+For now -- extensive testing is what I believe should be done with the menu system.
+
+ Bitmap fonts support is done. However it would be good to add two more API functions +-- glutBitmapString() and glutStrokeString(), which should limit the quantity of state +changes when drawing longer strings. + + Good that somebody finally told me where to get the stroke fonts data from... XFree86 +sources contain the ROMAN and MONO ROMAN stroke fonts data. For now stroke fonts are +rendered using the bitmap font GLUT_BITMAP_8_BY_13. + + What has changed is the way the fonts are specified. I moved to the GLUT's strange +way of supplying (fake for freeglut) font data pointers instead of some nice enums. +Hope it helps in achieving the binary compatibility between freeglut and GLUT. + + Added two new API calls: glutBitmapHeight() and glutStrokeHeight(), that return
+a font's height. Hope this doesn't break the GLUT compatibility a lot.
+
+ Need to have own cursor shapes, so that freeglut can pass them to the windowing
+system, draw them using glBitmap() and/or texture mapping. The cursor shapes are very
+probable to be found in XFree86 sources.
+
+ This might work, however I have not tested it yet. glutGetColor/glutSetColor is not
+implemented. Again, looks like a single Xlib call, but there might be some problems
+with the colormap access. Need to switch into indexed color mode some day and check it
+out (does Mesa 3.1 work with indexed color mode?)
+
+ Overlays are not supported, but one of the GLUT conformance tests fails due to +glutLayerGet( GLUT_NORMAL_DAMAGED ) returning FALSE when the window has actually +been damaged. + + Layers would be good for drawing the menus and mouse cursor, as they wouldn't force
+the application redraw to update their state.
+
+ I am in middle of the fight with the init display string. It's parsing OK, now it
+would be cool to make it impress some effects on the display...
+
+ Is the game mode string parsed correctly?
+
+ Andreas Umbach has contributed the cube and sphere code. The teapot rendering is
+done using free SGI code. I have also added the cone rendering, however it is missing
+normal vectors (just as Andrea's wireframed cube does). All of the glut*hedron()
+functions await to be implemented.
+
+
|
+ + 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.
+
+
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.
+
+ The GLUT API 3 compatible library. This is what's can be found now in the alpha
+release (apart from the bugs, naturally :D).
+
+ 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. +Suggestions are welcome. 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... We might also think about: Following ideas are bad for freeglut: Back to the main page + + |