You can subscribe to this list here.
1999 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(12) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2000 |
Jan
(39) |
Feb
(22) |
Mar
(41) |
Apr
(44) |
May
(47) |
Jun
(25) |
Jul
(28) |
Aug
(39) |
Sep
(35) |
Oct
(31) |
Nov
(31) |
Dec
(3) |
2001 |
Jan
(18) |
Feb
(43) |
Mar
(47) |
Apr
(38) |
May
(9) |
Jun
(20) |
Jul
(8) |
Aug
(11) |
Sep
(15) |
Oct
(43) |
Nov
(27) |
Dec
(73) |
2002 |
Jan
(42) |
Feb
(47) |
Mar
(49) |
Apr
(58) |
May
(12) |
Jun
(68) |
Jul
(42) |
Aug
(9) |
Sep
(19) |
Oct
(36) |
Nov
(28) |
Dec
(12) |
2003 |
Jan
(13) |
Feb
(24) |
Mar
(40) |
Apr
(52) |
May
(39) |
Jun
(46) |
Jul
(17) |
Aug
(5) |
Sep
(4) |
Oct
(9) |
Nov
(13) |
Dec
(12) |
2004 |
Jan
(1) |
Feb
(17) |
Mar
(4) |
Apr
(2) |
May
(1) |
Jun
(1) |
Jul
(1) |
Aug
(1) |
Sep
(1) |
Oct
(6) |
Nov
(6) |
Dec
(3) |
2005 |
Jan
|
Feb
|
Mar
(8) |
Apr
(1) |
May
|
Jun
(1) |
Jul
(2) |
Aug
(5) |
Sep
(4) |
Oct
(3) |
Nov
(3) |
Dec
(1) |
2006 |
Jan
(2) |
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
(1) |
Jul
(1) |
Aug
(5) |
Sep
(8) |
Oct
(9) |
Nov
(8) |
Dec
(5) |
2007 |
Jan
(3) |
Feb
(11) |
Mar
(5) |
Apr
(5) |
May
(1) |
Jun
(2) |
Jul
(1) |
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
(5) |
2008 |
Jan
(7) |
Feb
(8) |
Mar
(30) |
Apr
(17) |
May
(20) |
Jun
(8) |
Jul
(19) |
Aug
(10) |
Sep
(7) |
Oct
(2) |
Nov
(1) |
Dec
|
2009 |
Jan
(13) |
Feb
(7) |
Mar
(13) |
Apr
(27) |
May
(95) |
Jun
(77) |
Jul
(43) |
Aug
(25) |
Sep
(24) |
Oct
(32) |
Nov
(6) |
Dec
(6) |
2010 |
Jan
|
Feb
(2) |
Mar
(30) |
Apr
(58) |
May
(60) |
Jun
(72) |
Jul
(32) |
Aug
(45) |
Sep
(19) |
Oct
(4) |
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2016 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Jean-Yves B. <jea...@wa...> - 2000-09-01 15:39:40
|
Hello, Be carefull: parameter of glGenLists(param) is the number of display list you want to create. The return value is an id used to call and delete the display list. In you code, it seems to be the same parameter. I think this code would be better: nName = gl.glGenLists (1); // generate one new list gl.glNewList (nName, gl.GL_COMPILE); // start of display list definition ...<opengl calls>... // I'm currently just using lines & quads gl.glEnd(); // end of display list definition ... gl.glCallList (nName); // draw display list I can't say about linux, but on macintosh and windows (as you said), it runs very well. regards. Jean-Yves. Thorsten Roemer a *crit : > Hi *, > > did someone tried to use Display Lists under Linux ? > On Windows it works, on Linux there's just a black window ?!?!?! > > - Red Hat 6.2 > - Kernel 2.2.14 > - XFree 4.01 > - NVidea GeForce2 Driver 0.94 > > It's something like that: > > int nName = 1; > gl.glDeleteLists (nName, 1); // delete old list > nName = gl.glGenLists (nName); // generate one new list > gl.glNewList (nName, gl.GL_COMPILE); // start of display list definition > > ...<opengl calls>... // I'm currently just using lines & quads > > gl.glEnd(); // end of display list definition > > ... > > gl.glCallList (nName); // draw display list > > Any ideas's, comments ??? > > regards, Thorsten > > -- > Thorsten Roemer > IVISTAR Kommunikationssysteme AG > Ehrenbergstr. 19 / 10245 Berlin > http://www.ivistar.de > > _______________________________________________ > gl4java-usergroup mailing list > gl4...@li... > http://lists.sourceforge.net/mailman/listinfo/gl4java-usergroup -- -------------------------------------- Jean-Yves BRUD POLYQUARK - Ingenierie & Creation 3D Palahou - 31330 LARRA France Tel: 05.62.79.03.33 Fax: 05.62.79.03.38 Mail: jea...@wa... -------------------------------------- |
From: Thorsten R. <tho...@iv...> - 2000-09-01 13:20:47
|
Hi *, did someone tried to use Display Lists under Linux ? On Windows it works, on Linux there's just a black window ?!?!?! - Red Hat 6.2 - Kernel 2.2.14 - XFree 4.01 - NVidea GeForce2 Driver 0.94 It's something like that: int nName = 1; gl.glDeleteLists (nName, 1); // delete old list nName = gl.glGenLists (nName); // generate one new list gl.glNewList (nName, gl.GL_COMPILE); // start of display list definition ...<opengl calls>... // I'm currently just using lines & quads gl.glEnd(); // end of display list definition ... gl.glCallList (nName); // draw display list Any ideas's, comments ??? regards, Thorsten -- Thorsten Roemer IVISTAR Kommunikationssysteme AG Ehrenbergstr. 19 / 10245 Berlin http://www.ivistar.de |
From: Jean-Yves B. <jea...@wa...> - 2000-09-01 08:22:13
|
Hello Swen, I am not sure I can help you in your Mac port but I try to compile the previous release of GL4 (2.3.1.0) made by gerard. To do this, I used MetroWerks Code warrior, and I rebuilt the extension. I made this to find a bug I noticed in July about reading the FRONT buffer that appears only on mac platform. In the package made by gerard, there where several Metrowerks projects: - one to build the extension, - one to build the zip file, - one to build some demos. If I can help more. Sven Goethel a *crit : > It works ! > > :-) > > Using the OpenGLLibrary ! > > I have to clean up things, then I really know > in detail ... how it works :-)) > > E.g: > - using c2pstrcpy (carbon stuff) > for converting the c string to an pascal string !! > > - seeking all symbols out of the lib ... > > TODO: > Now I have to check the Privilege mechanism > to get prviliges for the security manager to > install and ... > > Adding the new visual capabilities like > accumulator bits, etc (new since version 2.3.1 ...) > > Later ... > > Sven > -- > mailto:sgo...@ja... > www : http://www.jausoft.com ; pgp: http://www.jausoft.com/gpg/ > voice : +49-521-2399440, +49-170-2115963; fax: +49-521-2399442 > _______________________________________________ > gl4java-usergroup mailing list > gl4...@li... > http://lists.sourceforge.net/mailman/listinfo/gl4java-usergroup -- -------------------------------------- Jean-Yves BRUD POLYQUARK - Ingenierie & Creation 3D Palahou - 31330 LARRA France Tel: 05.62.79.03.33 Fax: 05.62.79.03.38 Mail: jea...@wa... -------------------------------------- |
From: Sven G. <sgo...@ja...> - 2000-09-01 05:45:12
|
It works ! :-) Using the OpenGLLibrary ! I have to clean up things, then I really know in detail ... how it works :-)) E.g: - using c2pstrcpy (carbon stuff) for converting the c string to an pascal string !! - seeking all symbols out of the lib ... TODO: Now I have to check the Privilege mechanism to get prviliges for the security manager to install and ... Adding the new visual capabilities like accumulator bits, etc (new since version 2.3.1 ...) Later ... Sven -- mailto:sgo...@ja... www : http://www.jausoft.com ; pgp: http://www.jausoft.com/gpg/ voice : +49-521-2399440, +49-170-2115963; fax: +49-521-2399442 |
From: Sven G. <sgo...@ja...> - 2000-09-01 01:44:20
|
... still no success: GetSharedLibrary returns 0 -> OK ! FindSymbol returns -2802 -> cfragNoSymbolErr, symbol not found tried with GetSharedLibrary: OpenGLLibrary OpenGLEngine OpenGLRenderer OpenGLRendererATI here is the source: #ifdef macintosh #include <agl.h> #include <string.h> #include <CodeFragments.h> #include <Errors.h> #define fragNoErr 0 #endif ... #ifdef macintosh Str255 errName; Ptr glLibMainAddr = 0; CFragConnectionID glLibConnectId = 0; CFragSymbolClass glLibSymClass = 0; OSErr returnError=fragNoErr; static char buffer[256]; returnError = GetSharedLibrary("\pOpenGLRenderer", kPowerPCCFragArch, kReferenceCFrag, &glLibConnectId, &glLibMainAddr, errName); printf("GetSharedLibrary errMsg: %s\n", errName); fflush(NULL); if (returnError != fragNoErr) { printf ("GetSharedLibrary Err(%d): Ahhh! Didn't find LIBRARY !\n", returnError); fflush(NULL); } if (returnError == fragNoErr) { sprintf(buffer, "\p%s", func); returnError = FindSymbol (glLibConnectId, buffer, &funcPtr, & glLibSymClass ); if (returnError != fragNoErr) { printf ("GetSharedLibrary Err(%d): Ahhh! Didn't find SYMBOL: %s !\n", returnError, func); fflush(NULL); } returnError = fragNoErr; // fall back to ok mode ... } if (returnError == fragNoErr && glLibConnectId!=NULL) { returnError = CloseConnection(&glLibConnectId); if (returnError != fragNoErr) { printf ("GetSharedLibrary Err(%d): Ahhh! Didn't close LIBRARY !\n", returnError); fflush(NULL); } } lmethod=2; #endif -- mailto:sgo...@ja... www : http://www.jausoft.com ; pgp: http://www.jausoft.com/gpg/ voice : +49-521-2399440, +49-170-2115963; fax: +49-521-2399442 |
From: Virgil W. <vir...@ra...> - 2000-09-01 00:41:16
|
>... > Sounds fine, if all platforms can handle it - I guess so ! > A nice extension to the GLContext class ?! > > So please - just send your code if it is done, piece for piece. > Or will you hold things proprietary ? :o) Once I get the interface worked out the way I like it (and make sure it works on unix), I'd be happy to submit stuff for inclusion. Some stuff might not work on all platforms, though. For instance, I'm not sure the screen resolution changing stuff will work everywhere (under X on unix for instance). Somebody else with more experience might know if you can do this. As such, I doubt that the gl4java project would be interested in such things. I suppose I could always put the platform specific utilities together into their own package. That way, folks could use them if they wanted, but not expect platform specific functionality to be available on all platforms. > > >... > Puhh ... > Well, this looks very native .. may be not interesting. > But all the parts, like timing funcs etc. :-), are portable .. As soon as you can plug a force feedback joystick into HPUX (and have it work), I"ll start to worry about the native code to control the joystick. This stuff is all specific to my project, though, so it has no impact (actual or intended) on gl4java. Since the topic kinda came up, though, I'll point out that I'm not using java because I want my software to run "everywhere". I'm using java because I enjoy using the language. As you might expect, my target audience for a game is 98/ME/2000/NT/linux (in that order). Ignore linux, and I should be using c++/direct3d. But, I like opengl and java better. That's why I'm playing with gl4java. Soon, my senses will probably come around and I'll write the opengl rendering code in C, and only use java for the game logic. But for now, it's nice to prototype everything in java. > > Sorry for being that non diplomatics and shrill, > just want to force you to show me something :o) > No problem. gl4java is a great project/product. I have nothing but the highest regards for everyone involved with the project. Virgil |
From: Sven G. <sgo...@ja...> - 2000-09-01 00:14:48
|
Virgil Wall wrote: > > > Really ? > > I thought that even 50ms precision should be enough > > -> about 20 fps (more or less :-) ! > > The visual quality of using the more precise clock is pretty apparent in > some situations. The human eye is pretty good at catching "glitches" in > anticipated motion. Pretty much any commercial game uses more accurate > timing. > > > > > Well - anyway, if you really have to be that precisous, > > i wonder, how you handle the _very_ unprecise Thread.sleep() call ? > > Because you are guaranteed to be woke up in the right time ... > > Because I time the sleep too. What matters is how much time elapsed since > the last update, Thread.sleep/Thead.yield and all. The only reason to > sleep/yield at all is to prevent thread starvation. So naturally, you have > to take a time stamp, sleep a little, take another timestamp and repeat. > well, it must be interesting ... may be some kind of stereo capabilities will need this quality also. > > > > > (For the curious, the Magician Java opengl crap has a percision timer > > > call... it's pretty each to do, but one might argue that it has nothing > to > > > do with opengl) > > > > > > > Ok ... so why don't you offer your native function > > to GL4Java ? > > Because I'd have to make it work on windows, unix and mac:) (windows and > unix are no problem,btw) > Also, if I'm going to go to all of this trouble, then I'd probably offer > more than just a few timing calls. For instance, I use native calls to > change the screen resolution and make the fullscreen window a top level > window (so it would be possible to do full screen things at some resolution > other than what the user's desktop is set to). > Sounds fine, if all platforms can handle it - I guess so ! A nice extension to the GLContext class ?! So please - just send your code if it is done, piece for piece. Or will you hold things proprietary ? :o) > > > > If the implementation uses the Unix like time functions, > > I guess we can add it for ALL OS/platforms ! > > I love to add it into the next release, if you are fast :-) enough .. > > Currently I am working for: > > - Linux*, Solaris-, SGI/Irix*, HP-UX- > > - MacOS- > > - Win32* > > ports of GL4Java ! > > (* well done, - some platform specific problems, but under work) > > > > Well, please do not make OS depended stuff - if possible. > > Your application should run on all of our GL4Java platforms, right ? > > Nope :) to be honest, I could care less if anyone on HPUX can play this game > or not. If I'm going to care about HPUX then I'm also going to care about > AIX... which isn't in your list. Ooops ... AIX should work also :-) AIX was my official 1st Unix port of GL4Java, but now, i do not have access to this machine, to produce binaries ... All Unix machines with X11R6 (and hopefully gcc), should work ! Just need some time and machine access ... > By the time I'm done, I'm also probably > going to be using DirectInput on windows (so I can poll the keyboard > directly and use a force feedback joystick). I might also use > directsound.... So, a native timing function is the least of my concern. > Puhh ... Well, this looks very native .. may be not interesting. But all the parts, like timing funcs etc. :-), are portable .. > > So just try to minimize special native things, > > I hear you.... and I do just as any person might (its much easier to > manage). > > > and offer them (the native atoms) to the gl4java project - no problem ! > > Virgil Sorry for being that non diplomatics and shrill, just want to force you to show me something :o) Yours, Sven -- mailto:sgo...@ja... www : http://www.jausoft.com ; pgp: http://www.jausoft.com/gpg/ voice : +49-521-2399440, +49-170-2115963; fax: +49-521-2399442 |
From: Virgil W. <vir...@ra...> - 2000-08-31 23:44:13
|
> Really ? > I thought that even 50ms precision should be enough > -> about 20 fps (more or less :-) ! The visual quality of using the more precise clock is pretty apparent in some situations. The human eye is pretty good at catching "glitches" in anticipated motion. Pretty much any commercial game uses more accurate timing. > > Well - anyway, if you really have to be that precisous, > i wonder, how you handle the _very_ unprecise Thread.sleep() call ? > Because you are guaranteed to be woke up in the right time ... Because I time the sleep too. What matters is how much time elapsed since the last update, Thread.sleep/Thead.yield and all. The only reason to sleep/yield at all is to prevent thread starvation. So naturally, you have to take a time stamp, sleep a little, take another timestamp and repeat. > > > (For the curious, the Magician Java opengl crap has a percision timer > > call... it's pretty each to do, but one might argue that it has nothing to > > do with opengl) > > > > Ok ... so why don't you offer your native function > to GL4Java ? Because I'd have to make it work on windows, unix and mac:) (windows and unix are no problem,btw) Also, if I'm going to go to all of this trouble, then I'd probably offer more than just a few timing calls. For instance, I use native calls to change the screen resolution and make the fullscreen window a top level window (so it would be possible to do full screen things at some resolution other than what the user's desktop is set to). > > If the implementation uses the Unix like time functions, > I guess we can add it for ALL OS/platforms ! > I love to add it into the next release, if you are fast :-) enough .. > Currently I am working for: > - Linux*, Solaris-, SGI/Irix*, HP-UX- > - MacOS- > - Win32* > ports of GL4Java ! > (* well done, - some platform specific problems, but under work) > > Well, please do not make OS depended stuff - if possible. > Your application should run on all of our GL4Java platforms, right ? Nope :) to be honest, I could care less if anyone on HPUX can play this game or not. If I'm going to care about HPUX then I'm also going to care about AIX... which isn't in your list. By the time I'm done, I'm also probably going to be using DirectInput on windows (so I can poll the keyboard directly and use a force feedback joystick). I might also use directsound.... So, a native timing function is the least of my concern. > So just try to minimize special native things, I hear you.... and I do just as any person might (its much easier to manage). > and offer them (the native atoms) to the gl4java project - no problem ! Virgil |
From: Sven G. <sgo...@ja...> - 2000-08-31 23:17:32
|
Virgil Wall wrote: > > > Dear Virgil, > > > > I want to encourage you to use GLAnimCanvas, > > or hte way GLAnimCanvas uses the animation update methods ! > > > > I see it in many demos, that you use the threaded sDisplay call for > > default ! > > This only works within a very good native multithreading JVM, > > and does steals a lot of ressources ... > > > > You can see, that the GLAnimCanvas demos does have the option to > > refresh directly (useRepaint... method), but it is disabled for default. > > > > I think, that the repaint method should be fast enough for us ... >= 20 > > fps :-) > > > > Of course, the direct way gives us quiet the same fps, like the native > > application, but we do pay responsiveness of the JVM for it ! > > > > Please check the PERFORMANCE mail from me to the mailinglist, > > and the PerformanceLog's within the demos/MiscDemos directory ! > > > > Yours, Sven > > Well, the reason I have to call sDisplay in a loop is that I need to very > accurately track how long it takes to do the display. > GLAnuimCanvas tracks frames per second by using System.currentTimeMillis(). > This only yields timing accurate to around 16ms (on a good day). This isn't > really that good (for a game anyway). Since I'm writing a game, I want very > high frame rates and I need to know very precisely how long each update > takes (so I can move game objects at the right rate). To solve this > problem, I make a call into a jni library I've written to more accurately > calculate time. (Using the system clock on windows to achieve near > microsecond accuracy). > Also, I do a Thread.sleep() once per loop (in order to set a maximum fps). > > In summary, I pretty much do what GLAnimCanvas does, I just need to be able > to very precisely track how long each update takes (and using > System.currentTimeMillis() isn't good enough) > Really ? I thought that even 50ms precision should be enough -> about 20 fps (more or less :-) ! Well - anyway, if you really have to be that precisous, i wonder, how you handle the _very_ unprecise Thread.sleep() call ? Because you are guaranteed to be woke up in the right time ... > (For the curious, the Magician Java opengl crap has a percision timer > call... it's pretty each to do, but one might argue that it has nothing to > do with opengl) > Ok ... so why don't you offer your native function to GL4Java ? If the implementation uses the Unix like time functions, I guess we can add it for ALL OS/platforms ! I love to add it into the next release, if you are fast :-) enough .. Currently I am working for: - Linux*, Solaris-, SGI/Irix*, HP-UX- - MacOS- - Win32* ports of GL4Java ! (* well done, - some platform specific problems, but under work) Well, please do not make OS depended stuff - if possible. Your application should run on all of our GL4Java platforms, right ? So just try to minimize special native things, and offer them (the native atoms) to the gl4java project - no problem ! > Virgil Sven -- mailto:sgo...@ja... www : http://www.jausoft.com ; pgp: http://www.jausoft.com/gpg/ voice : +49-521-2399440, +49-170-2115963; fax: +49-521-2399442 |
From: Virgil W. <vir...@ra...> - 2000-08-31 22:59:27
|
> Dear Virgil, > > I want to encourage you to use GLAnimCanvas, > or hte way GLAnimCanvas uses the animation update methods ! > > I see it in many demos, that you use the threaded sDisplay call for > default ! > This only works within a very good native multithreading JVM, > and does steals a lot of ressources ... > > You can see, that the GLAnimCanvas demos does have the option to > refresh directly (useRepaint... method), but it is disabled for default. > > I think, that the repaint method should be fast enough for us ... >= 20 > fps :-) > > Of course, the direct way gives us quiet the same fps, like the native > application, but we do pay responsiveness of the JVM for it ! > > Please check the PERFORMANCE mail from me to the mailinglist, > and the PerformanceLog's within the demos/MiscDemos directory ! > > Yours, Sven Well, the reason I have to call sDisplay in a loop is that I need to very accurately track how long it takes to do the display. GLAnuimCanvas tracks frames per second by using System.currentTimeMillis(). This only yields timing accurate to around 16ms (on a good day). This isn't really that good (for a game anyway). Since I'm writing a game, I want very high frame rates and I need to know very precisely how long each update takes (so I can move game objects at the right rate). To solve this problem, I make a call into a jni library I've written to more accurately calculate time. (Using the system clock on windows to achieve near microsecond accuracy). Also, I do a Thread.sleep() once per loop (in order to set a maximum fps). In summary, I pretty much do what GLAnimCanvas does, I just need to be able to very precisely track how long each update takes (and using System.currentTimeMillis() isn't good enough) (For the curious, the Magician Java opengl crap has a percision timer call... it's pretty each to do, but one might argue that it has nothing to do with opengl) Virgil |
From: Virgil W. <vir...@ra...> - 2000-08-31 22:59:17
|
> Dear Virgil, > > I want to encourage you to use GLAnimCanvas, > or hte way GLAnimCanvas uses the animation update methods ! > > I see it in many demos, that you use the threaded sDisplay call for > default ! > This only works within a very good native multithreading JVM, > and does steals a lot of ressources ... > > You can see, that the GLAnimCanvas demos does have the option to > refresh directly (useRepaint... method), but it is disabled for default. > > I think, that the repaint method should be fast enough for us ... >= 20 > fps :-) > > Of course, the direct way gives us quiet the same fps, like the native > application, but we do pay responsiveness of the JVM for it ! > > Please check the PERFORMANCE mail from me to the mailinglist, > and the PerformanceLog's within the demos/MiscDemos directory ! > > Yours, Sven Well, the reason I have to call sDisplay in a loop is that I need to very accurately track how long it takes to do the display. GLAnuimCanvas tracks frames per second by using System.currentTimeMillis(). This only yields timing accurate to around 16ms (on a good day). This isn't really that good (for a game anyway). Since I'm writing a game, I want very high frame rates and I need to know very precisely how long each update takes (so I can move game objects at the right rate). To solve this problem, I make a call into a jni library I've written to more accurately calculate time. (Using the system clock on windows to achieve near microsecond accuracy). Also, I do a Thread.sleep() once per loop (in order to set a maximum fps). In summary, I pretty much do what GLAnimCanvas does, I just need to be able to very precisely track how long each update takes (and using System.currentTimeMillis() isn't good enough) (For the curious, the Magician Java opengl crap has a percision timer call... it's pretty each to do, but one might argue that it has nothing to do with opengl) Virgil |
From: Sven G. <sgo...@ja...> - 2000-08-31 20:29:13
|
No success ... This piece of code, should give us the function-pointer (funcPtr) ! Purpose: The function ptr is achieved dynamically out of the OpenGL implementation ... But: It does not work ... Ideas ? #include <CodeFragments.h> void * LIBAPIENTRY getGLProcAddressHelper(const char * func, int * method, int debug, int verbose ) { void * funcPtr=NULL; int lmethod; ... #ifdef __mac_os /* funcPtr = GetProcAddress(func); */ static char buffer[256]; Ptr glLibMainAddr; CFragConnectionID glLibConnectId; CFragSymbolClass glLibSymClass; GetSharedLibrary ("OpenGLLibrary", kCompiledCFragArch /*kPowerPCCFragArch */, kStubLibraryCFrag, &glLibConnectId, &glLibMainAddr, buffer); printf("GetSharedLibrary errMsg: %s\n", buffer); fflush(NULL); FindSymbol (glLibConnectId, func, &funcPtr, & glLibSymClass ); /* With this peace, or without, just getting NULL ! :-( if(glLibSymClass == kTVectorCFragSymbol) { printf("should be found: symbol class equals kTVectSymbol\n"); } else { printf("should be NOT found: symbol class NOT equals kTVectSymbol\n"); funcPtr = NULL; } */ fflush(NULL); CloseConnection(&glLibConnectId); lmethod=2; #endif -- mailto:sgo...@ja... www : http://www.jausoft.com ; pgp: http://www.jausoft.com/gpg/ voice : +49-521-2399440, +49-170-2115963; fax: +49-521-2399442 |
From: Sven G. <sgo...@ja...> - 2000-08-31 18:16:20
|
aNt wrote: > > > Subject: [gl4java-usergroup] MAC PORT > > > > MAC PORT (MacOS 9.0 PPC) > > ======================== > > > > I got it :-) ! > > I have created a shared library, > > which is installed as an extension ... > > It works. > > nice one, huray :) > > > Now I have still the problem, how I can query the functions (pointers) > > of the OpenGL functions, located within the OpenGL shared library ! > > they all should be in the apple sdk for opengl: > http://www.apple.com/opengl/ > > should all be there. > Nono. The problem is, that I DYNAMICALLY fetch the function pointer out of the GL library, for all GL functions. This is done, because not all GL functions are implemented in some implementations ! So, there are no more dummy nope functions, and no more DLL's for special GL implementations ! For Windows, I use: wglGetProcAddress if not succesfull, I use: LoadLibrary GetProcAddress FreeLibrary For Unix, I use: dlopen dlsym dlclose if on of the following exist (queried by mechanism above), I will use: glXGetProcAddress, or glXGetProcAddressARB, or glXGetProcAddressEXT otherwise, using the dlsym mechanism above ! So - how is it done for the MAC ? Yours, Sven -- mailto:sgo...@ja... www : http://www.jausoft.com ; pgp: http://www.jausoft.com/gpg/ voice : +49-521-2399440, +49-170-2115963; fax: +49-521-2399442 |
From: Sven G. <sgo...@ja...> - 2000-08-31 17:20:32
|
MAC PORT (MacOS 9.0 PPC) ======================== I got it :-) ! I have created a shared library, which is installed as an extension ... It works. Now I have still the problem, how I can query the functions (pointers) of the OpenGL functions, located within the OpenGL shared library ! HELP ! ======= QUESTIONS ! ============= Should I create a FAT binary ? Should I only support PPC ? Whats about MacOSX ? Does my MacOS 9.0 PPC shared library runs under MacOSX ? ... ----------------------------- Please answer ! Thanxs, Sven -- mailto:sgo...@ja... www : http://www.jausoft.com ; pgp: http://www.jausoft.com/gpg/ voice : +49-521-2399440, +49-170-2115963; fax: +49-521-2399442 |
From: Sven G. <sgo...@ja...> - 2000-08-31 03:58:24
|
Virgil Wall wrote: > Ok, I think I've got it figured out. Version 2.3.1.1 was letting me get > away with all sorts of tom foolery. For starters, the paint method of > GLCanvas is being called, which is in turn calling my display. All of this > is happening before I've set up appropriate data structures ,etc. My test > application is written to basically do this kind of thing (rewritten for > simplicity): > > public void run(){ > setupdata(); > while(true){ > modifydata(); > canvas.sDisplay(); > } > } > Dear Virgil, I want to encourage you to use GLAnimCanvas, or hte way GLAnimCanvas uses the animation update methods ! I see it in many demos, that you use the threaded sDisplay call for default ! This only works within a very good native multithreading JVM, and does steals a lot of ressources ... You can see, that the GLAnimCanvas demos does have the option to refresh directly (useRepaint... method), but it is disabled for default. I think, that the repaint method should be fast enough for us ... >= 20 fps :-) Of course, the direct way gives us quiet the same fps, like the native application, but we do pay responsiveness of the JVM for it ! Please check the PERFORMANCE mail from me to the mailinglist, and the PerformanceLog's within the demos/MiscDemos directory ! Yours, Sven -- mailto:sgo...@ja... www : http://www.jausoft.com ; pgp: http://www.jausoft.com/gpg/ voice : +49-521-2399440, +49-170-2115963; fax: +49-521-2399442 |
From: Virgil W. <vir...@ra...> - 2000-08-31 01:48:43
|
> > In addition, after switching to version 2.4.1.0, I see these error messages > > printed out when my app runs: > > GL ERROR : invalid operation > > GL ERROR : 1282 == 0x502 > > > Nobody will be able to help you until you send more detailed info: a piece of > code where is occurs and precise command after this error is signaled (yes it > means putting gljCheckGL() after each OpenGL command in this chunk of code to > spot the bug). > Ok, I think I've got it figured out. Version 2.3.1.1 was letting me get away with all sorts of tom foolery. For starters, the paint method of GLCanvas is being called, which is in turn calling my display. All of this is happening before I've set up appropriate data structures ,etc. My test application is written to basically do this kind of thing (rewritten for simplicity): public void run(){ setupdata(); while(true){ modifydata(); canvas.sDisplay(); } } My display method in canvas draws things based on data structures that it expects will already have been initialized in setupdata(). However, the paint method of GLCanvas is getting called before I start the above thread... and paint is calling display (So I'm trying to draw things based on uninitialized data structures... hence the errors). The paint method of GLCanvas is getting called before I Start my thread since I am creating a frame (and showing it) which holds a GLCanvas before I start the above thread. Additionally, I used to have a quad that had a texture mapped to it, but no bindtexture had been called first. (Silliness, basically) 2.3.1.1 was lets me get away with these two errors without chastising me (not sure why). 2.4.1.0 doesn't (which is a good thing :) Thanks, Virgil > Max |
From: Virgil W. <vir...@ra...> - 2000-08-31 01:13:26
|
> Dear Virgil, > > the classes GLCanvas (and therefor GLAnimCanvas) in the package > gl4java.awt, > adds itself as a mouselistener, to repaint if: > mouseClicked > ... > > So, if you use GLCanvas or (especially) GLAnimCanvas, > just overwrite mouseClicked with a no operation implementation, > or whatever you want to do. > > I made this as an easy solution for the incomplete window refresh, > if an "own window" is used and it is shown again after hidden by another > window. Yep, that did the trick. Guess I've been out of touch for too long. Looking at the 2.3.1.1 source I still have I see that the GLCanvas used to not add itself as a mouselistener. I was calling sDisplay myself so I had not bothered overriding update. So, every mouse click was calling repaint, which caused an eventual update, etc. Overriding mouseClicked (and update and paint for completeness) got rid of the flash. Thanks Sven and A11W, Virgil > > Yours, Sven > -- > mailto:sgo...@ja... > www : http://www.jausoft.com ; pgp: http://www.jausoft.com/gpg/ > voice : +49-521-2399440, +49-170-2115963; fax: +49-521-2399442 > |
From: Virgil W. <vir...@ra...> - 2000-08-31 01:12:33
|
> Dear Virgil, > > the classes GLCanvas (and therefor GLAnimCanvas) in the package > gl4java.awt, > adds itself as a mouselistener, to repaint if: > mouseClicked > ... > > So, if you use GLCanvas or (especially) GLAnimCanvas, > just overwrite mouseClicked with a no operation implementation, > or whatever you want to do. > > I made this as an easy solution for the incomplete window refresh, > if an "own window" is used and it is shown again after hidden by another > window. Yep, that did the trick. Guess I've been out of touch for too long. Looking at the 2.3.1.1 source I still have I see that the GLCanvas used to not add itself as a mouselistener. I was calling sDisplay myself so I had not bothered overriding update. So, every mouse click was calling repaint, which caused an eventual update, etc. Overriding mouseClicked (and update and paint for completeness) got rid of the flash. Thanks Sven and A11W, Virgil > > Yours, Sven > -- > mailto:sgo...@ja... > www : http://www.jausoft.com ; pgp: http://www.jausoft.com/gpg/ > voice : +49-521-2399440, +49-170-2115963; fax: +49-521-2399442 > |
From: Sven G. <sgo...@ja...> - 2000-08-30 22:21:58
|
Virgil Wall wrote: > > I have not spent much time investigating this, however I have been using > gl4java 2.3.1.1 and just recently switched to version 2.4.1.0. > After switching to 2.4.1.0 if I click with the mouse pointer rapidly in a > test app that is drawing an animation, I see a screen flash. The flash is > worse if the window is made larger. It's also easier to notice if the > window has a light colored background (a black background makes it hard to > detect). > > When I run the same test app under 2.3.1.1, no flash occurs. > > Anyone else noticed this behavior? > > (Note that my test application is a game, that's why I'm clicking rapidly. > Also, note that it doesn't matter if I have a mouseListener registered or > not) > > Thanks, > Virgil Wall > Dear Virgil, the classes GLCanvas (and therefor GLAnimCanvas) in the package gl4java.awt, adds itself as a mouselistener, to repaint if: mouseClicked ... So, if you use GLCanvas or (especially) GLAnimCanvas, just overwrite mouseClicked with a no operation implementation, or whatever you want to do. I made this as an easy solution for the incomplete window refresh, if an "own window" is used and it is shown again after hidden by another window. Yours, Sven -- mailto:sgo...@ja... www : http://www.jausoft.com ; pgp: http://www.jausoft.com/gpg/ voice : +49-521-2399440, +49-170-2115963; fax: +49-521-2399442 |
From: Sven G. <sgo...@ja...> - 2000-08-30 22:00:19
|
Max Gilead wrote: > > Virgil Wall wrote: > > > In addition, after switching to version 2.4.1.0, I see these error messages > > printed out when my app runs: > > GL ERROR : invalid operation > > GL ERROR : 1282 == 0x502 > > > > I don't see these when using version 2.3.1.1. > > > > Any idea what they mean? > > Nobody will be able to help you until you send more detailed info: a piece of > code where is occurs and precise command after this error is signaled (yes it > means putting gljCheckGL() after each OpenGL command in this chunk of code to > spot the bug). > ... where glGetError is allowed ... !!! gljCheckGL() exists within the default implementation of: - GLAnimCanvas: - init - display gljCheckGL calls the OpenGL command glGetError, so it is restricted like glGetError is restricted ! The GL ERROR number which is printed is the error, glGetError receives .. You may want to add a Exception e.printStackTrace(...), if gljCheckError returns true ! Yours, Sven -- mailto:sgo...@ja... www : http://www.jausoft.com ; pgp: http://www.jausoft.com/gpg/ voice : +49-521-2399440, +49-170-2115963; fax: +49-521-2399442 |
From: Max G. <gi...@li...> - 2000-08-30 18:57:36
|
Virgil Wall wrote: > In addition, after switching to version 2.4.1.0, I see these error messages > printed out when my app runs: > GL ERROR : invalid operation > GL ERROR : 1282 == 0x502 > > I don't see these when using version 2.3.1.1. > > Any idea what they mean? Nobody will be able to help you until you send more detailed info: a piece of code where is occurs and precise command after this error is signaled (yes it means putting gljCheckGL() after each OpenGL command in this chunk of code to spot the bug). Max -- Max Gilead (gi...@li...) http://3d.linart.krakow.pl/OfficinaArtificialis ----------------------------------------------------------------------------- -- Duck season! Rabbit season! Duck season! Rabbit season! ELMER SEASON!!! -- |
From: Sven G. <sgo...@ja...> - 2000-08-30 10:42:17
|
Dear Martin, this sounds great ! I have generated the SGI and Solaris port on your machine either, but I have some problems with the Solaris port. Can you check the symbols.mak file and/or the way I do generate the native libs ? It looks like, that the SGI port works, but somebody should test it lokally .... I need some help with the Mac ! I have downloaded the free Mac compiler & dev environment. But it looks very time consuming, to do a makefile ... Do you have some examples ? I have a Q: If we use an own created window, e.g. because the visual of the native java window does not fit our needs, the window refresh command is not send, if another overlapping window disappears. So I have added a mouse-click event to redraw the OpenGL component. The overlapped part is not refreshed automatically ... Do you use the dynamically GL function achievemend (like GL4Java does today), or do you use statically binding ? And so on .... thanxs in advance, sven -- mailto:sgo...@ja... www : http://www.jausoft.com ; pgp: http://www.jausoft.com/gpg/ voice : +49-521-2399440, +49-170-2115963; fax: +49-521-2399442 |
From: Artiste on t. W. <a1...@So...> - 2000-08-30 07:17:16
|
Virgil Wall wrote: > > In addition, after switching to version 2.4.1.0, I see these error messages > printed out when my app runs: > GL ERROR : invalid operation > GL ERROR : 1282 == 0x502 > > I don't see these when using version 2.3.1.1. > > Any idea what they mean? > > Thanks, > Virgil Wall I am making a game too (http://perso.club-internet.fr/b_lamy). I think the click calls a repaint (through AWT refrshing event - not mouse listener), in a different thread that your game's one (the AWT event thread). If your game calls a rendering at the same time, there may be a synchronization problem, leading to openGL error and bad rendering (the flash). This is just an idea, but i think you should disable AWT rendering in your game's canvas, if your game is rendering 3D permanently, by adding : public void update(Graphics g) { } public void repaint( ) { } public void repaint(long l) { } public void render() { sDisplay(); } in your canvas's class. To draw the 3D, you'll use the new render() method. A11W |
From: Martin O. <ma...@ig...> - 2000-08-29 22:42:21
|
Sven We have just released the 2.0 version of WebWinds. The 3D rendering interface between OpenGl and the various platforms was written with a lot of help from the gl4java group. However the code has been severely customized to our particular application as the 3D is just a part of a 160,000 line java application. You can download from http://webwinds.jpl.nasa.gov (its free) . We have tested on Mac, Sgi, Sun, Windows and Linux and the OpenGl run just fine. thanks for the help martin |
From: Dev B. <pat...@nc...> - 2000-08-29 22:04:26
|
Hey, has it finally been determined where Ziemski and the Mac port have gone to? Also, quick question: If I have the source for a program using gl4java written on a Mac can I recompile it on a PC provided gl4java is installed on the machine? I'm wondering if the syntax and functionality are the same between ports. thanks, Dev -- Dev Brown Columbia, SC USA And remember kids -- What kind of wood doesn't float? Natalie Wood! |