This post was updated on .
Hello guys!
I just ported the LWJGL-FX (fast JavaFX/OpenGL integration) to JOGL. I wonder how I should implement the following stuff correctly?
|
I published the source here: https://github.com/AqD/JOGL-FX
It includes only the OpenGL to JavaFX node part, since I don't need to embed JavaFX into OpenGL texture. No dependency on LWJGL. The performance seems the same as the original LWJGL version. However, the RenderStream approach looks incompatible with existing GLAutoDrawable/Animators/GLPanel etc in JOGL (simpler & cleaner IMO) and will requires change in applications. |
Administrator
|
aqd, thank you very much, it is really cool, I'm gonna mention it in the main bug report about OpenJFX / JavaFX.
Big kudos to you :) Great job. Edit.: Is the remaining unported code difficult to port to JOGL?
Julien Gouesse | Personal blog | Website
|
All ported now and 3D webview inside Gears is running fine. I haven't tested the Intel-specific code, and clearly there is some serious memory leak issue with resize. Buffers never get released and each resize allocates more memory.
|
Administrator
|
It's easy to fix, isn't it? Once the buffer is unbound, you can destroy the direct NIO buffer.
Julien Gouesse | Personal blog | Website
|
How am I supposed to destroy buffers created by jogl JNI code?
|
Administrator
|
On 08/17/2014 02:06 PM, aqd [via jogamp] wrote:
> How am I supposed to destroy buffers created by jogl JNI code? Use 'glUnmapBuffer(..)' We hook to the GL API entries map/unmap to track the buffer mapping. See Siggraph 2014 slides and <https://jogamp.org/bugzilla/show_bug.cgi?id=993#c1> ~Sven signature.asc (828 bytes) Download Attachment |
I ported WorldWind to it but somehow it uses more than triple memory (several GBs) than before, and there are weird freeze like 1 in every 5 seconds after I load everything (global country paths, dozens of duck collada models etc) - which might be caused by AWT lock as indicated in VisualVM.
While it shows progress, it's simply not ready for our project. I'll stop here until the OpenGL pipeline can be integrated directly into JavaFX :( |
Administrator
|
Your port is valuable. As I already wrote, there are some missing elements that prevent the implementation of a solid JOGL pipeline within OpenJFX / JavaFX. OpenJFX isn't bundled with OpenJDK 1.8, I can't help.
Julien Gouesse | Personal blog | Website
|
Administrator
|
On 08/17/2014 09:22 PM, gouessej [via jogamp] wrote:
> Your port is valuable. As I already wrote, there are some missing elements > that prevent the implementation of a solid JOGL pipeline within OpenJFX / > JavaFX. OpenJFX isn't bundled with OpenJDK 1.8, I can't help. I am also not sure whether I can help here, however - if lead properly w/ detailed information and code I will try to. In short: If you, 'aqd', like to work and maintain such toolkit binding within JOGL - we will try our best to support you. If 'OpenJFX' is 'deployable'/usable we surely want to go that route, since 'JavaFX' might contain non-free code. ~Sven signature.asc (828 bytes) Download Attachment |
This post was updated on .
I found that Java 8u11 is shipped with prism-es2.dll for Windows and it could use the es2 pipeline after adding required classes from the linux version and compiling 4 WGL... classes from OpenJDK into jfxrt.jar.
Since GL calls are native calls, does that mean I could just paint directly on Prism's GLContext by using JOGL calls? PS: The JOGL/FX integration demo works much better with ES2 pipeline than D3D on Windows - double FPS for AMD_pinned_memory and async PBO! |
Administrator
|
Yes, it avoids driver conflicts, nice finding :)
Julien Gouesse | Personal blog | Website
|
In reply to this post by aqd
I made the demo of JOGL on JavaFX ES2 pipeline (Windows). Quite simple actually, the demo code is uploaded to https://github.com/AqD/JOGL-FX
The control trees are preserved and things are running surprisingly well when my node is behind (I put it in TabPane). But I don't understand why all display lists all gone after each render call - I don't delete them and there is no deletion call from Prism-ES2. I'll try if I can port WorldWind to it..... |
Free forum by Nabble | Edit this page |