Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (521)
Games in Android Showcase (127)
games submitted by our members
Games in WIP (589)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1] 2
  ignore  |  Print  
  Need advices for choosing a 3D API  (Read 10029 times)
0 Members and 1 Guest are viewing this topic.
Offline dacanbe

Junior Newbie





« Posted 2006-02-01 10:06:02 »

Hi guys,

I'm planning to make my own game (a space simulation), I'm looking for a 3D API and I must say there is a lot
of choices and different approaches. My major criterion is performance and in second the ability of accessing
directly OpenGL functions. I have been amazed by the job made by Markus Persson on Wurm Online, I tried to PM him
to see if he could share his experience with me but the PM page returned me errors twice and I'm not sure
he got my PM (Markus, if you read that post, you're more than welcome to reply to it Smiley ).

I browsed some docs and articles, most of the time it is a contest between Java3D, Xirth and jMe. About OpenGL bindings there is another fight between LWJGL and JOGL. I even heard about bindings to C++ famous library like Ogre3D and Irrlicht.

Well, I really don't know what API or library to use for my game.

To sum up :
1st criterion   :  speed
2nd criterion :  possibility to access OpenGL methods through binding
3rd criterion  :  compliance with other classic libraries like OpenAL, JavaODE....

Thanks  
Offline Jeff

JGO Coder




Got any cats?


« Reply #1 - Posted 2006-02-02 00:55:31 »

See my FAQ

(in the sig)

Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Offline dacanbe

Junior Newbie





« Reply #2 - Posted 2006-02-02 07:54:30 »

That's exactly what I needed, thanks ! Grin
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Niwak

Senior Devvie


Medals: 1
Projects: 1



« Reply #3 - Posted 2006-02-02 10:07:28 »

You may also have a look to jMonkeyEngine. Lots of people seems to like it.
Offline dacanbe

Junior Newbie





« Reply #4 - Posted 2006-02-02 13:05:01 »

You may also have a look to jMonkeyEngine. Lots of people seems to like it.

I'll check this one but according to Jeff's FAQ, it seems that the classical Java3D is quite the best choice unless I'm ready to adress directly JOGL.
Offline Breakfast

Senior Devvie




for great justice!


« Reply #5 - Posted 2006-02-03 13:58:50 »

JME and Java3D are both well documented and easy to learn, both very important factors. Once you've got your head round 3d programming on one platform it is relatively easy to change between different APIs as you need to.
Offline Jeff

JGO Coder




Got any cats?


« Reply #6 - Posted 2006-02-04 06:05:49 »

JMonkeyEngine is actually higher level then Java3D as I understand it  (I havent actualy used it) as its an actual Game Engine

If it fits your needs then ist probably the easiest solution as its doing the msot for you.

I suppose I should add that to the FAQa s wellas  geta  good look at JME at some point


Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Offline .uj

Junior Devvie





« Reply #7 - Posted 2006-02-06 17:50:27 »

One drawback it seems is that Java3D isn't available on that many platforms. From what I've heard it's also not built on top of JOGL so it won't be easily portable. I don't know about the plans but Java3D seems to quite limit the available platforms for an applications.
Offline Jeff

JGO Coder




Got any cats?


« Reply #8 - Posted 2006-02-07 04:17:57 »

Java3D is currently available for Mac, WIn32, Linux and Solaris.  So I dont think its unavauilable for any paltform that JOGL is available for.

Furtehrmore, on Win32 Java3D supprtos either OpenGL or Direct3D, so it may run on cards JOGL won't.

Having said that Im not sure what the current state is or what the future availability will be of the Mac port.  Thats up to Apple right now.  That may change hwoever as there are plans to do a JOGL version, at which point it will be free of Apple dependance.

Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Offline .uj

Junior Devvie





« Reply #9 - Posted 2006-02-07 10:16:26 »

Didn't the Direct3D support end at version 1.3.1?

A JOGL version. That would mean a lot for the popularity of Java3D I think. To know that wherever JOGL goes, Java3D goes too. How firm are the plans? Is there a time schedule?
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Mithrandir

Senior Devvie




Cut from being on the bleeding edge too long


« Reply #10 - Posted 2006-02-07 19:35:30 »

It's a requirement for Java3D 1.5.

The site for 3D Graphics information http://www.j3d.org/
Aviatrix3D JOGL Scenegraph http://aviatrix3d.j3d.org/
Programming is essentially a markup language surrounding mathematical formulae and thus, should not be patentable.
Offline Jeff

JGO Coder




Got any cats?


« Reply #11 - Posted 2006-02-07 20:54:28 »

Didn't the Direct3D support end at version 1.3.1?

Not that I am aware of. And it would be a silly thing to do because Micrsoft is making another hard push right now at killing OGL on the PC.  If dropping D3D support was even contemplated Im sure its been nixxed at this point.

Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Offline .uj

Junior Devvie





« Reply #12 - Posted 2006-02-07 23:12:22 »

It's a requirement for Java3D 1.5.

What is? Support for Direct3D or JOGL or both?
Offline .uj

Junior Devvie





« Reply #13 - Posted 2006-02-07 23:24:39 »

Didn't the Direct3D support end at version 1.3.1?

Not that I am aware of. And it would be a silly thing to do because Micrsoft is making another hard push right now at killing OGL on the PC.  If dropping D3D support was even contemplated Im sure its been nixxed at this point.

Well how should I know what MS may feel? 

There's no special download for Direct3D anymore so I thought Direct3D isn't support anymore. What's the deal.  Does Java3D support Direct3D even after 1.3.1?
Offline Jeff

JGO Coder




Got any cats?


« Reply #14 - Posted 2006-02-08 01:48:11 »

Didn't the Direct3D support end at version 1.3.1?

Not that I am aware of. And it would be a silly thing to do because Micrsoft is making another hard push right now at killing OGL on the PC.  If dropping D3D support was even contemplated Im sure its been nixxed at this point.

Well how should I know what MS may feel? 

The same way we do you deduce it from the way they exert pressure on the WIn32 dev community through their control of the platform and APIs.

In this case its **well** accepted in the OGl community that MSFT's annoucnement that the next version of Win32 will contain a software implementation of OGL ontop of D3D is a direct shot at D3D  on thier platform.  By providing an "acceptable" solution they encourage the video card makers to drop their (expensive) indvidual development efforts supporting OGL.  At which point MSFT has control over OGL and can make it (a) slower then D3D and it almost by definition will be since it will be a translation layer (b) not track the latest features as fast as D3D and again by definition not support ANy features that D3D doesnt already support and (c) eventually let it age and drop it altogether.

Quote
There's no special download for Direct3D anymore so I thought Direct3D isn't support anymore. What's the deal.  Does Java3D support Direct3D even after 1.3.1?

The only "after" 1.3.1 is 1.3.2.  As thats a bug fix build I would guess that the bugs fixed only apply to OGL.

As for 1.4, its still in development and the teram has limited bandwidth.  I would expect them to finish the OGL version becore attacking a D3D one.

But, since I eat lunch with them almost every day, I will ask them for an official answer.

Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Offline dacanbe

Junior Newbie





« Reply #15 - Posted 2006-02-08 13:01:04 »

Ok, I hope to not sound too clueless but why isn't there an OpenGL Win32 implementation maintained by the consortium ? Why should Microsoft be the only one to guarantee an Opengl compatibility on Windows systems ?

It reminds me of the JRE in its early stage when Sun was complaining that MS had implemented a crappy version of it.
Offline Niwak

Senior Devvie


Medals: 1
Projects: 1



« Reply #16 - Posted 2006-02-08 14:55:23 »

The discussion on OpenGL & Vista is a bit out of topic but here is a link to a more complete thread about it : http://www.gamedev.net/community/forums/topic.asp?topic_id=373756 and a quote (from Yann L) that gives a better understanding, I think ;
Quote
In Vista, the LDDM compatible interface to the Aero desktop compositor is not documented, and LDDM is more complex than the old XP driver ICD interface model (due to WGF, but also due to TC related issues). In other words, external vendors were not able to support OpenGL, even if they wanted to. They still cannot to the full extend (ie. fully composited Aeroglass OpenGL), but a compromise solution was found (ie. uncomposited window, without requiring to turn off Aero entirely).

This solution is good for me, as it is acceptable for both games and professional CAD software. Although it would be nice, if we could eventually get a full LDDM compatible OpenGL driver for Aero.
Offline .uj

Junior Devvie





« Reply #17 - Posted 2006-02-09 15:26:27 »

If Microsoft, intentionally or unintentionally, would degrade OpenGL performance then the more important for Java3D to support Direct 3D I think.

The ability to support many low-level drivers was stated as one of the main advantages of Java3D. Good integration with Windows would set Java3D apart from all existing scenegraphs tied to OpenGL.

On the other hand there are many OpenGL applications running on Windows, not just games. I'm sure Microsoft must come up with a solution to this. Their ultimate goal is to sell operating systems,  not to enforce some graphics standard. Or maybe I'm naive.  Smiley


Offline swpalmer

JGO Coder


Exp: 12 years


Where's the Kaboom?


« Reply #18 - Posted 2006-02-09 15:35:08 »

Their ultimate goal is to sell operating systems,  not to enforce some graphics standard. Or maybe I'm naive.  Smiley

You are naive Smiley

Microsoft wants to sell EVERYTHING, and their strategy thus far is not "make good stuff that people want", it's "use our monopoly to force people to use our stuff by damaging the competition."

Microsoft is the most destructive force I know of in the computer industry.  They will squash any form of innovation they can, because innovation generally leads to successful non-Microsoft products, and they can't have that. 
They are the mafia of tech companies.  Successful, sure, but should we admire them for that?

Offline .uj

Junior Devvie





« Reply #19 - Posted 2006-02-09 16:54:20 »

You are naive Smiley

Sure, but not as naive as I was before I experienced how Sun treated early Java3D adopters. They were left hanging for years with a slow, buggy mess. But fortunately that's history.  Smiley

Regardless of what one thinks about Microsoft one must realize that Windows is their turf and if Java is going to be portable Sun has to adapt to that reality and not fight Microsoft by releasing quirky technology trying to blame Microsoft for it. It only hurts Java developers and it shouldn't be necessary now that Sun and Microsoft have kissed and made up and everything.
Offline Jeff

JGO Coder




Got any cats?


« Reply #20 - Posted 2006-02-10 01:25:19 »

Ok, I hope to not sound too clueless but why isn't there an OpenGL Win32 implementation maintained by the consortium ? Why should Microsoft be the only one to guarantee an Opengl compatibility on Windows systems ?

Because every graphcis cards needs its own OpenGL.

Its actually the graolhics card vendors that support OGL on Win32.

BUT if MSFT can convicne them their OGL to D3D wrapper is "good enough", they will drop OGL support.  And OGL on Win32 will die.


Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Offline Jeff

JGO Coder




Got any cats?


« Reply #21 - Posted 2006-02-10 01:29:49 »

If Microsoft, intentionally or unintentionally, would degrade OpenGL performance then the more important for Java3D to support Direct 3D I think.

Exactly.  Which is why it woudl be foolish to drop it.

Quote
The ability to support many low-level drivers was stated as one of the main advantages of Java3D. Good integration with Windows would set Java3D apart from all existing scenegraphs tied to OpenGL.

I totally dont get this statmenet.  What do you mean "good integration with windows".  What sets J3D apart today is (a) its free  (b) its standardized (c) its open source and (d) it runs on either OGL or D3D on Win32, plus Linux, OSX and SOlaris.  Various other alternatvoes have various combinations of those features.

I don't understand what point you are trying to make here?

Quote
On the other hand there are many OpenGL applications running on Windows, not just games. I'm sure Microsoft must come up with a solution to this. Their ultimate goal is to sell operating systems,  not to enforce some graphics standard. Or maybe I'm naive.  Smiley

You are naive. 

MSFT sells their crappy OS because its the only thing that runs the apps people want to run.  They keep control of the apps by keeping control of the APIs the apps are coded to.  OGL is the ONLY important API on WIndows today they *don't* control.

They hate it.  They want it gone.

Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Offline ChrisM

JGO Coder


Medals: 3
Projects: 1
Exp: 14 years


Luke...END OF LINE


« Reply #22 - Posted 2006-02-10 03:21:07 »

Quote
Quote from: dacanbe on February 08, 2006, 05:01:04 am
Ok, I hope to not sound too clueless but why isn't there an OpenGL Win32 implementation maintained by the consortium ? Why should Microsoft be the only one to guarantee an Opengl compatibility on Windows systems ?

There CAN'T be a Windows version maintained by the consortium due to Microsoft paying SGI $62.5 million for the OGL patents back in 2002.  Jeff is correct, the only way they control their platfomr is by holding the APIs close and keeping the most important ones closed.  This is exactly why technologies like Cedega have so many problems.  They can't see directly what Direct X is doing under the covers so they, instead, observe the actions of said APIs which is why you can't just run any DX game under Cedega.  They have to watch the API activity for each individual game they make compatable with their technology.

This, BTW, is the big stink in the courts.  Microsoft refuses to open up their APIs to increase compatability with 3rd party apps.  The only reason, imo, that OGL is still around is due to the possibility of  "anti-competitive" suits and the fact that so many legacy apps still in use today (think military visualization applications, topographic systems, etc.) that can't be ported due to their massive code base.  That and there are still plenty of games developed today that depend on OGL Smiley

One last thought....do you see anywhere in Microsoft's XNA roadmap a place for OGL?  I don't think so.....

Offline .uj

Junior Devvie





« Reply #23 - Posted 2006-02-10 14:33:32 »

...... (d) it runs on either OGL or D3D on Win32, ........
Can you confirm that Java3D runs on Direct3D even after 1.3.1? There's no special download in later versions so I assumed it was removed.
Offline .uj

Junior Devvie





« Reply #24 - Posted 2006-02-10 14:51:16 »

I find this in Issue 141,

Quote
------- Additional comments from aces Fri Jan 6 20:45:31 +0000 2006 -------

Java3D 1.4 now uses DirectX 9.0 for Direct3D rendering.
Support for Shaders is target milestone for J3D D3D 1.5

So I guess Java3D still supports Direct3D. Good. After Sun let Java3D lay dormant for years I've been suspicious against it but I'll give Java3D another try now.

Offline .uj

Junior Devvie





« Reply #25 - Posted 2006-02-10 16:01:47 »

One last thought....do you see anywhere in Microsoft's XNA roadmap a place for OGL?  I don't think so.....
Well, the more important then that Java offers solutions on Windows that aren't OpenGL based.

Java3D seems to fit the bill because it optionally can render using Direct3D I've learned. That should be a real argument for using Java3D if you're targeting Windows. It's the only Java scenegraph supporting Direct3D isn't it? If Microsoft plans to suppress OpenGL it's too bad for software that's using it including Java games built on JOGL, Xith and whatever.

I'm writing this to check my arguments and the implications: If you're targeting Microsoft with a 3D graphics application you'll probably do best if you avoid OpenGL altogether and go for XNA/Direct3D. The only available Java scenegraph/renderer with such an option is Java3D. Is that right?
Offline Jeff

JGO Coder




Got any cats?


« Reply #26 - Posted 2006-02-11 01:58:27 »


This, BTW, is the big stink in the courts.  Microsoft refuses to open up their APIs to increase compatability with 3rd party apps.  The only reason, imo, that OGL is still around is due to the possibility of  "anti-competitive" suits and the fact that so many legacy apps still in use today (think military visualization applications, topographic systems, etc.) that can't be ported due to their massive code base. 

Your forgetting Quake.

John Carmack has done more to keep OGL alive on Windows IMHO then any other man on earth.

Unfortunately its fairly well established that his next game will in fact be D3D based.

Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Offline Jeff

JGO Coder




Got any cats?


« Reply #27 - Posted 2006-02-11 02:04:30 »

I'm writing this to check my arguments and the implications: If you're targeting Microsoft with a 3D graphics application you'll probably do best if you avoid OpenGL altogether and go for XNA/Direct3D. The only available Java scenegraph/renderer with such an option is Java3D. Is that right?


Well it depend on how far out you are looking and how critical speed is to you.  This is my personal "best guess" at the future.  It may not be right...

In the very near term, there is still strong support from the card makers for OGL.

In the medium term, when Vista come out, IF this latest strategy of Microsoft's succeeds, then support will start to fall off and instead you will have to use Micrsoft's D3D wrapper.  This is likely to cost you some speed but if its TOO crappy then they wont be able to disuade the card makers from doing their own so its likely it wont be TOO much slower then D3D.

At some point if MSFT is totally successful, the graphics cards companies will be totaly "weened" from OGL and at that point you can expect MSFT to start purposefully sabaotaging their OGL  (most likely form will not be keeping up with new features and generally letting the code rot.)

Once they have the software developers they care about all pushed over to D3D, they'll drop OGL all together.


Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Offline Jeff

JGO Coder




Got any cats?


« Reply #28 - Posted 2006-02-11 05:29:47 »

So I guess Java3D still supports Direct3D. Good. After Sun let Java3D lay dormant for years I've been suspicious against it but I'll give Java3D another try now.



This is wrong too, by the way.

It was almost exactly one  year that J3D development was on hold.

More important though then Sun resumign active development IMHO was the decision to open  source it.

While its certainly verynice to have Sun paying for some development, it is no longer as critically necessary as it was.  Should management stop active development of J3D again, the community now has the options of going on without us.


Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Offline .uj

Junior Devvie





« Reply #29 - Posted 2006-02-11 12:57:08 »

MSFT sells their crappy OS because its the only thing that runs the apps people want to run.  They keep control of the apps by keeping control of the APIs the apps are coded to.  OGL is the ONLY important API on WIndows today they *don't* control.

They hate it.  They want it gone.


Well, as a Sun employee you're expected to bad-mouth the competition, but wasn't it part of the deal when Microsoft paid you this huge pile of money that you direct further animosities towards IBM? Maybe your post should be considered a kind of retro-bashing, a nostalgic relapse to the good old times when Microsoft was the baddest of the bad blamable for every wrongdoing in the known universe and beyond. Grin
Pages: [1] 2
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

xFryIx (57 views)
2014-11-13 12:34:49

digdugdiggy (35 views)
2014-11-12 21:11:50

digdugdiggy (29 views)
2014-11-12 21:10:15

digdugdiggy (23 views)
2014-11-12 21:09:33

kovacsa (46 views)
2014-11-07 19:57:14

TehJavaDev (50 views)
2014-11-03 22:04:50

BurntPizza (50 views)
2014-11-03 18:54:52

moogie (65 views)
2014-11-03 06:22:04

CopyableCougar4 (63 views)
2014-11-01 23:36:41

DarkCart (148 views)
2014-11-01 14:51:03
Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!