1
Support / JPCT and Jide Docking Framework
« on: September 01, 2021, 10:42:00 am »
In our project we use JPCT together with Jide Docking Framework (http://www.jidesoft.com/products/dock.htm). Jide arranges components in "frames". The JPCT canvas (buffer.enableGLCanvasRenderer()) is also running as a separate "frame", so user can move/minimize/maximize the frame freely. Jide frames works perfectly with swing components, but has issues when it comes to JPCT. When application starts everything works OK: the JPCT canvas displays the world with all objects (see screenshot "before.png" in attachments). However when JPCT frame is moved/minimized/maximized/etc most of the objects "disappears" (screenshot "after.png"). It is extremely hard to identify what exactly produces such issues. Neither Jide or JPCT logs any errors. Since not all objects "disappear" but most of them it looks like JPCT issue. So the question is - is it a JPCT issue? Can you point me to correct direction if the issue is related to JPCT?
Some code related to JPCT init:
Some code related to JPCT init:
Code: [Select]
...
protected void setupFrameBuffer(Dimension size) {
Dimension framebufferSize = size == null ? Toolkit.getDefaultToolkit().getScreenSize() : size;
_buffer = new FrameBuffer(framebufferSize.width, framebufferSize.height, FrameBuffer.SAMPLINGMODE_NORMAL);
_frameBufferBGColor = DEFAULT_FRAMEBUFFER_BG_COLOR;
_buffer.disableRenderer(IRenderer.RENDERER_SOFTWARE);
_buffer.enableRenderer(IRenderer.RENDERER_OPENGL);
_canvas = _buffer.enableGLCanvasRenderer();
_textureHandler.setFrameBuffer(_buffer);
_textureHandler.setCanvas(_canvas);
getNotifier().rendererInitialized(_canvas);
}
...
public void updateFrameBuffer() {
_performanceStatistics.incrementFPS();
_performanceStatistics.startMethod();
_buffer.clear(_frameBufferBGColor);
world.renderScene(_buffer);
world.draw(_buffer);
_textureHandler.blit();
_buffer.update();
_videoHandler.encodeFrame(_currentDate);
_buffer.displayGLOnly();
_canvas.repaint();
_performanceStatistics.endDrawMethod();
}