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"
Chien Yang
chien.yang at oracle.com
Tue Oct 20 18:29:28 UTC 2015
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
>
More information about the openjfx-dev
mailing list