Chris Oliver's Weblog
- All
- F3
- JavaFX
- Programming
Why JavaFX?
Our goal with JavaFX is to deliver a "media" stack for the Java platform. What does that mean? Well, in simple terms, 5 things:
- Audio
- Video
- 2D Graphics
- 3D Graphics
- Animation
We've been working on a new graphics stack for JavaFX, consisting of an integrated 2D+3D JavaFX script scene graph based on a hardware accelerated shader-based immediate mode Java API which fits seamlessly into the OpenKode platform mentioned in my previous post. Of course, this same Java/JavaFX API can also sit on top of OS-specific, proprietary frameworks, such as CoreVideo+CoreAudio on MacOS. Several of our J1 keynote demos actually demonstrated this, namely the two video demos shown here.
This stack is gpu-accelerated 3D "all the way down". 2D vector paths are tessellated and fed directly to the 3D graphics driver and rendered via fragment shaders. For example, the movies in the second demo can be replaced with any arbitrary 2d rendering:
Posted at 11:11AM May 13, 2008 by Christopher Oliver in JavaFX | Comments[9]
Chris, is this going to be JavaFX only, or can one access this stack from pure Java too?
Posted by Jacek on May 14, 2008 at 04:38 AM PDT #
Notice Chris said "JavaFX", not "JavaFX Script". JavaFX Script is just part of the whole JavaFX push to get better graphics on Java. So, yes, all this will be accessible from Java. Start playing with the scenegraph library if you're interested.
Posted by 76.21.13.66 on May 14, 2008 at 08:05 AM PDT #
That is very good news, I will attempt to get to know scenegraph a bit better...
Posted by Jacek on May 14, 2008 at 08:24 AM PDT #
Chris, I'm having trouble understanding the whole JavaFX video thing. I thought that Java Media Components was going to be added to JDK 7, and that JavaFX would be using JMC for its video capabilities. Now it seems like maybe the situation has reversed, and that only JavaFX will have the media capabilities. Video is a major part of my company's product, and I'd like to know more about the upcoming audio/video support so that I can plan ahead.
Posted by Coffeejolts on May 14, 2008 at 10:30 AM PDT #
Chris -
Can you comment a little more about sitting on top of OS X technoolgy like CoreImage?
Does this use Java2D as an intermediary level, or are you completely bypassing the graphics in the JDK and talking directly to the OS?
I'm asking because I really need to know the OS X story before I can commit to learning a whole new system like this.
The more I hear about JavaFX, the more I'm having trouble wrapping my head around what it is exactly :-)
Posted by Willis Morse on May 14, 2008 at 11:19 AM PDT #
you changing my design now chris.
bomb dropped!
its a dream stack to work with tbh.
Posted by Anthony Rogers on May 15, 2008 at 08:52 AM PDT #
@Willis Morse: I think they use the J3D API for passing shaders to the HW, so there's probably only little of Java. BTW they use their own language to write shaders that is translated to specific shading languages:-o
Posted by goddard on May 16, 2008 at 10:52 AM PDT #
I see windows ce and others os platforms... Any work being done for a mobile solaris??
Posted by Jim on May 31, 2008 at 12:49 PM PDT #
I looked into JavaFX a bit and it looks interesting. But...
Having to each time click on OK in different dialogs and wait for the thing to actually load and run take way too long time. Even the 3kb demos are slow to load. How could this possibly replace what exists (insert your favorite RIA here) today?
Posted by Jeria on June 02, 2008 at 01:45 PM PDT #