🔒 Locked
[java] new to java3D needing advice
Advertisement
Original Post
I want to begin programming 3D in java. What all do I need? I went to Sun's site and I went to the download page. I have to choose between opengl or directx??? I'm not sure what one to pick or what one will be easier. Also does anybody have any links to another page where java3D is avaiable. I couldn't get it to download under going through Sun and the download manager. If anybody has a link I would appreciate it. Any info would help.
If you'd like to learn OpenGL, you have two choices
JOGL https://games-core.dev.java.net/
and LWJGL http://www.lwjgl.org/download.php
And if you'd be really crazy you'd ask me to send you an around year old version of JOGL that was modified to alow MUCH easier programming, at least less typing.
JOGL is easier for starting and debugging, LWJGL is more compact easy computer hanging library simillar to C++ version of OpenGL.
BTW a little advice when creating OpenGL window, set OpenGL so it would have distinctly colored background. This means GL.clearColor(xxxxx) different than zero or one.
JOGL https://games-core.dev.java.net/
and LWJGL http://www.lwjgl.org/download.php
And if you'd be really crazy you'd ask me to send you an around year old version of JOGL that was modified to alow MUCH easier programming, at least less typing.
JOGL is easier for starting and debugging, LWJGL is more compact easy computer hanging library simillar to C++ version of OpenGL.
BTW a little advice when creating OpenGL window, set OpenGL so it would have distinctly colored background. This means GL.clearColor(xxxxx) different than zero or one.
Java3D can either be downloaded as the openGL or the directX version, you won't notice the difference. With some graphic cards the directX implemented version runs faster, on others, it's the openGL one, that's specific to the hardware.
I've experienced that the OpenGL version had (very) slightly more features, but these are really tiny details, nothing important (like point tranparency for example). Choose one or the other, they are both ok anyway.
And as long as you don't wanna make a Quake 46, you shouldn't have problems with performances.
And for tutorials, i advice to look at sun's tutorials, they're complete and well explained.
To come back to the above discussion, i always wonder why they compare JOGL and J3D concerning their "performances". They are different things, JOGL is a low level api whereas J3D is high level. Look out if you wanna more information, it's not the first time this kind of topic arises. And before seeking more "performances", you should ask you the question "isn't it enough?" or "where is my bottleneck?"...
I don't wanna say J3D is cool, is perfect or something like this, far from that. i just think both have their use, it's a question of what you need and what you prefer so it's idiotic to put one down or up. (but i find J3D cool :P)
Lastly,
Where on earth did you found this? ...the link please
I've experienced that the OpenGL version had (very) slightly more features, but these are really tiny details, nothing important (like point tranparency for example). Choose one or the other, they are both ok anyway.
And as long as you don't wanna make a Quake 46, you shouldn't have problems with performances.
And for tutorials, i advice to look at sun's tutorials, they're complete and well explained.
To come back to the above discussion, i always wonder why they compare JOGL and J3D concerning their "performances". They are different things, JOGL is a low level api whereas J3D is high level. Look out if you wanna more information, it's not the first time this kind of topic arises. And before seeking more "performances", you should ask you the question "isn't it enough?" or "where is my bottleneck?"...
I don't wanna say J3D is cool, is perfect or something like this, far from that. i just think both have their use, it's a question of what you need and what you prefer so it's idiotic to put one down or up. (but i find J3D cool :P)
Lastly,
Quote:
Sun specifically does not recommend Java3d for games dev
Where on earth did you found this? ...the link please
...if you wanted so much "performances", you should stick to c++ and access to open GL directly. However, i suppose you won't. And why? Because java feels more comfortable and it is worth sacrifying a notch of "performance".
For the same reason i stick to J3D, i feel comfortable with it and its performances are ok to me. And in the case i would want more, or would do some pro game, then i would directly go to c# with DX or something like this.
Performances are not the holy grail. If it was, we would still be programming in assembler.
I suppose you know "Flying Guns", doesn't it run well? So it's ok for games like this, no need to go away.
Anyway, use the api you want, JOGL is certainly a great api, but J3D is totally ok either. The first is raw performances, the other is higher leveled stucture along with its small overhead.
As soon as somebody is asking a question about Java3D here, it usually won't be answered. People are shouting "xith" and "jme" instead. IF these APIs are so great for making games, then where are the games written with them? I don't know of any complete (or almost) game which has been written using xith or jme. However, i do know some games written in Java3D. When looking at them, you know what to expect. xith and jme still have to prove themselfs as suitable solutions.
My personal suggestion: Only use Java 3D if you don't mind the fact that there are a lot of things that it doesn't support that it should, e.g., set operations. Honestly, Java 3D isn't bad, per se, it's just that it's not really the best API to use for games. Honestly, I'd only really ever use it for visualization applications, as opposed to interactive 3D environments.
Quote:I've never claimed this. I said that i don't know of any finished (or almost) games using xith or jme. And having a look at javagamesfactory.com, i can find 2 unfinished games, both from kevglass for xith and none for jme. Or am i looking in the wrong section? If not, this is still no foundation to recommend these APIs for games IMO.
Original post by Anonymous Poster
Really, there's no excuse for making silly claims like "I've don't know of any non-Java3D games".
Quote:
Original post by Anonymous Poster Quote:
Original post by misterX
...if you wanted so much "performances", you should stick to c++ and access to open GL directly. However, i suppose you won't. And why? Because java feels more comfortable and it is worth sacrifying a notch of "performance".
Dude! *why would you want* to sacrifice performance, when none of the OTHER Java API's have that sacrifice ?
Because i have a better productivity with it!
It's like i would ask: why are you programming with a high level language like java when you could do it all in assembler without sacrifying performances?
Quote:
Original post by Java
I've never claimed this. I said that i don't know of any finished (or almost) games using xith or jme. And having a look at javagamesfactory.com, i can find 2 unfinished games, both from kevglass for xith and none for jme. Or am i looking in the wrong section? If not, this is still no foundation to recommend these APIs for games IMO.
Well since both are relatively young and since Java does not tend to get used by profesionnal dev houses yet, then you are leaving it to the hobbyist developer to make the games. Since most of these people do it as a hobby, it will take some time. So rather than saying that it can't be good becase there are no games yet, why don't you try it out instead. You could also head over to their respective sites to see what is going on with them. I know jME doesn't have any games yet, but it is still in its infancy like LWJGL. Neither has yet to release a full production version (ie v1.0). Both are still in beta. Although I expect LWJGL to go full production this year.
Quote:
Original post by Anonymous Poster
You're excusing using the slow version because performance isn't so important as productivity. Until/unless you actually make some statement about it, we can assume that productivity is, by definition, the same in the other implemetnation of the same API. So you're actually saying "I would prefer to use the crap version because [no reason]".
Seems a no-brainer to me.
Listen, idiot.
First, these APIs are totally different. Second, i'm sure you never played around with J3D enough. Third, i'm productive whith j3d, for example if i want the ball jump when it falls on the ground, i just use a 'OnCollision' wakeup that handles the code for changing the ball speed. I don't want to spend hours making my own collision detection thing. So i like j3d because it makes me able to do stuff without losing time for lower level stuff like this, and in an elegant way. Lastly, I don't need more speed, my framerates are more than enough! So i have no reason to change yet. End of the discussion.
This is exhausting and i don't care, so i'll again go straith to the point.
I've never critisized other apis, nor will i do. Use whatever you want, i don't care about it anyway (why would i worry about?!). Nor did i suggest people should use it instead of the others. Read again, i never stated that it's the best choice, or that people should use it or that the other ones are bad, they aren't. I just said i was using it, had no problems whatsoever and that i'm happy with it. That's all.
PS: (Whereas for the first point, i had in mind we were discussing about JOGL & LWJGL, of course it doesn't apply to Xith which in fact copies J3D's structure.)
Quote:
Original post by SKATIN_HARD
I want to begin programming 3D in java. What all do I need? I went to Sun's site and I went to the download page. I have to choose between opengl or directx??? I'm not sure what one to pick or what one will be easier. Also does anybody have any links to another page where java3D is avaiable. I couldn't get it to download under going through Sun and the download manager. If anybody has a link I would appreciate it. Any info would help.
This page looks like a good resource to look at. It might answer a few questions you have about what to use, where to get it, and how to use it. The best advice I can give you is to read the articles on that site and make your own informed decision.
Topic Locked
This topic has been locked by a moderator. New replies are not allowed.
Sign in to reply to this topic.
Advertisement