[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-openjfx-dev
Subject:    Re: Feature request: DirectX Support for Java3D / JavaFX on Windows & "Take care that OpenGL1 and Op
From:       Kevin Rushforth <kevin.rushforth () oracle ! com>
Date:       2015-10-20 21:58:40
Message-ID: 5626B910.8080901 () oracle ! com
[Download RAW message or body]

I couldn't quite parse what was being asked for, either, but here is 
what we use for JavaFX on the 3 desktop platforms that we support:

Windows: DirectX 9.0c (fall back to SW on very old machines)
Mac: OpenGL 2.x
Linux: OpenGL 2.x (fall back to SW on old machines or out of date drivers)

We do not presently have an OpenGL 1.x pipeline, nor do we ever plan to 
do this.

-- Kevin


Chien Yang wrote:
> And by default Java 3D uses D3D on Windows too.
>
> - Chien
>
> On 10/20/15, 6:12 AM, Tom Schindl wrote:
>> Hi,
>>
>> 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).
>>
>> Tom
>>
>> 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:
>>> 3.2.1.1
>>> 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 .
>>>
>>> 3.2.1.2
>>> 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
>>
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic