Using JOGL with QtJambi

Hi !

I’m trying to use JOGL with QtJambi. I’m using code I found in tutorials (some of them are very old) and forums but nothing is displayed. The QGLWidget initialization prevents the window to be displayed.
I have no error in the console. The program is running, but there is no window.

Is there something I’m doing wrong ?

Here is my code.

The GLWidget


public class QtJOGLTestGLWidget extends QGLWidget
{
	protected GLContext context; 
	protected GL gl; 
	
	public QtJOGLTestGLWidget()
	{
		this(null); 
	}
	
	public QtJOGLTestGLWidget(QWidget parent)
	{
		super(parent); 
	}
	
	@Override
	protected void initializeGL()
	{
		GLProfile profile = GLProfile.get(GLProfile.GL2); 
		GLCapabilities glCaps = new GLCapabilities(profile); 
		glCaps.setPBuffer(true); 
		GLDrawableFactory factory = GLDrawableFactory.getFactory(profile); 
		this.context = factory.createExternalGLContext(); 
		this.gl = this.context.getGL(); 
	}
	
	@Override 
	protected void resizeGL(int w, int h)
	{
		GL2 gl2 = this.gl.getGL2(); 
		gl2.glViewport(0, 0, w, h);
		gl2.glMatrixMode(GL2.GL_PROJECTION);
		float r = 3.0f / 2.0f;
		gl2.glLoadIdentity();
		gl2.glFrustum(-0.2, 1 * r, -0.2, 1.2, 1, 2000);
	}
	
	@Override
    protected void paintGL()
    {
		GL2 gl2 = this.gl.getGL2(); 
		
		gl2.glMatrixMode(GL2.GL_MODELVIEW);
		gl2.glLoadIdentity();

		gl2.glBegin(GL.GL_TRIANGLES);
		{
		    gl2.glColor3f(1, 0, 0);
		    gl2.glVertex3f(0, 0, -1);
		    gl2.glColor3f(0, 1, 0);
		    gl2.glVertex3f(0, 1, -1);
		    gl2.glColor3f(0, 0, 1);
		    gl2.glVertex3f(1, 0, -1);
		}
		gl2.glEnd();
    }
}

The window


public class QtJOGLTestFrame extends QMainWindow
{
	protected QtJOGLTestGLWidget glWidget; 
	protected QGridLayout gridLayout; 
	
	public QtJOGLTestFrame()
	{
		this.gridLayout = new QGridLayout(); 
		this.glWidget = new QtJOGLTestGLWidget(this); // This line prevents the window to be displayed 
		this.gridLayout.addWidget(this.glWidget, 0, 0); 
		
		QWidget widget = new QWidget(); 
		widget.setLayout(this.gridLayout); 
		this.setCentralWidget(widget); 
		this.setWindowTitle("Hello JOGL");
	}
}

Main


public class QtJOGLTest
{
	
	public static void main(String[] args)
	{
		QApplication.initialize(args);
		QtJOGLTestFrame frame = new QtJOGLTestFrame(); 
		frame.resize(800, 600); 
		frame.show(); 
		QApplication.execStatic();
	}
	
}

I updated the jogamp .jar today and all my other programs using JOGL with swing work well.

Thank you in advance. :slight_smile: