I’ve got some code that initializes OpenGL to render to a java.awt.Canvas.
The problem is, I can’t figure out how I can get the buffer of the canvas and turn it into a BufferedImage.
I’ve tried overriding getGraphics(), cloning the Raster, and replacing the CanvasPeer with a custom one.
I’m guessing OpenGL doesn’t use java graphics in any way then, so how can I get OpenGL’s buffer and convert it into a BufferedImage?
I am using LWJGL’s code for setting parent:
Display.setParent(display_parent);
Display.create();
You need to copy data from OpenGL buffer. I was using this method:
You need to use something similar according to your OpenGL wrapper. This is JOGL example.
And here for LWJGL wrapper:
EDIT
This may be useful also (it’s not fully mine, should be tuned too):