Is the transition from Windows to Mac OS X Java OpenGL painful?

Hi,

I am just a little curious about how ex-Windows developers have found programming in OpenGL on a Mac to be. Is it a steep learning curve, or a dream to use?

Would I need to start from scratch, learning all of the iMac OS X idiosyncrasies since it’s a Unix-based O/S? Are there any annoying limitation, or lack of software or support (such as IDEs, packages etc). I would assume there wouldn’t be because Java is platform independent.

I was wondering because I just bought a core 2 duo machine, but I am a little curious as to how I would have fared had I purchased an iMac. I am considering buying an iMac in say 4 years time when I need to get a new machine.

Thanks,

/Mark

I’ve had no trouble using jogl on both my windows and mac simultaneously. The binaries that jogl provides makes it very easy to switch platforms and I’ve never run into a situation where something ran on one os and didn’t on another. Admittedly I’m not at the stage where I’m programming in the tiny hardware specific openGL optimizations yet, so I wouldn’t know the difference there. One difference are the windowing extensions available. wgl won’t be available to use on the Mac, but I think glx is. I haven’t used those, so it’s a little fuzzy. Anyway, that shouldn’t matter too much since jogl is capable of handling most windowing needs automatically, which I find to be a big plus.

Eclipse works perfectly fine on a mac so you’re not lacking in IDEs. So far the main idiosyncrasy that I’ve run into is having deadlock from Cocoa and AWT being enabled at the same time for a Java application, but that’s not related to openGL.

Basically, I don’t think there should be a problem switching at the moment. However, you say you want to wait 4 years, so I have no idea what the current state of affairs will be like, especially since new versions of openGL will be released by then hopefully.

I write all my GL code on a windows machine and I don’t even have to test on a mac (I don’t have one anyway). LWJGL makes it just work. ;D

I developed my application on Windows and it just worked when it came time to test it on a Mac. I’ve even done a little bit of development on a Mac using Eclipse and that seemed to work fairly well also.

well, my windows-developed webstart application does not yet work on a mac. :wink:
see http://www.java-gaming.org/forums/index.php?topic=17231.msg137196#new

Win32 <> MacOSX is quite equivalent whereas the latter of those systems need less libraries since it is already a Java-Standalone (JavaS/A) platform. Well this has some consequences to make your code portable. Since I get my code on MacOSX with Netbeans 5.5.1 and port it to WinXP Netbeans 6b (1.5 is now outdated ! :D) I can say that there are some precautions :
a) natives library must be toroughly selected in your package. I mean that some APi like JAI have 4+ natives to load at startup where MacOS none. Plus, non-shared API must be recompiled on MacOS X if they are not available, but that ain’t the case for JAI since it is impl. as a S/A lib.
b) path must be recontructed from base to file. the File.separator char is very useful in that process.
c) take some care if you compile on one arch and try to share the lib to another one. natives functions like Threads do “get embarassed” and fall into overflows ! For instance there are Look and Feels extensions that compile on both arch but don’t load at runtime.
;D