From: Fay J. F C. AAC/W. <joh...@eg...> - 2003-08-28 17:32:13
|
Chris, I'm looking at your changes and have some irrelevant notes. (1) Your version has "const unsigned char *" as the argument for "glutBitmapLength", "glutStrokeLength", "glutBitmapString", and "glutStrokeString". The official version has "const char *" for these arguments. GLUT uses the unsigned and I think we should change to match GLUT as you have done. (2) Your version has removed "MenuStateCallback" and replaced it with "MenuStatusCallback". Neither one appears to be used although both are assigned (the former in a deprecated function). What gives? (3) In "freeglut_geometry.c" on line 431 there is an irrelevant definition of "scl" in the official version. It should go ... after the 2.0.0 release. (4) In "freeglut_glutfont_definitions.c" on line 40, the official version includes "freeglut_internal.h" while your version does not. Instead, your version has seven lines of defining either the Windows or Unix/X11 target. I could go either way but lean towards the official version. (Of course, what you do with your own personal copy of "freeglut" is your own business.) Does anybody else have an opinion? (5) You seem to have moved the "Modifiers" variable from the Window structure to the fgState structure. Frankly, this makes a lot of sense since the control/alt/shift keys will be pressed for all windows and will not vary window by window. I suggest that we make this change after the 2.0.0 release. You are right, the windows/menus changes are pretty extensive. I will be going over them shortly. John F. Fay joh...@eg... |
From: Fay J. F C. AAC/W. <joh...@eg...> - 2003-08-28 20:25:10
|
By the way, the idle callback is not supposed to be called when a menu is active. Verbum sapienti. John F. Fay joh...@eg... -----Original Message----- From: Chris Purnell [mailto:cj...@lo...] Sent: Thursday, August 28, 2003 2:00 PM To: fre...@li... Subject: Re: [Freeglut-developer] Menus and Current Window On Thu, Aug 28, 2003 at 12:39:43PM -0400, Aleksandar Donev wrote: > Chris Purnell wrote: > > > > From within the menu callback that just got activated (the callback > > > changes the lighting and then the scene is redisplayed). > > > > I've found the problem. > > > > Try using: http://www.lost.org.uk/freeglut/freeglut_menu.c > That fixed that problem, but still most of my codes don't work---they use a > motion callback to set the scaling (zoom in/out, rotate, etc.) and something > is broken there. I will look into it... I've not had any problems relating to motion callbacks. But I did have problems with loosing GL state and a crash when modifing the menus in a menu callback. I've upload a new version: http://www.lost.org.uk/freeglut/freeglut-cjp-20030828.tar.gz -- Christopher John Purnell | I thought I'd found a reason to live http://www.lost.org.uk/ | Just like before when I was a child --------------------------| Only to find that dreams made of sand What gods do you pray to? | Would just fall apart and slip through my hands ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Freeglut-developer mailing list Fre...@li... https://lists.sourceforge.net/lists/listinfo/freeglut-developer |
From: Chris P. <cj...@lo...> - 2003-08-28 20:45:51
|
On Thu, Aug 28, 2003 at 02:12:55PM -0500, Fay John F Contr AAC/WMG wrote: > By the way, the idle callback is not supposed to be called when a menu is > active. Verbum sapienti. Just done a test here and classic glut continues to call the idle callback when a menu is active. -- Christopher John Purnell | I thought I'd found a reason to live http://www.lost.org.uk/ | Just like before when I was a child --------------------------| Only to find that dreams made of sand What gods do you pray to? | Would just fall apart and slip through my hands |
From: Fay J. F C. AAC/W. <joh...@eg...> - 2003-08-28 21:07:09
|
Well, I did a test here and found that GLUT does not call the idle callback when a menu is active. If you run the GLUT Atlantis demo, you find that if you open the menu the animation stops completely. Under "freeglut," if you continue to call the idle callback with an active menu the whales will continue to wiggle but not move. If there is another way to make "freeglut" behave like GLUT in this regard besides disabling the idle callback, I am open to hear it, but I have not heard of any. John F. Fay joh...@eg... -----Original Message----- From: Chris Purnell [mailto:cj...@lo...] Sent: Thursday, August 28, 2003 3:47 PM To: fre...@li... Subject: Re: [Freeglut-developer] Menus and Current Window On Thu, Aug 28, 2003 at 02:12:55PM -0500, Fay John F Contr AAC/WMG wrote: > By the way, the idle callback is not supposed to be called when a menu is > active. Verbum sapienti. Just done a test here and classic glut continues to call the idle callback when a menu is active. -- Christopher John Purnell | I thought I'd found a reason to live http://www.lost.org.uk/ | Just like before when I was a child --------------------------| Only to find that dreams made of sand What gods do you pray to? | Would just fall apart and slip through my hands ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Freeglut-developer mailing list Fre...@li... https://lists.sourceforge.net/lists/listinfo/freeglut-developer |
From: Brian P. <br...@tu...> - 2003-08-28 21:24:52
|
Chris is right, on X anyway. Are you testing on Windows? -Brian Fay John F Contr AAC/WMG wrote: > Well, I did a test here and found that GLUT does not call the idle > callback when a menu is active. If you run the GLUT Atlantis demo, you > find that if you open the menu the animation stops completely. Under > "freeglut," if you continue to call the idle callback with an active > menu the whales will continue to wiggle but not move. If there is > another way to make "freeglut" behave like GLUT in this regard besides > disabling the idle callback, I am open to hear it, but I have not heard > of any. > > John F. Fay > joh...@eg... > > > > -----Original Message----- > From: Chris Purnell [mailto:cj...@lo...] > Sent: Thursday, August 28, 2003 3:47 PM > To: fre...@li... > Subject: Re: [Freeglut-developer] Menus and Current Window > > > On Thu, Aug 28, 2003 at 02:12:55PM -0500, Fay John F Contr AAC/WMG wrote: > > > By the way, the idle callback is not supposed to be called when a > menu is > > active. Verbum sapienti. > > Just done a test here and classic glut continues to call the idle callback > when a menu is active. > > -- > Christopher John Purnell | I thought I'd found a reason to live > http://www.lost.org.uk/ | Just like before when I was a child > --------------------------| Only to find that dreams made of sand > What gods do you pray to? | Would just fall apart and slip through my hands > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Freeglut-developer mailing list > Fre...@li... > https://lists.sourceforge.net/lists/listinfo/freeglut-developer > |
From: Fay J. F C. AAC/W. <joh...@eg...> - 2003-08-28 21:14:25
|
A couple more notes on Chris Purnell's modifications to "freeglut": (1) In "freeglut_font.c", since I would like to change the arguments of the string functions from "const char *" to "const unsigned char *", we will no longer need to test that the character is positive on lines 351 and 425. (2) In "freeglut_init.c" on line 71 we check "#ifdef TARGET_HOST_WIN32". Chris' version checks "#if TARGET_HOST_WIN32". I think the difference is significant and I think we should go with Chris' version immediately. What do other people think? (3) In "freeglut_window.c" on line 307, Chris has moved the check for "window" not being null up from line 325. This is eminently sensible and we should do it. John F. Fay joh...@eg... |
From: Chris P. <cj...@lo...> - 2003-08-28 21:32:21
|
On Thu, Aug 28, 2003 at 04:13:23PM -0500, Fay John F Contr AAC/WMG wrote: > (2) In "freeglut_init.c" on line 71 we check "#ifdef > TARGET_HOST_WIN32". Chris' version checks "#if TARGET_HOST_WIN32". I think > the difference is significant and I think we should go with Chris' version > immediately. What do other people think? The #ifdef is a bug. In freeglut_internal.h TARGET_HOST_WIN32 gets defined to 0 if _WIN32 is not defined. Defined to 0 is still defined so I was getting the wrong code section included. -- Christopher John Purnell | I thought I'd found a reason to live http://www.lost.org.uk/ | Just like before when I was a child --------------------------| Only to find that dreams made of sand What gods do you pray to? | Would just fall apart and slip through my hands |
From: Fay J. F C. AAC/W. <joh...@eg...> - 2003-08-28 21:28:44
|
Yes. How does Atlantis behave on X? On Windows, the moment a menu comes up there is no movement in any window. If I run the Walker demo, the "guy" stops rotating in the Guy window when I open the menu in the Curves window. John F. Fay joh...@eg... -----Original Message----- From: Brian Paul [mailto:br...@tu...] Sent: Thursday, August 28, 2003 4:24 PM To: fre...@li... Subject: Re: [Freeglut-developer] Menus and Current Window Chris is right, on X anyway. Are you testing on Windows? -Brian Fay John F Contr AAC/WMG wrote: > Well, I did a test here and found that GLUT does not call the idle > callback when a menu is active. If you run the GLUT Atlantis demo, you > find that if you open the menu the animation stops completely. Under > "freeglut," if you continue to call the idle callback with an active > menu the whales will continue to wiggle but not move. If there is > another way to make "freeglut" behave like GLUT in this regard besides > disabling the idle callback, I am open to hear it, but I have not heard > of any. > > John F. Fay > joh...@eg... > > > > -----Original Message----- > From: Chris Purnell [mailto:cj...@lo...] > Sent: Thursday, August 28, 2003 3:47 PM > To: fre...@li... > Subject: Re: [Freeglut-developer] Menus and Current Window > > > On Thu, Aug 28, 2003 at 02:12:55PM -0500, Fay John F Contr AAC/WMG wrote: > > > By the way, the idle callback is not supposed to be called when a > menu is > > active. Verbum sapienti. > > Just done a test here and classic glut continues to call the idle callback > when a menu is active. > > -- > Christopher John Purnell | I thought I'd found a reason to live > http://www.lost.org.uk/ | Just like before when I was a child > --------------------------| Only to find that dreams made of sand > What gods do you pray to? | Would just fall apart and slip through my hands > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Freeglut-developer mailing list > Fre...@li... > https://lists.sourceforge.net/lists/listinfo/freeglut-developer > ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Freeglut-developer mailing list Fre...@li... https://lists.sourceforge.net/lists/listinfo/freeglut-developer |
From: Chris P. <cj...@lo...> - 2003-08-28 21:48:32
|
On Thu, Aug 28, 2003 at 04:28:35PM -0500, Fay John F Contr AAC/WMG wrote: > Yes. How does Atlantis behave on X? On Windows, the moment a menu comes up > there is no movement in any window. If I run the Walker demo, the "guy" > stops rotating in the Guy window when I open the menu in the Curves window. On X everthing carries on running when the menu is activated. With the Atlantis demos the fish continue to move and wiggle. -- Christopher John Purnell | I thought I'd found a reason to live http://www.lost.org.uk/ | Just like before when I was a child --------------------------| Only to find that dreams made of sand What gods do you pray to? | Would just fall apart and slip through my hands |
From: Fay J. F C. AAC/W. <joh...@eg...> - 2003-08-28 21:53:11
|
Egad! This calls for a design decision. Which way do we want "freeglut" to behave? Do we want it to follow GLUT's Windows behavior (animation stops when a menu appears) or GLUT's Linux behavior (animation continues when a menu appears)? Steve! We need a decision. John F. Fay joh...@eg... -----Original Message----- From: Chris Purnell [mailto:cj...@lo...] Sent: Thursday, August 28, 2003 4:50 PM To: fre...@li... Subject: Re: [Freeglut-developer] Menus and Current Window On Thu, Aug 28, 2003 at 04:28:35PM -0500, Fay John F Contr AAC/WMG wrote: > Yes. How does Atlantis behave on X? On Windows, the moment a menu comes up > there is no movement in any window. If I run the Walker demo, the "guy" > stops rotating in the Guy window when I open the menu in the Curves window. On X everthing carries on running when the menu is activated. With the Atlantis demos the fish continue to move and wiggle. -- Christopher John Purnell | I thought I'd found a reason to live http://www.lost.org.uk/ | Just like before when I was a child --------------------------| Only to find that dreams made of sand What gods do you pray to? | Would just fall apart and slip through my hands |
From: Brian P. <br...@tu...> - 2003-08-28 22:03:31
|
Fay John F Contr AAC/WMG wrote: > Egad! This calls for a design decision. Which way do we want > "freeglut" to behave? Do we want it to follow GLUT's Windows behavior > (animation stops when a menu appears) or GLUT's Linux behavior > (animation continues when a menu appears)? > > Steve! We need a decision. Personally, I prefer the X behaviour. -Brian |
From: Stephen J B. <sj...@li...> - 2003-08-28 22:06:44
|
Fay John F Contr AAC/WMG wrote: > Egad! This calls for a design decision. Which way do we want > "freeglut" to behave? Do we want it to follow GLUT's Windows behavior > (animation stops when a menu appears) or GLUT's Linux behavior > (animation continues when a menu appears)? > > Steve! We need a decision. *ME* ? It's your project - I just pay the rent! IMHO, if GLUT behaves differently on different OS's - then programs should not have been written to rely on one behavior over the other. Hence, we could legitimately choose to do either what GLUT does on Windoze *or* what it does under Linux - and yet still claim to have improved on the original by making things more portable! I prefer that the fish^H^H^H^H marine mammals keep on swimming when you pop open the menu. ---- Steve Baker (817)619-2657 (Vox/Vox-Mail) L3Com/Link Simulation & Training (817)619-2466 (Fax) Work: sj...@li... http://www.link.com Home: sjb...@ai... http://www.sjbaker.org |
From: Fay J. F C. AAC/W. <joh...@eg...> - 2003-08-28 22:14:28
|
OK, thank you, this is how it will be. The "freeglut" behaviour shall be that the idle callback continues to be called when menus are active. This is a fine project if the guy in charge can't even put changes into CVS! I am at the moment sufficiently frazzled with trying to get a working version out the door that I don't trust myself with design decisions. Would perhaps a small tweak on RC3 (add a few checks for setting the current window, for example) have filled the bill? John F. Fay joh...@eg... -----Original Message----- From: Stephen J Baker [mailto:sj...@li...] Sent: Thursday, August 28, 2003 10:31 AM To: fre...@li... Subject: Re: [Freeglut-developer] Menus and Current Window Fay John F Contr AAC/WMG wrote: > Egad! This calls for a design decision. Which way do we want > "freeglut" to behave? Do we want it to follow GLUT's Windows behavior > (animation stops when a menu appears) or GLUT's Linux behavior > (animation continues when a menu appears)? > > Steve! We need a decision. *ME* ? It's your project - I just pay the rent! IMHO, if GLUT behaves differently on different OS's - then programs should not have been written to rely on one behavior over the other. Hence, we could legitimately choose to do either what GLUT does on Windoze *or* what it does under Linux - and yet still claim to have improved on the original by making things more portable! I prefer that the fish^H^H^H^H marine mammals keep on swimming when you pop open the menu. ---- Steve Baker (817)619-2657 (Vox/Vox-Mail) L3Com/Link Simulation & Training (817)619-2466 (Fax) Work: sj...@li... http://www.link.com Home: sjb...@ai... http://www.sjbaker.org ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Freeglut-developer mailing list Fre...@li... https://lists.sourceforge.net/lists/listinfo/freeglut-developer |
From: Fay J. F C. AAC/W. <joh...@eg...> - 2003-08-28 22:37:45
|
OK, somebody please put this into CVS. John F. Fay joh...@eg... -----Original Message----- From: Chris Purnell [mailto:cj...@lo...] Sent: Thursday, August 28, 2003 4:34 PM To: fre...@li... Subject: Re: [Freeglut-developer] Menus and Current Window On Thu, Aug 28, 2003 at 04:13:23PM -0500, Fay John F Contr AAC/WMG wrote: > (2) In "freeglut_init.c" on line 71 we check "#ifdef > TARGET_HOST_WIN32". Chris' version checks "#if TARGET_HOST_WIN32". I think > the difference is significant and I think we should go with Chris' version > immediately. What do other people think? The #ifdef is a bug. In freeglut_internal.h TARGET_HOST_WIN32 gets defined to 0 if _WIN32 is not defined. Defined to 0 is still defined so I was getting the wrong code section included. -- Christopher John Purnell | I thought I'd found a reason to live http://www.lost.org.uk/ | Just like before when I was a child --------------------------| Only to find that dreams made of sand What gods do you pray to? | Would just fall apart and slip through my hands ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Freeglut-developer mailing list Fre...@li... https://lists.sourceforge.net/lists/listinfo/freeglut-developer |
From: Chris P. <cj...@lo...> - 2003-08-28 18:52:34
|
On Thu, Aug 28, 2003 at 09:52:53AM -0500, Fay John F Contr AAC/WMG wrote: > (2) Your version has removed "MenuStateCallback" and replaced it > with "MenuStatusCallback". Neither one appears to be used although both are > assigned (the former in a deprecated function). What gives? The current CVS freeglut has both but calls neither. I got around to implementing this callback. I'm simply mirroring the original glut behaviour by having glutMenuStatusFunc() and glutMenuStateFunc() set the same internal function pointer. -- Christopher John Purnell | I thought I'd found a reason to live http://www.lost.org.uk/ | Just like before when I was a child --------------------------| Only to find that dreams made of sand What gods do you pray to? | Would just fall apart and slip through my hands |
From: Aleksandar D. <adonev@Math.Princeton.EDU> - 2003-08-29 16:28:36
|
Hello, I am going to be a cry baby again but I want to say that I believe the new menu code is way too broken to be of use. I went off to investigate why some of my programs were displaying blank screens and am finding 1001 problems and can't really tell what is what. The program below (piece of one thereof, in Fortran) is very simple. It opens a window, enables lighting, and then plots something (the teapot in this case). As soon as I comment out the 3 menu creation lines, the program stops working--I get a blank screen. I believe that what is happening is that ALL the GL commands after the glutCreateMenu end up going to the MENU WINDOW GL context, and NOT to my window's context. I verified this hypothesis by moving all the GL commands into the display callback and suddenly things worked again!?! Obviously this is a big bug and needs to be fixed. Also, I strongly believe that the code that handles the "X" (close) button on the window under X needs to be fixed--it may have been badly designed in the old version but it did work. Now it does not. Best, Aleksandar call glutInit call glutInitDisplayMode(ior(GLUT_DOUBLE,ior(GLUT_RGB,GLUT_DEPTH))) winid = glutCreateWindow("View Modifier Demo") !menuid = glutCreateMenu(menu_handler) !call glutAddMenuEntry("quit",QUIT) !call glutAttachMenu(GLUT_RIGHT_BUTTON) call glClearColor(0.8_glclampf, 0.8_glclampf, 0.8_glclampf, 1.0_glclampf) call glLightfv(GL_LIGHT0, GL_DIFFUSE, white) call glLightfv(GL_LIGHT0, GL_POSITION, pos) call glEnable(GL_LIGHTING) call glEnable(GL_LIGHT0) call glEnable(GL_DEPTH_TEST) call glutDisplayFunc(display) call glutMainLoop |
From: Chris P. <cj...@lo...> - 2003-08-29 19:52:50
|
On Fri, Aug 29, 2003 at 12:28:03PM -0400, Aleksandar Donev wrote: > As soon as I comment out the 3 menu creation lines, the program stops > working--I get a blank screen. I believe that what is happening is that ALL > the GL commands after the glutCreateMenu end up going to the MENU WINDOW GL > context, and NOT to my window's context. I verified this hypothesis by moving > all the GL commands into the display callback and suddenly things worked > again!?! As far as I know that was only a problem with the first tarball I uploaded to my website. Did you try the new one? And this is not one of the problems with the current CVS. > Obviously this is a big bug and needs to be fixed. Also, I strongly believe > that the code that handles the "X" (close) button on the window under X needs > to be fixed--it may have been badly designed in the old version but it did > work. Now it does not. It's broken in CVS. Did it ever work? -- Christopher John Purnell | I thought I'd found a reason to live http://www.lost.org.uk/ | Just like before when I was a child --------------------------| Only to find that dreams made of sand What gods do you pray to? | Would just fall apart and slip through my hands |
From: Aleksandar D. <adonev@Math.Princeton.EDU> - 2003-08-30 23:36:36
|
Hello, > As far as I know that was only a problem with the first tarball I uploaded > to my website. Did you try the new one? OK, I just tried the latest CVS and your later version and they both now seem to pass my tests and work well (menus look nice!), other then closing/destroying the window. Sometimes this works, other times it does not. For example, for one program which has a "Quit" menu callback which calls glutLeaveMainLoop(), I get a crash: Program received signal SIGSEGV, Segmentation fault. 0x40122026 in glXMakeCurrent () from /usr/lib/libGL.so.1 Other times it just hangs and does not return to the user. > It's broken in CVS. Did it ever work? Yes, things worked fine in the pre-menu modifications version, including the window close callback and the "x" button on X windows. I will describe another problem I am having in a separate mail. Thanks a lot, Aleks -- __________________________________ Aleksandar Donev Complex Materials Theory Group (http://cherrypit.princeton.edu/) Princeton Materials Institute & Program in Applied and Computational Mathematics @ Princeton University Address: 419 Bowen Hall, 70 Prospect Avenue Princeton University Princeton, NJ 08540-5211 E-mail: ad...@ma... WWW: http://atom.princeton.edu/donev Phone: (609) 258-2775 Fax: (609) 258-1177 __________________________________ |