Integrating javafx ui into custom (jogl based) OpenGL application

Philipp Dörfler phdoerfler at gmail.com
Sat Mar 2 13:30:15 PST 2013


I'd be very interested in integrating pure OpenGL with JavaFX, too.

I imagine that it might be possible to render either the existing OpenGL scene or the JavaFX scene into a framebuffer object with the same resolution and then to share it.
The most important thing is that both share the same OpenGL context, though.

Cheers,
~ Philipp

Am 02.03.2013 um 22:18 schrieb Herve Girod <herve.girod at gmail.com>:

> Yes we only need this kind of stuff via JNI of course.
> 
> 2013/3/2 Scott Palmer <swpalmer at gmail.com>
> 
>> 
>> On 2013-03-02, at 8:09 AM, Herve Girod <herve.girod at gmail.com> wrote:
>> 
>>>> 
>>>> Hi,
>>>> 
>>>> I'm developing a OpenGL based 3d application and instead of writing my
>>>> own ui code I'd like to reuse javafx for the ui part.
>>>> 
>>>> Since getting an OpenGL context from JavaFX seems to be very complicated
>>>> (as discussed here) i thought about a different approach.
>>>> 
>>>> What if javafx could reuse my rendering context.
>>>> I'm thinking of implementing a custom prism backend which renders within
>>>> my application context, after my content was rendered.
>>>> 
>>>> As far as i know is the prism api is an internal implementation detail,
>>>> but it may be possible to ignore changes to it by bundling a specific
>>>> jre version with the application.
>>>> 
>>>> I have not yet digged into prism code but I like to hear your thoughts
>>>> about this approach.
>>>> 
>>>> greetings Christoph
>>>> 
>>>> 
>>> We also would like to integrate a JavaFX UI in an external OpenGL
>> context.
>>> We already do it with regular Swing by leveraging JOGL and another
>>> OpenGL-AWT geom bridge  library in our Open source project (
>>> http://sourceforge.net/projects/j661/), but it's not so simple to to it
>>> well. It would be greate to be able to make JavaFX to work "easily" with
>>> other applications which also use OpenGL.
>>> 
>>> Our use case is integrating Java graphics on top of an external context
>>> created by apps such as a flight simulator terrain rendering for example.
>>> We could also do it in Java of course, but often you have to use an
>>> existing OpenGL renderer for that.
>>> 
>>> However for information it's not necessary to change the JDK to do this
>> in
>>> Swing, even if it is not simple as I said.
>> 
>> I wonder if something as simple as using two windows would work.  Your
>> custom OpenGL window beneath a mostly transparent but otherwise ordinary
>> JavaFX Stage.  The issue of course is keeping the two windows paired up.
>> That's one reason that I've been pushing for access to native window
>> handles (via JNI-only so there are no security concerns).  It would be
>> awesome if we had the ability to make a window via native code that used
>> our JavaFX window as it's parent.
>> 
>> It *seems* like a simple thing to do, but it opens up a world of
>> possibilities.
>> 
>> 
>> Scott
>> 
>> 



More information about the openjfx-dev mailing list