Combining JavaFX with native UI and shaders?

Rob Nikander rob.nikander at gmail.com
Wed Sep 20 16:05:08 UTC 2023


Yeah, I’ve used Java/JVM a lot and I appreciate the platform independent aspects. 

I’ve heard Python people say that their app-design philosophy is to build most of it in Python but drop down into C for the bits where they want to optimize performance in the extreme. So they sacrifice some of the run-anywhere convenience for that. I would use Python myself but the lack of a nicer type system with generics drives me nuts, so I was hoping a similar technique would be available in Java/JavaFX. 

I hadn’t considered the gaming engines. I’ll take a look at those.

thanks,
Rob


> On Sep 20, 2023, at 3:51 AM, John Hendrikx <john.hendrikx at gmail.com> wrote:
> 
> The idea behind JavaFX (and most Java API's) is to provide a platform independent API, allowing you to write things once and have it run on all supported platforms.  Exposing an API that is only available on one platform would go against that idea. You either need to do a lot of hacking to reach the underlying metal API's, or use JavaFX only as an overlay (having JavaFX run in a transparent child window) while the main window is accessed directly (also needs some hacking), or use another framework more suited to your purpose (maybe one of the gaming frameworks).
> 
> --John
> 
> On 20/09/2023 00:04, Rob Nikander wrote:
>> Hi,
>> 
>> I’m interested in using JavaFX for a app’s UI, but for parts of the UI I want to use the native OS’s GPU API, to get the maximum possible performance. So on macOS, for example, I want to render it with Metal and write Metal shaders. Is this possible, maybe with help from JNI?
>> 
>> Rob
>> 



More information about the openjfx-dev mailing list