From 057254a3eaf0f58056b025bf34f6be860cbfbbb4 Mon Sep 17 00:00:00 2001 From: Steve Baker Date: Fri, 27 Jul 2001 07:22:53 +0000 Subject: [PATCH] Added documents. git-svn-id: svn+ssh://svn.code.sf.net/p/freeglut/code/trunk/freeglut/freeglut@10 7f0cb862-5218-0410-a997-914c9d46530a --- doc/download.html | 42 +++++++++++++ doc/freeglut.html | 163 +++++++++++++++++++++++++++++++++++++++++++++++++ doc/freeglut_logo.png | Bin 0 -> 15887 bytes doc/index.html | 101 ++++++++++++++++++++++++++++++ doc/ogl_sm.png | Bin 0 -> 1586 bytes doc/progress.html | 137 +++++++++++++++++++++++++++++++++++++++++ doc/structure.html | 80 ++++++++++++++++++++++++ 7 files changed, 523 insertions(+) create mode 100755 doc/download.html create mode 100755 doc/freeglut.html create mode 100755 doc/freeglut_logo.png create mode 100755 doc/index.html create mode 100755 doc/ogl_sm.png create mode 100755 doc/progress.html create mode 100755 doc/structure.html diff --git a/doc/download.html b/doc/download.html new file mode 100755 index 0000000..b9baab2 --- /dev/null +++ b/doc/download.html @@ -0,0 +1,42 @@ + + + + + + + + + + The freeglut project + + + +
The freeglut logo
+ +
+I upload it, you download it. That's the ying-yang nature of the Buddha. +
+ +

+ +

January the 16th, 2000 +

Here is a list of files you can download: +

+ +

+ +
+ diff --git a/doc/freeglut.html b/doc/freeglut.html new file mode 100755 index 0000000..7357dea --- /dev/null +++ b/doc/freeglut.html @@ -0,0 +1,163 @@ + + + + + + + + + + The freeglut project + + + +
The freeglut logo
+ +
+I am best at what I do worst and for this gift I feel blessed... +
+ +

+ +

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? + +

Back to the main page + +

+ diff --git a/doc/freeglut_logo.png b/doc/freeglut_logo.png new file mode 100755 index 0000000000000000000000000000000000000000..36bf1b5706c4b634dff57a6d6c081584422b7bf7 GIT binary patch literal 15887 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 literal 0 HcmV?d00001 diff --git a/doc/index.html b/doc/index.html new file mode 100755 index 0000000..d511a9b --- /dev/null +++ b/doc/index.html @@ -0,0 +1,101 @@ + + +The freeglut project + + + + + + + + +
+ +
The freeglut logo
+
The free OpenGL utility toolkit
+ +
+ +
+ +

+
Hosted at SourceForge
+
+ +


+ + + + diff --git a/doc/ogl_sm.png b/doc/ogl_sm.png new file mode 100755 index 0000000000000000000000000000000000000000..80baefc644e6a8b419902534ccd89dbf3283b799 GIT binary patch literal 1586 zcmW-ijav+P0LN!5Y{|9RTy-H!x|UVOb7(m)?X}qH)hIF4$q+ShGIx2IkTrSm44rO; zp7Bx{U8l{3%}YjcY@(ZpHczM33sy->swL6=@_jzP@8|pb{R6-Kk>LwRIDO{?LC^@z zqF@v_7@Topd(iBk{?$MZ>w?09AgCmBcz^s52(pt#hDNCe24fqr*=#^xZL?WzR;v|g zFcz!DVzJsRV1by;W{VY+*#z>n1d~Y+1hWN{U^E&{7Enf>=S>#gWab4kZ#01$ZvYq! zg4tjgv_Y@e8%?0}oSx%N94~MnEP!Qs6Uz&%o(GfF0dzWppwkUn#{d|{ATW9(!xdeAflpeW8raXdv0PKu;Rjwe~31cM|Ajwe`vfnZo%XTTW_CrF$iFr5L@ z=`jYtVK{*@dX(W%nnQ5{Ve|;iAvB9%xQgaf6sy7r6^f}4R7tT)N~a`sFvY@@4hDl{ zV1j`W97Zr0L17glCv|dykrT8WXXH37M=-exl`9dsQY9l889~c%042jH8G_3YOr}I+ zN|gsrdtj6YMtZ1F4_GC^X$eM2Fj9gN5;-i!C^1HgQ2-%EaIq2onl@>JW{6XMD^N)p}_!j&OSFIJ{Qx z_sXQmk9~8aU&<#or@S84^UnQL<;-#)rP8{srgDy`X~5-C^O8T{LzPV}F>^<^ZA^R~ znNgZD7I~2Vds9fLqic9(j@QS}2l>N+0rUOh{o0BSmE^s?ACjonKJ1M>cs=Cr;Nq5w zV?WhxE_c4TWA6FN9k<@Jz3uBO7YbMRub*JY9Bp03i;pD7D;~FAKwmc2D15U@DQ(2_ zt?%FWj|jc}k%mT1nfHo}oZjK^;!Eh-B#+W&r{ba6C0(g8lNVdPvOYeHt4Uau)4D0f zXSygO<-(VBFY6ZuWX^2%S~0(9+R3Z;9H(-p@AOc2sym1}^V%nmyK8sQE1}UN>x)Ji zC;Xh^=vU<@?MzvA+-I}t3`9l0i3>b-#C>#=L@{epktJ|!#L%3^F3-Y_<`^RS+w{9F z3j)G^IM*jhl%8AE!urL=B-CxWKQdy}AFCeO}TsF*l;{q8CC-P|Sj_Giz+&STgGmrg{ft@-iFoPjC1?F!L1E)I4x!#32l zHHkD;;=*6D%ZU5G=58wJxt^NV-cV(d4&V4eee}1a*Q@&C0|bq_7N^R({>*a7?E7tH z%!}2_tL8sE=b5*&{pghl|A_GeqeJ%G^|g;KqPxbVm&2kfamT~MvrcE}vbJCKecMo? zIOG_$G%euvg=BB1!>iUj@+>R#uE_syX#E(`rNxB~)m56RWe~Yn_o^Xr7TG%FLFv8l z7aeX_)6!;KcVQdXh}Ev+OJiKqZae#}Pa5AP+)B;Lb6)Frz|P(4MC6RUYq|ioYi2UP?>Z-uUiji`5oQANWtR??~;~mgdUK8`;h+9lqT+OCmn; zK7oO~+fHR}wjEASNO4_n{q#?ALC={nTR-zV%geVcoU8K>5?TKV2$;H*%~HFd-8=JR ze8Qv^$<=Ry6hvG=HLWe)mDl1K z`fu-{lex2rUC+snPm@ZvQh{#Wv)ZmrzBqSLyW037m3msqrsnjyI}Esfu`6rvcbrq_ RIURfgkVYLIT&!B9{U1x41GE4D literal 0 HcmV?d00001 diff --git a/doc/progress.html b/doc/progress.html new file mode 100755 index 0000000..8a84483 --- /dev/null +++ b/doc/progress.html @@ -0,0 +1,137 @@ + + + + + + + + + + The freeglut project + + + +
The freeglut logo
+
+I love reports. They are so full of brightness and hope... +
+ +

+ +

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 :) + +

  • input devices
  • + +

    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
  • + +

    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. + +

  • fonts
  • + +

    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. + +

  • mouse cursor
  • + +

    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. + +

  • indexed color mode
  • + +

    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?) + +

  • planes
  • + +

    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. + +

  • init display string
  • + +

    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... + +

  • game mode
  • + +

    Is the game mode string parsed correctly? + +

  • geometry
  • + +

    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. + +

  • obvious bugs
  • + +

      +
    1. +the visibility/window status function is a conceptual mess. I had to peer into the GLUT +source code to see what actually happens inside. It helped me a bit, but still one of +the visibility tests fails. This is probably the reason for which a window covered by +enlightenment status bar is marked as hidden and does not get redrawn.
    2. + +
    3. +GLX 1.3 spec states that glXChooseVisual() et consortes are deprecated. Should move to +glXFBConfig.
    4. + +
    5. +need to investigate what happens when initial window position is set to (-1,-1). GLUT +specification says, that the window positioning should be left to the window system. +And I do not know how to force it do so...
    6. + +
    7. +I was told it is wrong to have the redisplay forced in the main loop. Is that right?
    8. + +

  • not so obvious bugs
  • + +

      +
    1. some of the tests freeze because they do not generate the glutPostRedisplay() call +every frame. Again, this is somehow handled by GLUT, but I can't see how. And why. + +

      Looks like I've fixed it (or rather hacked it?) by forcing a redisplay every +frame, but this is no good and kills interactiveness of my console :D

    2. + +
+ +Back to the main page + +
+ diff --git a/doc/structure.html b/doc/structure.html new file mode 100755 index 0000000..a460567 --- /dev/null +++ b/doc/structure.html @@ -0,0 +1,80 @@ + + + + + + + + + + The freeglut project + + + +
The freeglut logo
+
+I've got a master plan (to take your API down)... +
+ +

+ +

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. + +

  • freeglut-common
  • + +

    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. + +

  • freeglut-1.3
  • + +

    The GLUT API 3 compatible library. This is what's can be found now in the alpha +release (apart from the bugs, naturally :D). + +

  • freeglut-2.0
  • + +

    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...
+ +

  • glutBitmapHeight() and glutStrokeHeight() -- I have added them to the +freeglut-1.3 API, they are already implemented and should work fine,
  • +
  • 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.?)
  • +
  • texture mapped fonts -- this is easy and could be added to freeglut-1.3, but +would require adding the...
  • +
  • glutHint() function to tell freeglut to: use bitmapped/texture mapped fonts, +draw the menus and mouse cursor using OpenGL/window system, and stuff...
  • +
  • glutMainLoop() termination and glutMainLoopStep() function, which should +perform a single check of pending events, so that one can have his own main loop,
  • +
  • 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,
  • +
  • glutModifierFunc() could be added, or glutGetModifierState() should be allowed +to be called anywhere from the client's code
  • + +

    We might also think about:
    + +

  • freeglut-2.0 modularity via plugins, so that only the features that one +needs get loaded (plugins are easily supported by GLib),
  • +
  • OpenGL state management functions,
  • +
  • audio support -- using OpenAL maybe?,
  • +
  • a real menu system, not only the popups
  • +
  • non-OpenGL but portable UI, something like Java Swing
  • +
  • window-closing confirmation box (this is related to the above)
  • + +

    Following ideas are bad for freeglut:
    + +

  • more accurate timers under Win32 -- this goes to the GLib development afaik
  • +
  • portable file I/O, portable threads, plugins/modules -- this is already +done in GLib
  • + +

    Back to the main page + +
    + -- 1.7.10.4