Why JavaFX?

how-to
May 13, 20081 min

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: