Hi !
Featured games (84)
games approved by the League of Dukes
Games in Showcase (604)
Games in Android Showcase (171)
games submitted by our members
Games in WIP (654)
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  
  Java3D for DTV apps  (Read 1475 times)
0 Members and 1 Guest are viewing this topic.
Offline javazoid

Junior Devvie

Where's Flender?

« Posted 2003-01-28 05:18:28 »

Hi everybody.

I'm investigating Java3D in order to see if it can be used in a 3D titling and effects desktop video application.
After some testing I have the impression that Java3D lacks of at least two important points:

- it does a poor scene antialiasing (edges appear jagged, even when antialiasing is on).

- it does not handle background alpha channel. This makes impossible to draw a scene on a bufferedimage, save it as TGA (with alpha) and blend the image on other graphics.
I know there are some ways to "extract" the alpha mask from a rendered scene frame, buf the results are really ugly and they are not usable for DTV applications.

Does anyone know if the new Java3D 1.3 has some improvements/solutions of the above points ?

Javazoid (Mik)

Offline alexz

Senior Newbie

Java games rock!

« Reply #1 - Posted 2003-01-28 06:30:21 »

I'm not an expert in Java3D but these problems are common regardless of 3D API.

You'll get good scene antialiasing if you render your image in double size then scale the image down to the desired size.

Several years ago I used the following algorithm (if I remember it correctly Wink) to get an image with the alpha channel:
1. Render the scene on black background, lighting off, texturing off (actually I used alpha channel of textures as the color texture to keep the "holes"), geometry color is set to desired alpha value. Grab the result - you've got the alpha channel.
2. Render the scene as usual and grab the result - you've got the color channels.
3. Combine the channels into one image.
This algorithm combined with the scene antialiasing produces good result.

Hope this helps!  Cool
Offline erikd

JGO Ninja

Medals: 16
Projects: 4
Exp: 14 years


« Reply #2 - Posted 2003-01-28 07:50:23 »

Isn't the application you're describing typically something not realtime?
Java3D is designed for realtime 3d graphics.
I can imagine java3d being used in such an app to do some previewing of the scene and then render it in high quality.


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

Junior Devvie

Where's Flender?

« Reply #3 - Posted 2003-01-28 08:29:15 »

Thanks for the hins alexz. Of course I would really like to see the results you achieved.

Thanks erikd, but once you have the scene, how to render the high quality version ? Do you mean that I have to render it with something else than Java3D ? Which renderes is supposed to support the Java3D scenegraph structure/format ?



Offline erikd

JGO Ninja

Medals: 16
Projects: 4
Exp: 14 years


« Reply #4 - Posted 2003-01-28 08:51:45 »

I don't think any renderer supports the java3d structure.
I just guessing here since I don't have much experience with java3d but I suppose you could do it the other way around and import an existing format of a renderer to java3d.
I guess POV could be a good choice since it's free, got lots of tools available, the output can be of very high quality and the file format is easy to understand (it's a script language).
Then again, POV (like all renderers) can also output to fast, low quality for previewing so I'm not sure if importing to java3d will be worth the effort.
Some not free renderers like 3ds-max even have realtime preview functions built in...

Bottomline  is that you can't expect the output from java3d to be of the highest quality possible. It's an api designed for realtime 3d graphics and just not designed for high quality rendering.

Offline javazoid

Junior Devvie

Where's Flender?

« Reply #5 - Posted 2003-01-28 09:12:47 »

My aim is to find a good middlepoint between graphics quality and performance. The output of Java3D is not that bad for DTV. Antialiasing can be an issue, but I could get some nicer output with 4x resampling (even if it can be a little expensive in terms of speed and memory).

Maybe the worst point of Java3D is the lack of a true alpha channel for the background. Maybe I should consider GL4Java but I have little (if no) experience with OpenGL.



Pages: [1]
  ignore  |  Print  
You cannot reply to this message, because it is very, very old.

SHC (31 views)
2015-08-01 03:58:20

Jesse (21 views)
2015-07-29 04:35:27

Riven (42 views)
2015-07-27 16:38:00

Riven (23 views)
2015-07-27 15:35:20

Riven (26 views)
2015-07-27 12:26:13

Riven (16 views)
2015-07-27 12:23:39

BurntPizza (38 views)
2015-07-25 00:14:37

BurntPizza (47 views)
2015-07-24 22:06:39

BurntPizza (32 views)
2015-07-24 06:06:53

NoxInc (38 views)
2015-07-22 22:16:53
List of Learning Resources
by gouessej
2015-07-09 11:29:36

How Do I Expand My Game?
by bashfrog
2015-06-14 11:34:43

List of Learning Resources
by PocketCrafter7
2015-05-31 05:37:30

Intersection Methods
by Roquen
2015-05-29 08:19:33

List of Learning Resources
by SilverTiger
2015-05-05 10:20:32

How to: JGO Wiki
by Mac70
2015-02-17 20:56:16

2D Dynamic Lighting
by ThePixelPony
2015-01-01 20:25:42

How do I start Java Game Development?
by gouessej
2014-12-27 19:41:21 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!