Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (784)
Games in Android Showcase (234)
games submitted by our members
Games in WIP (858)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Which API?  (Read 3541 times)
0 Members and 1 Guest are viewing this topic.
Offline alzoid69

Junior Newbie

I totally smurfed Smurfette last night.

« Posted 2003-10-03 14:22:35 »

What API is the best for 3d Game programming?  JOGL, Xith3d, OGL4Java etc.  I want to start programming but I dont know which one to choose.  I tried Xith3d but I cant get it working.  Sorry if this has been asked before but the search keeps timing out.

Offline Herkules

Senior Devvie

Friendly fire isn't friendly!

« Reply #1 - Posted 2003-10-03 14:54:06 »

There's no true answer to that.

JOGL/GL4Java are low-level APIs. Basically, you need them if you need to render a triangle.

Xith3D is a high-level API on top of JOGL, but is not a very mature and stable API bc. it seems to be under heavy development. So crashes have to be expected.

Java3D is mature and stable, but lacks latest features and has an unclear future. But at least its still good to get started and have something on the screen.

Maybe its a good hint to start with Java3D, make some experience and than decide wether to go towards an own engine bases on JOGL (a scenegraph like Java3D/Xith3D is not always the best choice) or later port to another scenegraph.

There are even more options like LWJGL on the level of JOGL/GL4Java or OpenMind as a scenegraph engine.

HARDCODE    --     DRTS/FlyingGuns/JPilot/JXInput  --    skype me: joerg.plewe
Offline Breakfast

Senior Devvie

for great justice!

« Reply #2 - Posted 2003-10-03 15:15:17 »

I concur with herkules - Java3D is basic but stable and there are a fair few tutorials for it around the place. It is  consequently a really good learning environment  and once you understand it you will be able to apply that knowledge to a different platform if you need to.

In a way learning 3d programming is like learning to program  in that what programming language you learn with isn't as important as the processes and techniques of programming you learn.

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline William Denniss

JGO Coder

Projects: 2

Fire at will

« Reply #3 - Posted 2003-10-04 10:20:05 »


You can use the OpenGL wrappers (JOGL, GL4Java and LWJGL)  but then you would have to build your own dedicated scenegraph for your game (which has it's advantages).  If you are prepared to sacrifice a few frames per second then a scenegraph like Xith3D can massivly reduce development time.  Indeed such scenegraphs can sometimes even inclrease the fps rate due to optimisations (Xith3D already has caching enabled were static objects are automatially cached on the video card).

As for your problem, just be patient - the issue which is causing your problem is being looked into.  Maybe if you started a new topic, or submitted an issue to the project it would be bumped up the list.  I tried to debug and fix the code using Windows but had (different) problems (I am developing in linux).

Maybe having a play with JOGL would be a good idea - you'll soon see just how primitive the API is (which is actually a good point speed wise and makes it excellent to build scenegraphs and game engines on).


Offline Breakfast

Senior Devvie

for great justice!

« Reply #4 - Posted 2003-10-04 19:33:29 »

I still maintain that it is easier to learn to use a higher level api and then work down, I may be wrong.

As a bit of an aside, what are the alternatives to a scenegraph for representing a 3d environment?
Offline kevglass

« JGO Spiffy Duke »

Medals: 319
Projects: 25
Exp: 22 years

Coder, Trainee Pixel Artist, Game Reviewer

« Reply #5 - Posted 2003-10-04 19:46:12 »

Because scenegraph is such an abstract term pretty much any structure you build to manage a 3d scene can be considered a primitive scenegraph. So there arn't really any alternatives.


Offline java

Senior Newbie

All games rock!

« Reply #6 - Posted 2003-10-04 21:31:45 »

There's a similar thread on
I doubt that it adds much new to this discussion, but anyway. Maybe it's worth a look though.
Offline tom
« Reply #7 - Posted 2003-10-05 00:36:30 »

As a bit of an aside, what are the alternatives to a scenegraph for representing a 3d environment?

Instead of sticking the 3d object in a graph, you draw the objects that you need, when you need it. In some situations it's more work manipulating the scene graph, than just drawing it explisitly.

Offline Herkules

Senior Devvie

Friendly fire isn't friendly!

« Reply #8 - Posted 2003-10-05 09:22:48 »

Hm hm ....

A scenegraph is one possible mean to find out which objects have to rendered. Its not that you manipulate the scenegraph for that.

BSP structures, portals and such are other options to design a graphics engine.

Many game engines are organized quite flat (e.g. maintain a scene and a list of objects in the scene), which is kind of a subset of a scenegraph. But this flat structure can than be optimized to certain environments, which makes some game engines that quick.

HARDCODE    --     DRTS/FlyingGuns/JPilot/JXInput  --    skype me: joerg.plewe
Offline Orangy Tang

JGO Kernel

Medals: 57
Projects: 11

Monkey for a head

« Reply #9 - Posted 2003-10-05 10:33:39 »

I'd highly recommend separating your spatial tree (be it bsp, quad or oct tree) from your actual scene graph/description. If you attempt to mung both of them together you'll end up making compromises and end up with a structure thats inefficiant for both Sad

Bearing in mind what kev said that a scenegraph can be pretty much anything. A simple linked list of game objects could be good enough, or you might need a proper DAG tree with transform nodes, geometry nodes etc. Equally, you might need a fancy scenegraph but if your levels are small or the whole thing is displayed constantly you might not need a proper spatial tree, and you could just have a list of visible objects with some quick and inaccurate frustum culling.

Xith might be a good idea to start with, you get to toy with a higher level API, but can go down to low level GL if need be. Other than that any are suitable (although i'd avoid Java3D..).

[ - Play Growth Spurt, Rescue Squad and Snowman Village ] [ Rebirth - game resource library ]
Pages: [1]
  ignore  |  Print  

hadezbladez (1643 views)
2018-11-16 13:46:03

hadezbladez (660 views)
2018-11-16 13:41:33

hadezbladez (1640 views)
2018-11-16 13:35:35

hadezbladez (346 views)
2018-11-16 13:32:03

EgonOlsen (2696 views)
2018-06-10 19:43:48

EgonOlsen (2963 views)
2018-06-10 19:43:44

EgonOlsen (1653 views)
2018-06-10 19:43:20

DesertCoockie (2366 views)
2018-05-13 18:23:11

nelsongames (2277 views)
2018-04-24 18:15:36

nelsongames (2972 views)
2018-04-24 18:14:32
Deployment and Packaging
by philfrei
2019-02-17 20:25:53

Deployment and Packaging
by mudlee
2018-08-22 18:09:50

Java Gaming Resources
by gouessej
2018-08-22 08:19:41

Deployment and Packaging
by gouessej
2018-08-22 08:04:08

Deployment and Packaging
by gouessej
2018-08-22 08:03:45

Deployment and Packaging
by philfrei
2018-08-20 02:33:38

Deployment and Packaging
by philfrei
2018-08-20 02:29:55

Deployment and Packaging
by philfrei
2018-08-19 23:56:20 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‑
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!