Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

11991 Posts in 1587 Topics- by 3508 Members - Latest Member: NevilleKemp

26. May 2012, 03:20:44 pm
Xith3D CommunityGeneral CategorySupport (Moderator: Marvin Fröhlich)Xith3D vs JME3 or 2
Pages: [1]
Print
Author Topic: Xith3D vs JME3 or 2  (Read 900 times)
Twitchy5
Just dropped in

Offline Offline

Posts: 2


View Profile Email
« on: 28. September 2010, 10:11:21 pm »

Hello, I've been trying to choose which engine for high poly 3D is better.
While I should take this to more general Game Programming forums, I don't like them because the majority will just tell you to stick with c++ and not give you any other options. And I don't take it to the jME forums because they seem to be biased on their engine, of course, the Xith3D community will have some bias, but you look to be a more moderate group.

Now for not elongating the subject, I only put those two in there. I want to compare a couple more then just that:

(Please keep in mind that I can learn, and I can test, it doesn't matter as much to me if the documentation isn't so good, I can always read and test. )

1) Xith3D, of course the community of Xith3D will know more about it, but is it fast? From a lot of benchmarks, it is said to be the slowest, while having great user compatibility.

2) jME, said to be fast, but also said to be confusing of which release is stable, and has poor documentation. (While I said it doesn't matter as much to me, it would be convenient to have good user docs)

3) JOGL, I could also craft my own engine from JOGL, but is it worth the time? Would using an existing engine be more efficient and faster?

4) LWJGL, said to be faster but like jME, not as well documented as JOGL, but what is really faster?

5) Java3D, using the existing Java platform, I really like this, because it will be JUST using the original Java library, it will be more of my own. Yet, like the previous two, will it be better then using existing libraries?

6) DirectX/openGL, in other words should I just learn C++ and go with one of these libraries?

Another question comes up, how are levels, models, and textures from other software imported to the Java engine? How are they set up, Xith does it with .bsp's but how is it done? If I were to make an engine, would I make my own modeler and own files, or would I use existing software and somehow import it into the engine?

I know I'm looking way too far ahead, but I would like to plan the whole thing out before I start programming, and half-way through, I realize I can't do something, and have to start all over with something else.

Thank you very much,
Twitchy5

EDIT: Also, I've heard about Ogre and jOgre, it's not an engine, but a rendering library, is this the same as JOGL and LWJGL? If so, would that be a better choice?
I'm also not trying to flame or anything like that, I just want an honest opinion, with solid facts backing those opinions.
« Last Edit: 28. September 2010, 10:16:48 pm by Twitchy5 » Logged
Marvin Fröhlich
Xith Lord
Administrator
Guru
*****
Offline Offline

Posts: 4381


May the 4th, be with you...


View Profile
« Reply #1 on: 28. September 2010, 11:18:21 pm »

Of course I am pretty biased to Xith3D, since I am one of the major contributors. But these benchmarks, that your refer to are really, really outdated. I knew them when I joined the project over five years ago. Xith has evolved a lot. And it is now at least competitive to jME2. In my tests it is even faster. Some say, it may be a little slower. I guess, that doesn't matter. I don't follow the jME3 progress. So I cannot tell you about this engine.

Xith is said to have the more intuitive API, which I believe means a lot to the development effort.

LWJGL is just an OpenGL binding. So it is not comparable to Xith3D or other Scenegraph engines. It is the most low level, that you can go in Java and OpenGL. It is fast. But it doesn't have a scenegraph. Using a scenegraph correctly speeds up your game performance by far, but van also slow things down, if misused.

Java3D is dying as far as I know.

If you want the very last quantum out of your computer, learn C/C++ and struggle with memory leaks and pointers to nirvana, solve it somehow and be happy Wink. If you want an easy and powerful language and fast development, go with Java (and Xith3D) and utilize maybe 98% of possible performance. In many cases Java with its JIT compiler is not slower than C++, but maybe even faster.

I won't describe the model loaders' implementation in detail here. Just have a look at the code, if you want to know more. Xith supports many model formats, some better, some not so well. BSP support is pretty descent. The only thing missing are BSP shaders (actually not shaders, but a way to describe special textures). If none of the existing model formats fits your needs, go ahead and write your own. But I guess, it is easier to go with an existing format for many reasons.

Marvin
Logged
Twitchy5
Just dropped in

Offline Offline

Posts: 2


View Profile Email
« Reply #2 on: 28. September 2010, 11:50:11 pm »

First of all, thank you for answering.

But these benchmarks, that your refer to are really, really outdated....Xith has evolved a lot.

Yes, this is why I was asking, I see many of those posts from 2004 and 2007, and in the programming world, that's a life time.

learn C/C++ and struggle with memory leaks and pointers to nirvana

Yes, that's the problem with C/C++, is that it is a struggle to locate errors, where as java, it will tell you exactly where it is, and it's very safe, no chance of Buffer Overflow exploits. But I have seen modern benchmarks of problems from coding competitions, and C is faster, but they measure it in milliseconds, how would this add up when put into high poly models and high end graphics?

Currently looking at how to import models using Java. I looked at the Xith code, and it looks that you use JAGaToo and they have no source code, or I just couldn't find it (or it's in the svn).

Thank you,
Twitchy5
Logged
roslamir
Enjoying the stay
*
Offline Offline

Posts: 50



View Profile
« Reply #3 on: 29. September 2010, 12:50:09 am »

You may also look at Ardor3D from the original developers of jME2.

Although I'm still sticking to Xith3D but also looking at jME3.

Roslan
Logged
Marvin Fröhlich
Xith Lord
Administrator
Guru
*****
Offline Offline

Posts: 4381


May the 4th, be with you...


View Profile
« Reply #4 on: 29. September 2010, 09:59:16 am »

But I have seen modern benchmarks of problems from coding competitions, and C is faster, but they measure it in milliseconds, how would this add up when put into high poly models and high end graphics?

Much of the work is done by the graphics card. If you use shaders a lot, it is even more. And Java isn't slow. Don't cmopare it to C, but C++. Using object oriented design, C++ is slower than C. Yuo have to know a lot about the C++ language and general optimizations to optimize the code to perform better than Java. In Java the JIT compiler and other things do a huge part of this job for you.

Currently looking at how to import models using Java. I looked at the Xith code, and it looks that you use JAGaToo and they have no source code, or I just couldn't find it (or it's in the svn).

Have a look at the http://xith.org/ main page. There are links to everything. JAGaToo is just has open source as Xith3D.

Marvin
Logged
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic