Feature request: DirectX Support for Java3D / JavaFX on Windows & "Take care that OpenGL1 and OpenGL2 are supported by Java3D / JavaFX in a way, that OpenGL1-only computers are not excluded from any function"

Tom Schindl tom.schindl at bestsolution.at
Tue Oct 20 13:12:20 UTC 2015


I've to admit that I could not follow you completely but JavaFX on
Windows is based on DirectX (OpenGL is only provided for Linux/OS-X
where it is the defacto standard and far from dead).


On 16.10.15 13:54, Rolf Hemmerling wrote:
> Hello Java3D / JavaFX core developers!
> Feature request:
> 1. DirectX Support for Java3D / JavaFX on Windows
> 2. "Take care that OpenGL1 and OpenGL2 are supported by Java3D / JavaFX
> in a way, that OpenGL1-only computers are not excluded from any
> function, and OpenGL2 computers benefit from better look of the visual
> view" ( but have no "exclusive" commands which don´t compile or generate
> runtime errors with OpenGL1 systems ).
> 3. Let the end user ( not the Java application developer) select between
> DirectX and OpenGL - similar to the choice available with the 3D engine
> "Unity3d".
> Reason:
> 1. The Past:
> 10-15 years ago, standard desktop PCs were used for gaming on Windows
> too, so with state-of-the-art graphics cards ( with 64-256 MB RAM ) the
> graphics card manufacurers provided state-of-the-art graphics drivers
> (OpenGL1, DirectX).
> 2. Nowadays:
> 2.1 most PCs running Windows use standard graphics drivers supplied by
> Microsoft ( especially for "legacy" computers, especially after upgrade
> of the operating system, e.g. Vista -> Win7 -> Win8 > Win10, especially
> for busines PCs which are not gamer PCs, e.g. notebooks with
> non-dedicated graphics cards ), and not by the graphics card
> manufacturers AMD & NVidia.
> 2.2 Microsoft's standard drivers supplied win Win7 / Win8 support still
> OpenGL1 and DirectX ( by installation of a DirectX runtime), but usually
> not OpenGL2. There is no option to upgrade a PC by installing a (newer)
> OpenGL1 or OpenGL2 driver.
> 2.3 Even with some Macintosh PCs, there is some lack of (advanced)
> OpenGL2 support I was told by the team which develop "Processing" ( see
> below )
> 3. My observations & opinion:
> 3.1
> Directx9 is standard on the Windows platform since 15 years ( works with
> all AGP graphics cards and first generations of PCIExpress graphics
> cards, and any non-dedicated graphics cards of notebooks ), while
> DirectX 10 / 11 / 12 is just upgrade available for gamer PCs.
> Request: So if there should be DirectX for Java3D / JavaFX on Windows,
> then it should be full support of DirectX9, and optional use of DirectX
> 10 /11 /12.
> 3.2
> OpenGL1 is outdated ( does not make use of advanced hardware graphics
> functions,.. ) but supported by almost all PCs.
> OpenGL 2.0 is not available with most PCs running Windows, while running
> Ubuntu Linux on the same machine offers such support in some cases even
> on the same hardware.
> OpenGL 2.0 is even not available to some current Macintosh PCs
> My case:
> I installed
> http://www.processing.org/
> http://www.github.com/processing/
> , a Java application with special OpenGL1 libraries ( Processing 1.5.1 )
> and special OpenGL2 libraries ( Processign 2.2.1 and newer )
> 3.2.1
> Processing 1.5.1, using OpenGL1:
> The 3D demo applications works fine on all my Windows computers
> 3.2.2
> Processing 2.2.1, using OpenGL2:
> The demo applications of the folder “Camera”, “Demos” - and maybe some
> others, but not all - crash by the Java error message
> “Framebuffer objects are not supported by this hardware (or driver) Read
> http://wiki.processing.org/w/OpenGL_Issues for help”
> , on my
> 1. “Athlon XP2400” desktop computer with NVIDIA GeForce 6600 graphics
> card and webcam, with Win7 .
> 2. Notebook “Dell Vostro 1000”, with Win8.1 .
> 3. Notebook “ASUS Eee PC T101MT”, with Win8.1 .
> The demo applications work well on my
> 1. Notebook “Dell Vostro 1000”, with Ubuntu Linux 14 LTE .
> See above, its the same hardware, just other operating system.
> ******************
> The Processing developers gives some explanations about the use of
> OpenGL ..
> https://github.com/processing/processing/wiki/OpenGL-Issues
> and why / that OpenGL2 is not a standard for most PCs, both
> Windows-hardware and even some Macintosh-hardware. And they point to the
> fact, that OpenGL2 support for "older" PCs is not available with Linux
> too...
> ******************
> So they just don´t support all my computers with their new Processing
> 2.2.1 version, and its successors Processing 3,..
> My statement: Java3D / JavaFX is not for gamers, but also for business
> graphics, so missing "state of the art 3D power" is no reason not to
> provide full 3D support - usual Java applications are not counted by
> "frames / second". And JavaFX is for business menu applications too!
> 4.
> Feature request: Please let check your JavaFX / Java3D API, if it uses
> the OpenGL Framebuffer feature in a way, so that Java error message
> “Framebuffer objects are not supported by this hardware (or driver) Read
> http://wiki.processing.org/w/OpenGL_Issues for help”
> might happen too. If so, please fix that.
> Find a way to support both:
> 4.1 OpenGl1 ( for legacy and business PCs, or PCs which were just
> "upgraded" with a new Windows where the graphics card manufacturer
> doesn´t provide specific graphics drivers and so you are stuck to
> Microsoft's standard drivers ),
> 4.2 and OpenGL2 with the same library - so give full power of Java3D /
> JavaFX even for OpenGL1 computers without need to adopt the software,
> but give more speed or better / prettier view to those users which have
> an OpenGL2 computer.
> In case of the "Processing" platform, the small team states that they
> don´t have enough manpower to do that. Ok. But please Java-Developer
> team, don´t use that as excuse for the "big" Java3D / JavaFX development.
> 5. Warning:
> If I should ever see a message
> "Java error message “Framebuffer objects are not supported by this
> hardware (or driver) Read http://wiki.processing.org/w/OpenGL_Issues for
> help”
> with a business or technical software which by this prevents me from
> using, on my PCs, as end-user of the software on a state-of-the-art
> operating system ( currently Win7, Win8, Win10 ) - even if my PC is
> legacy but properly running this operating system -, I would be very
> dissatisfied, and this would make anger against Java definitely probably
> not just with me.
> Remember that it is/was "normal" to exclude people from using software,
> in the Windows world, by claiming "oh it just works on W2k / WinXp /
> Win7, please buy a new computer or upgrade your operating system".
> Well this urging doesn´t work with Java, the Java communmity is not in
> the position to demand to buy "openGL2 compatible hardware", if it lacks
> in the shops, especially with budget offers.
> From that point of view, "Processing" is dead for me, though intended
> for education ( of kid, pupils, students ), who cares if the 3D graphics
> doesn´t run on most computers ( owned by the kids, pupils, students,..)?
> Do you want the teacher ask the parents "oh buy another  new computer or
> change the operating system, as the computer with which your child is
> coming to the classroom, doesn´t support OpenGL2, so its a garbage and
> worthless. Without another computer with OpenGL support the pupil can´t
> participate in our computer course" ?!
> Yes I want to start a flame.... in the mind of Java3D / JavaFX
> developers :-).
> OpenGL is dead.. ist doesn´t just smell funny.
> Sincerely
> Rolf Hemmerling

Thomas Schindl, CTO
BestSolution.at EDV Systemhaus GmbH
Eduard-Bodem-Gasse 5-7, A-6020 Innsbruck
Reg. Nr. FN 222302s am Firmenbuchgericht Innsbruck

More information about the openjfx-dev mailing list