?? readme.win
字號:
the CPU spike. (Mar 11, '97) x Fixed subwindow visibility. The visibility callback of subwindows wasn't being called, now it is. (Mar 11, '97) o glutGetHDC, glutGetHWND: In order to support additional dialog boxes, wgl fonts, and a host of other Win32 dependent structures, two functions have been added that operate on the current window in GLUT. The first (glutGetHDC) returns a handle to the current windows device context. The second (glutGetHWND) returns handle to the current window. x Took these out to preserve GLUT portability. (Mar 11, '97) x Fixed the glutWarpPointer() coordinates. Were relative to the screen, now relative to window (client area) origin (which is what they're supposed to be). (Mar 11, '97) o glutCreateMenu, glutIdleFunc: Menu's are modal in Win32. That is, they don't allow any messages to be processed while they are up. Therefore, if an idle function exists, it will not be called while processing a menu. x Fixed! I've put in a timer function that fires every millisecond while a menu is up. The timer function handles idle and timer events only (which should be the only functions that are firing when a menu is up anyway). (Mar 7 '97) x Fixed minor bugs tracked down by the example programs. (Mar 6, '97) x Merged 3.3 GLUT for X11 into 3.2 GLUT for Win32. New code structure allows for EASY merging! o In Win32, the parent gets the right to set the cursor of any of its children. Therefore, a child windows cursor will 'blink' between its cursor and its parent. x Fixed this by checking whether the cursor is in a child window or not. (Feb 28 '97) o On initial bringup apps are getting 2 display callbacks. x Fixed by the Fev 28 re-write. o Some multiple window (not subwindow) functionality is messed up. See the sphere.exe program. x Fixed by the Feb 28 re-write. o GLUT for Win32 supports color index mode ONLY in a paletted display mode (i.e., 256 or 16 color mode). x Fixed this in the re-write. If you can get a color index visual (pixel format) you can use color index mode. (Feb 28 '97) o Quite a few bugs (and incompatibilities) were being caused by the structure that I used in the previous port of GLUT. Therefore I decided that it would be best to "get back to the roots". I re-implemented most of glut trying to stick with the structure layed out by Mark. The result is a much more stable version that passes ALL (!) (except overlay) the tests provided by Mark. In addition, this new structure will allow future enhancements by Mark to be integrated much more quickly into the Win32 version. Also, I'm now ordering the bugs in reverse, so that the most recently fixed appear at the top of the list. (9/8/96) o Changed the glutGetModifiers code to produce an error if not called in the core input callbacks. (9/11/96) o If the alt key is pressed with more than one other modifier key it acts as if it is stuck -- it stays selected until pressed and released again. x Fixed. (9/12/96) o When a submenu is attached to a menu, sometimes a GPF occurs. Fixed. Needed to set the submenu before referencing it's members. o Kenny: Also, one little problem, I attached the menu to the right-button, but when the left-button is pressed I detach it to give the right-button new meaning; if I pop-up the menu and I don't want to select anything, like most users, I click off of the menu to make it disappear. When I do this, I get a GLUT error and the program terminates because I am altering the menu attachment from within the button press while the menu is active. x Fixed. Needed to finish the menu when the user presses the button, not just when a button is released. o GLUT for Win32 emulates a middle mouse button by checking if both mouse buttons are down. This causes a lot of problems with the menu and other multiple mouse button things. x Fixed. No more middle mouse button emulation. Perhaps it would be a good idea to emulate the middle mouse button (if not present) with a key? (9/15/96) o Added code to accept a user defined icon. If no icon is provided, a default icon is loaded. (9/19/96) o Shane: Command line options seem to be screwed up. (9/13) x Fixed. The geometry command line was broken, and so was the gldebug command line. o Fixed a bug in the default glut reshape. It was looking for the parent of the current window and GPF'ing if there wasn't a parent. Put in a check for a parent, and if none is there, use the child. o Idle function sucks up all processor cycles. (9/8/96) x I don't know if this is avoidable. If you have a tight rendering loop, it may be that the processor time is going to be sucked up no matter what. You can add a sleep() to the end of your render loop if you would like to yeild to other processes and you don't care too much about the speed of your rendering loop. If you have Hardware that supports OpenGL (like a 3Dpro card, or GLint card) then this should be less of a problem, since it won't be rendering in software. (9/11/96) o If a window is fully obscured by another window, the visibility callback is NOT called. As far as I can tell, this is a limitation of the Win32 api, but a workaround is being searched for. (9/8/96) x Limitation of the Win32 API o Fixed the entry functions. They only work if the keyboard focus changes. Therefore, in most Win32 systems, the mouse must be pressed outside of the window to get a GLUT_LEFT message and then pressed inside the window for a GLUT_ENTERED message. o Alt modifier key doesn't work with keyboard callback. (9/8/96) x Probably okay, because the glut spec says that these keys can be intercepted by the system (which the alt key is...) (9/11/96) (11/17/96) o glutRemoveMenuItem() not working properly. x Thanks to Gary (grc@maple.civeng.rutgers.edu) for the fix to this one. o Timer functions are messed up. x Thanks to Joseph Galbraith for the fix to this one. (12/9/96) o One (minor) difference came up between the X version of glut and the nt one which you should know about. It is not a new problem, and it concerns co-ords returned to the pointer callbacks. (glutMotionFunc, glutMouseFunc) Under X, you get co-ords in the range 0 +/- 2^15, under NT you get 0..2^16. This is only really a problem when moving above or to the left of the window. eg dragging one pixel ABOVE the window will give :- under x11 : y = -1 under nt : y = 2^16 -1 x Put in fix provided by Shane Clauson. (12/17/96) o Idle functions not working properly for multiple windows. x Fixed this by posting an idle message to every window in the window list when idle. (12/18/96) o glutSetCursor() was misbehaving (lthomas@cco.caltech.edu). x Win32 requires that the hCursor member of the window class be set to NULL when the class is registered or whenever the mouse is moved, the original cursor is replaced (go figure!). Now sets the cursor whenever a WM_MOUSEMOVE message is received, because the WM_SETCURSOR event resets the cursor even when in the decoration area. o Geometry is not being handled quite right. The numbers don't take into account the window decorations. That is, if I say make a window 100x100, then the WHOLE window (not just the client area) is 100x100. Therefore, the client (opengl) area is smaller than 100x100. (9/8/96) x Fixed. Added code to subtract the decoration size on glutGet() and add the decoration size on glutReshapeWindow(). o Multiple glutPostRedisplay() calls are NOT being combined. To get round the "coalesce" problem on glutPostRedisplay, the easiest solution is to roll-your-own coalesce by keeping a global "dirty" flag in the app (eg replace all calls to glutPostRedisplay with image_dirty=TRUE;), and to handle image_dirty with a single glutPostRedisplay in the idle callback when required. (erk - but increases performance for my particular app (a rendering engine on the end of a pipleine with a stream of graphics updates) by a couple of orders of magnitude ! ) (9/8/96) x Added code to coalesce redisplays. Every idle cycle, a check is made to see which windows need redisplay, if they need it, a redisplay is posted. The glutPostRedisplay() call is just a stub that sets a flag.THANKS: Special thanks to the following people: Shane Clauson (sc@datamine.co.uk) [ also provided the GLUT bug icon ] Kenny Hoff (hoff@cs.unc.edu) Richard Readings (readings@reo.dec.com) Paul McQuesten (paulmcq@cs.utexas.edu) Philip Winston (winston@cs.unc.edu) JaeWoo Ahn (jaewoo@violet.seri.re.kr) Joseph Galbraith (galb@unm.edu) Paula Higgins (paulah@unm.edu) Sam Fortin (sfortin@searchtech.com) Chris Vale (chris.vale@autodesk.com) and of course, the original author of GLUT: Mark Kilgard (mjk@hoot.asd.sgi.com) and many others...COPYRIGHT:The OpenGL Utility Toolkit distribution for Win32 (Windows NT &Windows 95) contains source code modified from the original sourcecode for GLUT version 3.3 which was developed by Mark J. Kilgard. Theoriginal source code for GLUT is Copyright 1997 by Mark J. Kilgard.GLUT for Win32 is Copyright 1997 by Nate Robins and is not in thepublic domain, but it is freely distributable without licensing fees.It is provided without guarantee or warrantee expressed or implied.It was ported with the permission of Mark J. Kilgard by Nate Robins.THIS SOURCE CODE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHEREXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIESOR MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.OpenGL (R) is a registered trademark of Silicon Graphics, Inc.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -