Login  Register

Re: Java3D+Javafx doesn't work on Java 14

Posted by runiter on Jun 09, 2020; 3:51pm
URL: https://forum.jogamp.org/Java3D-Javafx-doesn-t-work-on-Java-14-tp4040679p4040686.html

Also I compared the logs generated by Java 8 with Java 14 and noticed these differences:

Java 8:
updateGraphicsConfigurationGDI: ChoosePixelFormat(HDC 0x79011cb0) = pfdID 9, skipCapsChooser true, idx 0 (LastError: 0)
Java 14:
updateGraphicsConfigurationGDI: ChoosePixelFormat(HDC 0xffffffff9c01131a) = pfdID 9, skipCapsChooser true, idx 0 (LastError: 127)

Not sure what LastError: 127 means in Java 14 but might be the cause of this problem.

Java 8:
Factory #0: DeviceCapsType[com.jogamp.nativewindow.windows.WindowsGraphicsDevice, com.jogamp.opengl.GLCapabilitiesImmutable] -> jogamp.opengl.windows.wgl.WindowsWGLGraphicsConfigurationFactory@3f438400
Factory #1: DeviceCapsType[com.jogamp.nativewindow.AbstractGraphicsDevice, com.jogamp.nativewindow.CapabilitiesImmutable] -> jogamp.nativewindow.DefaultGraphicsConfigurationFactoryImpl@224724ae
Factory #2: DeviceCapsType[com.jogamp.nativewindow.awt.AWTGraphicsDevice, com.jogamp.opengl.GLCapabilitiesImmutable] -> jogamp.opengl.windows.wgl.awt.WindowsAWTWGLGraphicsConfigurationFactory@24e20284

Java 14:
Factory #0: DeviceCapsType[com.jogamp.nativewindow.awt.AWTGraphicsDevice, com.jogamp.opengl.GLCapabilitiesImmutable] -> jogamp.opengl.windows.wgl.awt.WindowsAWTWGLGraphicsConfigurationFactory@621016c5
Factory #1: DeviceCapsType[com.jogamp.nativewindow.AbstractGraphicsDevice, com.jogamp.nativewindow.CapabilitiesImmutable] -> jogamp.nativewindow.DefaultGraphicsConfigurationFactoryImpl@2568232
Factory #2: DeviceCapsType[com.jogamp.nativewindow.windows.WindowsGraphicsDevice, com.jogamp.opengl.GLCapabilitiesImmutable] -> jogamp.opengl.windows.wgl.WindowsWGLGraphicsConfigurationFactory@bd91fde

It looks like the order of config factories are reversed. This might be okay. Not sure.

Finally, these logs are missing in Java 8 but exist in Java 14:

AWT pfd[0] 0
WindowsAWTWGLGraphicsConfigurationFactory: PFD IDs: 1, unique: 1
updateGraphicsConfiguration(using shared): hdc 0xffffffff9c0115c7
user chosen caps GLCaps[wgl vid 58 arb: rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms 24/0/8, sample-ext default, dbl, mono  , hw, GLProfile[GL4bc/GL4bc.hw], on-scr[.]]
updateGraphicsConfigurationARB: hdc 0xffffffff9c0115c7, pfdIDCount(hdc) 670, capsChosen GLCaps[wgl vid 58 arb: rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms 24/0/8, sample-ext default, dbl, mono  , hw, GLProfile[GL4bc/GL4bc.hw], on-scr[.]], WINDOW
        isOpaque true (translucency requested: false, compositioning enabled: true)
        extHDC true, chooser true, pformatsNum 1
wglARBPFIDs2GLCapabilities: Invalid pfdID 0/1: 0
updateGraphicsConfigurationARB: wglARBPFIDs2GLCapabilities failed with 1 pfd ids
    [2]: jogamp.fat/jogamp.opengl.windows.wgl.WindowsWGLGraphicsConfigurationFactory.updateGraphicsConfigurationARB(WindowsWGLGraphicsConfigurationFactory.java:450)
    [3]: jogamp.fat/jogamp.opengl.windows.wgl.WindowsWGLGraphicsConfigurationFactory.updateGraphicsConfiguration(WindowsWGLGraphicsConfigurationFactory.java:323)
    [4]: jogamp.fat/jogamp.opengl.windows.wgl.WindowsWGLGraphicsConfigurationFactory.preselectGraphicsConfiguration(WindowsWGLGraphicsConfigurationFactory.java:291)
    [5]: jogamp.fat/jogamp.opengl.windows.wgl.WindowsWGLGraphicsConfiguration.preselectGraphicsConfiguration(WindowsWGLGraphicsConfiguration.java:157)
    [6]: jogamp.fat/jogamp.opengl.windows.wgl.awt.WindowsAWTWGLGraphicsConfigurationFactory.chooseGraphicsConfigurationImpl(WindowsAWTWGLGraphicsConfigurationFactory.java:168)
    [7]: jogamp.fat/com.jogamp.nativewindow.GraphicsConfigurationFactory.chooseGraphicsConfiguration(GraphicsConfigurationFactory.java:424)
    [8]: j3dcore/org.jogamp.java3d.JoglPipeline.createAwtGraphicsConfiguration(JoglPipeline.java:8704)
    [9]: j3dcore/org.jogamp.java3d.JoglPipeline.getBestConfiguration(JoglPipeline.java:8435)
    [10]: j3dcore/org.jogamp.java3d.Renderer.doWork(Renderer.java:497)
    [11]: j3dcore/org.jogamp.java3d.J3dThread.run(J3dThread.java:271)
updateGraphicsConfigurationGDI: hdc 0xffffffff9c0115c7, capsChosen GLCaps[wgl vid 58 arb: rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms 24/0/8, sample-ext default, dbl, mono  , hw, GLProfile[GL4bc/GL4bc.hw], on-scr[.]], WINDOW
        extHDC true, chooser true, pformatsNum 1
Chosen PFDID 10 (idx -1), but not found in available caps (use given pfdIDs true, reqPFDCaps GLCaps[wgl vid 10 gdi: rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms 24/0/0, dbl, mono  , hw, GLProfile[GL4bc/GL4bc.hw], on-scr[fbo]], chosenCaps: GLCaps[wgl vid 10 gdi: rgba 8/8/8/8, opaque, accum-rgba 16/16/16/16, dp/st/ms 24/0/0, dbl, mono  , hw, GLProfile[GL4bc/GL4bc.hw], on-scr[.]]
updateGraphicsConfigurationGDI: ChoosePixelFormat(HDC 0xffffffff9c0115c7) = pfdID 0, skipCapsChooser false, idx -1 (LastError: 0)
updateGraphicsConfigurationGDI: availableCaps[0 -> skip]: pfdID 0, GLCaps[wgl vid 0 gdi: rgba 0/0/0/0, opaque, accum-rgba 0/0/0/0, dp/st/ms 0/0/0, one, mono  , hw, GLProfile[GL4bc/GL4bc.hw], offscr[auto-cfg]]
Empty available capabilities
updateGraphicsConfigurationGDI: failed, return false
    [2]: jogamp.fat/jogamp.opengl.windows.wgl.WindowsWGLGraphicsConfigurationFactory.updateGraphicsConfigurationGDI(WindowsWGLGraphicsConfigurationFactory.java:637)
    [3]: jogamp.fat/jogamp.opengl.windows.wgl.WindowsWGLGraphicsConfigurationFactory.updateGraphicsConfiguration(WindowsWGLGraphicsConfigurationFactory.java:326)
    [4]: jogamp.fat/jogamp.opengl.windows.wgl.WindowsWGLGraphicsConfigurationFactory.preselectGraphicsConfiguration(WindowsWGLGraphicsConfigurationFactory.java:291)
    [5]: jogamp.fat/jogamp.opengl.windows.wgl.WindowsWGLGraphicsConfiguration.preselectGraphicsConfiguration(WindowsWGLGraphicsConfiguration.java:157)
    [6]: jogamp.fat/jogamp.opengl.windows.wgl.awt.WindowsAWTWGLGraphicsConfigurationFactory.chooseGraphicsConfigurationImpl(WindowsAWTWGLGraphicsConfigurationFactory.java:168)
    [7]: jogamp.fat/com.jogamp.nativewindow.GraphicsConfigurationFactory.chooseGraphicsConfiguration(GraphicsConfigurationFactory.java:424)
    [8]: j3dcore/org.jogamp.java3d.JoglPipeline.createAwtGraphicsConfiguration(JoglPipeline.java:8704)
    [9]: j3dcore/org.jogamp.java3d.JoglPipeline.getBestConfiguration(JoglPipeline.java:8435)
    [10]: j3dcore/org.jogamp.java3d.Renderer.doWork(Renderer.java:497)
    [11]: j3dcore/org.jogamp.java3d.J3dThread.run(J3dThread.java:271)
Saeid Nourian, Ph.D. Eng. | Graphing Calculator 3D