• Advertisement
Sign in to follow this  

[java] How far can Java3d go?

This topic is 4613 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

We're in the design phase of our RPG, and my 3d modelers want to do our game in 3d now instead of 2d, so I have a tough question for you: Out of all the games in the market, which can acheive what Java3d can develop without a performance hit?

Share this post


Link to post
Share on other sites
Advertisement
if you want to use java you can compile it to native binary code using gcj.

therefore it will be as fast as most other languages => no performance hit!

Share this post


Link to post
Share on other sites
Quote:
Original post by Genjix
if you want to use java you can compile it to native binary code using gcj.

therefore it will be as fast as most other languages => no performance hit!


I was planning the use of applets, so that wouldn't really work.

Share this post


Link to post
Share on other sites
so let me get this straight. you want to make a 3D browser applet and expect some decent fps? unless there is going to be really low-res models i wouldn't suspect so. sorry.

Share this post


Link to post
Share on other sites
Quote:
Original post by Genjix
so let me get this straight. you want to make a 3D browser applet and expect some decent fps? unless there is going to be really low-res models i wouldn't suspect so. sorry.


hehe yeah, I was just thinking of that. I'd have some angry players. You can buy it, but you can't play it! I origionally had the applet planned for 2d, but everyone wants 3d now. I can't resist.. my 3d modeler rocks :) I'll just use Managed DirectX w/ C# if it's going to be a desktop app.

Share this post


Link to post
Share on other sites
Quote:
Original post by Genjix
so let me get this straight. you want to make a 3D browser applet and expect some decent fps? unless there is going to be really low-res models i wouldn't suspect so. sorry.

Your statement is utterly wrong.

Java AgentFX runs in a browser and runs very good at that. Is there a reason you made such an utterly wrong blanket statement?

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:
Original post by phil05
We're in the design phase of our RPG, and my 3d modelers want to do our game in 3d now instead of 2d, so I have a tough question for you: Out of all the games in the market, which can acheive what Java3d can develop without a performance hit?


Humm... I'd stick with 2D if I were you. Good 3D games require professionals, and even they don't make great 3D games all the time. Unless, of course, you are professionals.

Share this post


Link to post
Share on other sites
Saruman, thanks for showing this. It makes me want to continue persuing java now. i hate it when i'm given false information. Java continues to impress me.

[Edited by - phil05 on May 30, 2005 7:20:58 PM]

Share this post


Link to post
Share on other sites
If your considering Java3D, you might also consider:
LWJGL (www.lwjgl.org)
jogl
Xith3D (http://xith.org/tiki-index.php)
JME (http://jmonkeyengine.com)

Share this post


Link to post
Share on other sites
JOGL is what I'm going for. While I learn it, sure, I'll make a 2d version of the game. I'm already in the process, but I'm still converting my C# code to Java.

Share this post


Link to post
Share on other sites
Quote:
Original post by Anonymous Poster
Humm... I'd stick with 2D if I were you. Good 3D games require professionals, and even they don't make great 3D games all the time. Unless, of course, you are professionals.

To each his own I guess, I have no problems developing 3D games but if you ask me to do anything using a 2D API good luck.

Share this post


Link to post
Share on other sites
Quote:
Original post by Saruman
Quote:
Original post by Genjix
so let me get this straight. you want to make a 3D browser applet and expect some decent fps? unless there is going to be really low-res models i wouldn't suspect so. sorry.

Your statement is utterly wrong.

Java AgentFX runs in a browser and runs very good at that. Is there a reason you made such an utterly wrong blanket statement?


could you offer me some sort of proof why? java applets are already considered very slow, add to that browser inter-operability adds another abstraction layer.
and yet he wants to do 3D programming... already one of the most performance intensive tasks that can be run on your processor (short of finding a cure for cancer). i'm not even sure if java applets enable to make use of shaders.

Share this post


Link to post
Share on other sites
Quote:
Original post by Genjix
could you offer me some sort of proof why? java applets are already considered very slow, add to that browser inter-operability adds another abstraction layer.
and yet he wants to do 3D programming... already one of the most performance intensive tasks that can be run on your processor (short of finding a cure for cancer). i'm not even sure if java applets enable to make use of shaders.

The proof is in looking at AgentFX.. geez how much proof do you need other than seeing a java 3D engine running and being licensed?

Also I don't see why people enjoy making blanet statements like the one above about shaders.. instead of just guessing on what you think and spreading bad information why don't you take 30 seconds to notice that even AgentFX supports Cg shader programming.

Share this post


Link to post
Share on other sites
Quote:
Original post by Saruman
Quote:
Original post by Genjix
could you offer me some sort of proof why? java applets are already considered very slow, add to that browser inter-operability adds another abstraction layer.
and yet he wants to do 3D programming... already one of the most performance intensive tasks that can be run on your processor (short of finding a cure for cancer). i'm not even sure if java applets enable to make use of shaders.

The proof is in looking at AgentFX.. geez how much proof do you need other than seeing a java 3D engine running and being licensed?

Also I don't see why people enjoy making blanet statements like the one above about shaders.. instead of just guessing on what you think and spreading bad information why don't you take 30 seconds to notice that even AgentFX supports Cg shader programming.


Quote:

i'm not even sure if java applets enable to make use of shaders.


I didn't say it didn't. But if someone asked you what the worst thing about java was, then what would it be?

3D apps need to make more use of the processor than other apps. That is the reason I made such an utterly wrong blanket statement.

Share this post


Link to post
Share on other sites
Quote:
Original post by Optus
Of course Java can't run anything 3D. All of those vertices and shaders have to be byte-interpreted in real-time!! And there's no way in hell you could EVER make it run in a browser, ESPECIALLY IF IT'S AN MMORPG!!!

</End level 2 Sarcastic Spell of Troll Banishment>


<del>actually thats kind of impressive, i never knew a java app was that capable. But still you must admit it is still rather grainy and java apps are incredibly slooooow compared to most other programs (limewire is a prime example).

And still java is not suitable for high end apps, due to the fact its byte interpreted.</del>

I actually detract my comments after seeing screenshots of java 3D engine.
Though in my opinion i still think java is slow and wouldn't use it for a high end app.

As for running an applet through a browser... why is this not slow? doesn't it add an extra abstraction layer?

Share this post


Link to post
Share on other sites
Java the language is not slow. I've written 3-D games in Java before, and seen demos at the Sun booth at GDC which prove beyond a shadow of a doubt that Java can do graphics processing at interactive speeds. Now, I wouldn't rush off and try and write a software renderer in interpreted bytecode, but for JIT-compiled game logic and scene graph handling it's all right. An RPG, for instance, doesn't require fancy BSP-rendered portal-culled shadow-volume-extruded havok-physics-enabled geometry, it's just a handful of 3-D sprites, maybe with a few skinned meshes. This is not an example of a game that's CPU bound.

I've seen RuneScape - my gf was addicted to it for a while. Naturally you can get much higher quality art assets if you put the game on a CD/DVD than if you stream them over the net, but that's a design decision.

As for Java3D - the last time I used it was 5 years ago, and it was absolute crap. I'd be very surprised if they haven't improved it significantly though.

Tom

Share this post


Link to post
Share on other sites
Quote:
Original post by Optus
Of course Java can't run anything 3D. All of those vertices and shaders have to be byte-interpreted in real-time!! And there's no way in hell you could EVER make it run in a browser, ESPECIALLY IF IT'S AN MMORPG!!!

</End level 2 Sarcastic Spell of Troll Banishment>


What are you talking about? A modern java runtime compiles the byte code into native code before exectution. And vertices / pixel shaders are all done on GPU anyway.

Java these days is quite capable of high end applications. Ok its not quite as fast as C/C++ but its pretty damm close- and getting faster with each new JRE.

I'm certainly no java fanatic and I plan to switch to C++ after my current project- but I the short time that I have been using java I have gained a lot of respect for the language.

Share this post


Link to post
Share on other sites
Quote:
Original post by Genjix
<del>actually thats kind of impressive, i never knew a java app was that capable. But still you must admit it is still rather grainy and java apps are incredibly slooooow compared to most other programs (limewire is a prime example).

And still java is not suitable for high end apps, due to the fact its byte interpreted.</del>

I actually detract my comments after seeing screenshots of java 3D engine.
Though in my opinion i still think java is slow and wouldn't use it for a high end app.

As for running an applet through a browser... why is this not slow? doesn't it add an extra abstraction layer?


You don't have a very good opinion then. Also you don't know much about how Java runs on any machine. Java is compiled to byte-code on the developers machine, but during execution it is precompiled to native code before it is run. The JVM also coninually optimizes the running code, so the longer it runs the faster it runs. The only thing slow about Java now is the start up time for the JVM. I would recommend you read http://www-106.ibm.com/developerworks/java/library/j-jtp01274.html to understand what the JVM does.

Share this post


Link to post
Share on other sites
i know how java runs and behaves, but if I want to make something where performance is already an issue I wouldn't use java. simple as that.

Share this post


Link to post
Share on other sites
Which just shows your ignorance. Unless you are making a bleeding edge game that needs to blow everything on the market out of the water, Java is up to the task.

Share this post


Link to post
Share on other sites
Quote:
Original post by CaptainJester
Which just shows your ignorance. Unless you are making a bleeding edge game that needs to blow everything on the market out of the water, Java is up to the task.


so if thats ignorance why do we bother implementing octrees, scene-graphs, view culling, space partitioning, md2 glcommands?

Share this post


Link to post
Share on other sites
Genjix, how about we settle it by you showing us a demo of your engine/game in whatever language you want, and we'll compare the performance to AgentFX or another Java game/engine. Maybe then you will realize that performance with C++/C#/Java is not an issue unless you are making Doom3.. which a single person obviously isn't doing.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement