Posted by
runiter on
May 01, 2020; 4:41am
URL: https://forum.jogamp.org/Shutting-down-Java3D-tp4040572.html
Is there a proper way to shut down Java3D before calling System.exit()?
When I call System.exit() I get the following exception so it makes me think perhaps I need to shutdown Java3D before calling System.exit():
com.jogamp.opengl.GLException: Error making context 0x40000 current on Thread J3D-Renderer-1, drawableWrite 0x2f011187, drawableRead 0x2f011187, werr: 0, WindowsWGLContext [Version 4.6 (Compat profile, arb, compat[ES2, ES3, ES31, ES32], FBO, hardware) - 4.6.0 NVIDIA 432.00 [GL 4.6.0, vendor 432.0.0 (NVIDIA 432.00)], options 0x7c03, this 0x6a3a1c, handle 0x40000, isShared false, jogamp.opengl.gl4.GL4bcImpl@146cb8a,
quirks: [NoDoubleBufferedBitmap, NoSurfacelessCtx],
Drawable: ResizeableImpl[Initialized true, realized true, texUnit 0, samples 8,
Factory jogamp.opengl.windows.wgl.WindowsWGLDrawableFactory@1315fe,
Handle 0x2f011187,
Caps GLCaps[wgl vid 9 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], offscr[fbo]],
fboI back 0, front 0, num 1,
FBO front read 2, FBO[name r/w 2/2, init true, bound true, size 894x862, samples 0/32, modified false/false, depth RenderAttachment[type DEPTH, format 0x81a6, samples 0, 894x862, name 0x3, obj 0x1c1bf4], stencil null, colorbuffer attachments: 1/8, with 1 textures: [TextureAttachment[type COLOR_TEXTURE, target GL_TEXTURE_2D, level 0, format 0x8058, 894x862, border 0, dataFormat 0x80e1, dataType 0x8367; min/mag 0x2600/0x2600, wrap S/T 0x812f/0x812f; name 0x1, obj 0x1eaac1], null, null, null, null, null, null, null], msaa[null, hasSink false, dirty true], state OK, obj 0x1b7e760],
FBO back write 1, FBO[name r/w 1/2, init true, bound true, size 894x862, samples 8/32, modified false/false, depth RenderAttachment[type DEPTH, format 0x81a6, samples 8, 894x862, name 0x2, obj 0x11592af], stencil null, colorbuffer attachments: 1/8, with 0 textures: [ColorAttachment[type COLOR, format 0x8058, samples 8, 894x862, name 0x1, obj 0x586647], null, null, null, null, null, null, null], msaa[TextureAttachment[type COLOR_TEXTURE, target GL_TEXTURE_2D, level 0, format 0x8058, 894x862, border 0, dataFormat 0x80e1, dataType 0x8367; min/mag 0x2600/0x2600, wrap S/T 0x812f/0x812f; name 0x1, obj 0x1eaac1], hasSink true, dirty true], state OK, obj 0x1f2f4c2],
Surface GDISurface[ displayHandle 0x0
, surfaceHandle 0x2f011187
, size 894x862
, UOB[ OWNS_SURFACE | OWNS_DEVICE | WINDOW_INVISIBLE ]
, WindowsWGLGraphicsConfiguration[DefaultGraphicsScreen[WindowsGraphicsDevice[type .windows, connection decon, unitID 0, handle 0x0, owner false, NullToolkitLock[obj 0xa5ad8b]], idx 0], pfdID 9, ARB-Choosen true,
requested GLCaps[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], offscr[fbo]],
chosen GLCaps[wgl vid 9 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], offscr[fbo]]]
, surfaceLock <5b9ba3, 107e6b8>[count 2, qsz 0, owner <J3D-Renderer-1>]
, GDIDummyUpstreamSurfaceHook[pixel 894x862]
, upstreamSurface false ]]]
at jogamp.opengl.windows.wgl.WindowsWGLContext.makeCurrentImpl(WindowsWGLContext.java:442)
at jogamp.opengl.GLContextImpl.makeCurrentWithinLock(GLContextImpl.java:840)
at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:648)
at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:586)
at org.jogamp.java3d.JoglPipeline.useCtx(JoglPipeline.java:7264)
at org.jogamp.java3d.Canvas3D.useCtx(Canvas3D.java:4861)
at org.jogamp.java3d.Canvas3D.makeCtxCurrent(Canvas3D.java:2423)
at org.jogamp.java3d.Canvas3D.makeCtxCurrent(Canvas3D.java:2406)
at org.jogamp.java3d.Renderer.doWork(Renderer.java:997)
at org.jogamp.java3d.J3dThread.run(J3dThread.java:271)