The pbuffer object is, as I understand it, actually deprecated in the current OpenGL "codescape", and instead one should use more modern objects such as frame buffer objects for such rendering tasks -- again, I'm not really up-to-date on this issue and would welcome hearing more expert opinions. jReality does have some rudimentary support for FBO's, in order to create textures which can be used in the rendering process. See for example de.jreality.jogl.JOGLFBOViewer, and the associated tutorial de.jreality.tutorial.viewer.JOGLFBOTextureExample. The offscreen rendering could be ported to work in this context if there is enough interest, or if someone wants to jump in and do it.
Finally, in the interests of tracking down the bug you've encountered in offscreen rendering: I don't think we've established yet whether it's a bug in the Intel graphics configuration you have, or in jReality proper. As I mentioned, I make heavy use of the offscreen renderer and at the current time know of no issues with it, except for problems saving the alpha channel correctly. As a way of answering this question, I would be interested if you could make the following changes to your code and report the results:
1) Leave display lists turned off.
2) Either turn off display of vertices and lines with the following code ...:
Code: Select all
ap.setAttribute(CommonAttributes.VERTEX_DRAW, false);
ap.setAttribute(CommonAttributes.EDGE_DRAW, false);
Code: Select all
ap.setAttribute(CommonAttributes.SPHERES_DRAW, false);
ap.setAttribute(CommonAttributes.TUBES_DRAW, false);
Code: Select all
ap.setAttribute(CommonAttributes.POINT_SIZE, ...);
ap.setAttribute(CommonAttributes.LINE_WIDTH, ...);
For more information on the display of points and lines in the JOGL backend, see this tutorial and this tutorial.