kit
Senior Newbie 
Doing 3D on a _global_ scale :-)
|
 |
«
Posted
2003-03-27 19:10:34 » |
|
Ok, like I said, I am very new at all of this, so sorry for having to ask these questions.
I am just starting, so it's no big deal to switch to a different api if I need to. People here seem to really like lwjgl, perhaps because the developers hang out here.
But here are my main questions:
1. How do the two APIs compare as far as which platforms they will run on? My current understanding is this:
Sun -> windows, linux, solaris, various unixes, but not Mac (any version)
lwjgl - Windows 2K or XP, linux (I think), Mac OSX planned but no others planned.
Is this close? Could someone with a clue nail it down for me?
And question 2:
I am mostly interested in web-based stuff at the moment. Does either of these have a clear edge in applets? I mean, I probably won't be using fullscreen at all...
Thanks in advance, Kit
|
|
|
|
kit
Senior Newbie 
Doing 3D on a _global_ scale :-)
|
 |
«
Reply #1 - Posted
2003-03-27 19:14:37 » |
|
Oh, I feel dumb. Quoting the intro page for lwjgl ( http://java-game-lib.sourceforge.net/documents/tutorials/intro.html): "The implications for security are simple and final: your game can no longer be considered secure ... This also means you will not be able to use it in applets ..." So, no applets, eh? Guess I'll stick with Java 3D. :-) - Kit of the unnecessary questions.
|
|
|
|
princec
|
 |
«
Reply #2 - Posted
2003-03-28 10:40:00 » |
|
No harm in asking  Yes, we're not at all applet focused. We are however committed to making sure it works with Webstart, which is applet-on-steroids. We might well have a proper look at the security of the LWJGL and see if there are any holes. I have a feeling that we're actually quite secure even though we expose pointers because our pointers are "opaque" - you still can't do anything funny from them in Java - but there are GL methods that read data into a pointer, and so you can theoretically corrupt data in a fiendish fashion, and there are plenty GL methods that take a pointer to read data from, which can quite easily crash the VM completely. Cas 
|
|
|
|
Games published by our own members! Check 'em out!
|
|
Abuse
|
 |
«
Reply #3 - Posted
2003-03-29 21:54:41 » |
|
lwjgl works in pre-win2k as well  (@least it works in win98  ) as for lwjgl being able to send the JVM tits up, regular java2d code can do that as well  (specifically BufferStrategy rendering & fullscreen) 
|
|
|
|
coilcore
Senior Newbie 
Java games rock!
|
 |
«
Reply #4 - Posted
2003-03-30 03:23:10 » |
|
Does LWJGL support Linux now? I thought it was limited to Win32 environs, which is the reason I'm working with Java3D rather than LWJGL.
In fact I remember reading something in the LWJGL docs that said something to the effect of it should be for Win32 first and foremost, but that at some random point off in the future other platforms might be supported. This seems to work against one of the really great advantages to doing games in Java and means if you use Java3D what you write today will run on many platforms.
|
|
|
|
elias
|
 |
«
Reply #5 - Posted
2003-03-30 05:34:19 » |
|
Sure it does - even cas' AF runs fine on linux. Who do I have to kill to get rid of that lwjgl-is-for-win32-only-right?  . Seriously, it's a shame to miss a lot of developers just because they think lwjgl is platformspecific, like coilcore. - elias
|
|
|
|
cfmdobbie
Senior Devvie    Medals: 1
Who, me?
|
 |
«
Reply #6 - Posted
2003-03-30 08:16:56 » |
|
So remove the line from the website! That might go some way to stopping people believing it's true. They're only reading the docs you lot have put out... 
|
Hellomynameis Charlie Dobbie.
|
|
|
princec
|
 |
«
Reply #7 - Posted
2003-03-30 12:41:33 » |
|
Criminy, we've really got to update those docs now... I think we should mention Linux on the front page, and MacOSX Coming Soon as well. Is anyone here capable of doing a Solaris port? Or HP-UX? That'd be the last straw for Sun  Cas 
|
|
|
|
elias
|
 |
«
Reply #8 - Posted
2003-03-30 12:58:22 » |
|
Matzon already removed the win32-centric part of the docs. As far as solaris goes, I could probably do it myself. If I had a Solaris capable machine...
- elias
|
|
|
|
erikd
|
 |
«
Reply #9 - Posted
2003-03-30 13:23:16 » |
|
Anyone uses Solaris or HP-UX for gaming then?
|
|
|
|
Games published by our own members! Check 'em out!
|
|
coilcore
Senior Newbie 
Java games rock!
|
 |
«
Reply #10 - Posted
2003-03-30 13:47:32 » |
|
Heres what I know -
A while ago I looked that the LWJGL site on sourceforge and it said explicitly support for Win32.
I followed the link Cas put out for the AlienFlux alpha and found a exe file wrapped in a zip. So no dice, I figured it was because it used LWJGL and therefore no reason to not make a jar.
Yesterday I grabbed the source for the JOSRTS and the raw java compiles, but the 'test client' and 'map editor' targets fail because they are trying to include a bunch of LWJGL dlls into java.system.library and Linux does know what to do with them. So I look again at the LWJGL site and it still said support for Win32 only.
If LWJGL works under linux that is great - but it looks like the people who are using LWJGL still only do whats needed for Win32 and the site turned away people like me looking to make things work on my OS of choice.
|
|
|
|
elias
|
 |
«
Reply #11 - Posted
2003-03-30 14:03:40 » |
|
Sorry if I sounded a bit harsh, I didn't mean to. You have every right to feel that lwjgl is (mostly) win32 for now.
A while ago I looked that the LWJGL site on sourceforge and it said explicitly support for Win32.
Will be updated in the next release. I followed the link Cas put out for the AlienFlux alpha and found a exe file wrapped in a zip. So no dice, I figured it was because it used LWJGL and therefore no reason to not make a jar.
Actually cas did make a jar (that runs fine on my redhat  , but yes, cas builds a special exe file for the convenience of win32 users. Yesterday I grabbed the source for the JOSRTS and the raw java compiles, but the 'test client' and 'map editor' targets fail because they are trying to include a bunch of LWJGL dlls into java.system.library and Linux does know what to do with them. So I look again at the LWJGL site and it still said support for Win32 only.
Don't know JOSRTS, but it seems they're either outdated or too lazy to update docs/source. - elias
|
|
|
|
coilcore
Senior Newbie 
Java games rock!
|
 |
«
Reply #12 - Posted
2003-03-30 14:16:43 » |
|
Great now that I know this - I dug around a little found the rh8 stuff, and have those two targets in JOSRTS building on my system. Though there is one tiny bug that I had to work around that I will report through sourceforge.
|
|
|
|
elias
|
 |
«
Reply #13 - Posted
2003-03-30 14:39:50 » |
|
hehe, I don't visit sourceforge often, so if you can be bothered, please post bug reports to the LWJGL forums here.
- elias
|
|
|
|
coilcore
Senior Newbie 
Java games rock!
|
 |
«
Reply #14 - Posted
2003-03-30 15:30:54 » |
|
hehe, I don't visit sourceforge often, so if you can be bothered, please post bug reports to the LWJGL forums here.
- elias Its really so trivial that its more of a bug tracking issue than a forum issue. But heres the link to the sourceforge bug http://sourceforge.net/tracker/index.php?func=detail&aid=712258&group_id=58488&atid=487940Also do you guys not use any kind of bug tracking? Just keep it in your heads? That doesn't seem like it can scale well.
|
|
|
|
Conzar
Junior Devvie  
There is nothing common about common sense
|
 |
«
Reply #15 - Posted
2003-03-31 23:14:25 » |
|
I'm not sure why JGLW exists. It seems to me that one could just code in C++ and that would be that. Some of Java's benifits get thrown out the window when using JGLW like security and cross-platform w/out compilation.
So what are the compeling reasons for using JGLW? Is it just novelty to be able to use shaders in Java? Also - is there not a performance hit when using the wrappers for OpenGL?
In that link posted above, JGLW states that including the entire jvm for j3d is a problem yet the support for Java applets is minut for JGLW. Doesn't that defeat the purpose of that statement? I could see this being an issue for applets but normal games I do not; since gamers always have to download the latest DirectX or GL version for the latest games (most of the time, these libraries come on the game cd).
|
Ubuntu
|
|
|
elias
|
 |
«
Reply #16 - Posted
2003-04-01 02:49:35 » |
|
I'm not sure why JGLW exists. It seems to me that one could just code in C++ and that would be that. Some of Java's benifits get thrown out the window when using JGLW like security and cross-platform w/out compilation.
It's "LWJGL". You're not entirely accurate here. Security might be thrown out, but you can still use the same java code on all the lwjgl-supported platforms, without recompilation. As I stated, AF runs just fine on my redhat 8, with no modifications. Sure, you can call GLX or WGL specific functions not available on all platforms, but then you asked for it. Consider them to be like ordinary GL extensions. I don't really get the C++ argument. What stops me from saying: "Code it in assembler and get it over with"? It's all about freedom of choice. If some wants to do their game in C++, then fine, but those who like java and it's features have every right to access the same API as C++. So what are the compeling reasons for using JGLW? Is it just novelty to be able to use shaders in Java? Also - is there not a performance hit when using the wrappers for OpenGL?
No it's not about shaders. Yes, there will be a performance hit. In that link posted above, JGLW states that including the entire jvm for j3d is a problem yet the support for Java applets is minut for JGLW. Doesn't that defeat the purpose of that statement? I could see this being an issue for applets but normal games I do not; since gamers always have to download the latest DirectX or GL version for the latest games (most of the time, these libraries come on the game cd).
Some people like Cas wants to distribute his game as a demo on the internet. And to do that, it's absolutely imperative that the size of the download is minimal. Most users would likely be scared off faced by the extra jre download. - elias
|
|
|
|
|
Conzar
Junior Devvie  
There is nothing common about common sense
|
 |
«
Reply #18 - Posted
2003-04-01 03:45:40 » |
|
bad plug jbanes.
Sorry for getting the name mixed up. Anyways, my argument with "why not just use c++" is that why should someone learn the LWGJL api instead of OpenGL? If LWGJL is just a wrapper to OGL then whats the point? What does Java add to the game programming? If people want to do Java servers and non-3d stuff, then one can easily do that with jni (I belive there are several commercial games out there that do that already). This way, the 3d programmer will have total access to all of OGL's features (and when new ones come out, they don't have to wait on LWGJL).
So why should someone learn J3D? So why use J3D instead of OGL/jni java? Is it because J3D is not a wrapper for OGL and provides all of Java's features?
|
Ubuntu
|
|
|
elias
|
 |
«
Reply #19 - Posted
2003-04-01 03:51:56 » |
|
LWJGL _is_ just a wrapper for OpenGL, OpenAL etc. and that's exactly the point, LWJGL is an _enabling_ technology, enabling java developers to use OpenGL, OpenAL etc. without first writing their own jni wrapper. Had SUN taken their heads out of their asses, they would have given us a similar official wrapper ages ago.
- elias
|
|
|
|
jbanes
|
 |
«
Reply #20 - Posted
2003-04-01 03:51:59 » |
|
> bad plug jbanes.
Sorry, maybe I should have specified that I don't work for these people, nor do I have any affiliation. I just happened to run across them before and found that they sell inexpensive Sun equipment. Since elias asked about Sun kit (sorry, mine has a stupid PGX-8 in it) I decided to post. No spamming intended.
|
|
|
|
Orangy Tang
|
 |
«
Reply #21 - Posted
2003-04-01 05:29:09 » |
|
Not everyone uses Java because they want applets or cross-platform code - personally I use Java because it's an elegant language, lets me write solid working code quicker and provides good debugging aids. Would I get all that from C++? Maybe, given a few more years experience and forking out £££ for extra tools, and that still doesn't solve the fact that C++ code frequently looks pretty damn ugly.
|
|
|
|
erikd
|
 |
«
Reply #22 - Posted
2003-04-01 05:48:21 » |
|
why should someone learn the LWGJL api instead of OpenGL? There's no such thing. If you use LWJGL for openGL then you learn the *openGL api* and anly *access* it through LWJGL. What does Java add to the game programming? It does not add to the game programming, it IS the game programming. Remember that openGL is just about rendering, not game programming. then one can easily do that with jni That's exactly what LWJGL does. And I'm glad it's already done and available for us all and that I don't have to redo it myself. It saves me a lot of work. and when new ones come out, they don't have to wait on LWGJL Well, it's not like there's new versions of openGL coming out every week. Besides LWJGL is very active and open source, so this is not really an argument. So why should someone learn J3D? J3D has lots of functionality that just openGL doesn't have. It has a scenegraph, behaviours, lotsa other hard to code and mathematically complex stuff done for you. Also, J3D is independant of the underlying rendering API. However, it's not specifically for games so one can expect a performance hit compared to coding a gamespecific scenegraph api on top of openGL.
|
|
|
|
Mithrandir
|
 |
«
Reply #23 - Posted
2003-04-01 06:17:58 » |
|
Had SUN taken their heads out of their asses, they would have given us a similar official wrapper ages ago. It's not Sun's fault. In fact, some parts of Sun have been pushing for this for years and other parts have been actively campaigning against it. To throw extra fun into the mix, SGI were not interested in licensing the logo and all that goes with it to Sun either for the longest of times. Much of this is political - SGI/OpenGL ARB wanted to control the Java bindings to their spec, and Sun said the only way to get blessed bindings is to do it through the JCP. So, you can imagine where that went.... So, what's the state of play today. Firstly, Micheal Deering is now nolonger working for Sun, so the cheif protagonist against OGL bindings has gone. There is also a slow mind change inside sun that is, as a result, starting to accept that there will have to be formal bindings. Sun and SGI are talking quite a lot about it and the paperwork is in the process of being completed. I believe it is just dotting i's and crossing t's now left to do. Once that is done, there will be formal proposals going on. Expect the first revision to be short and sharp process - way less than 6 months. Based on the slow dance that we're involved in right now, I would say it is 2 months from work starting. No guarantees, but that is my educated estimate on the issue.
|
|
|
|
princec
|
 |
«
Reply #24 - Posted
2003-04-02 07:38:38 » |
|
Hm. Cas 
|
|
|
|
darcone
Junior Devvie  
Size matters
|
 |
«
Reply #25 - Posted
2003-04-02 20:10:13 » |
|
Stop clanking down on LWJGL  Or java game programming in opengl in particular. Either you like it or you dont. I do 
|
|
|
|
|