Search in sources :

Example 1 with GLCanvas

use of com.jogamp.opengl.swt.GLCanvas in project selenium_java by sergueik.

the class CanvasEx method createContents.

private void createContents(Shell shell) {
    shell.setLayout(new FillLayout());
    animator = new FPSAnimator(60);
    animator.setUpdateFPSFrames(60, System.err);
    @SuppressWarnings("unused") Canvas canvas = new Canvas(shell, SWT.NONE);
    final GLProfile pro = GLProfile.get(GLProfile.GL2GL3);
    final GLCapabilities cap = new GLCapabilities(pro);
    glCanvas = new GLCanvas(shell, 0, cap, (GLCapabilitiesChooser) null);
    glCanvas.addGLEventListener(new GLEventListener() {

        @Override
        public void display(final GLAutoDrawable drawable) {
            final GL2ES2 gl = drawable.getGL().getGL2ES2();
            gl.glClearColor(1.0f, 0f, 1.0f, 1f);
            gl.glClear(GL.GL_COLOR_BUFFER_BIT);
        }

        @Override
        public void dispose(final GLAutoDrawable drawable) {
            System.err.println("dispose");
        }

        @Override
        public void init(final GLAutoDrawable drawable) {
            System.err.println("init");
        }

        @Override
        public void reshape(final GLAutoDrawable drawable, final int x, final int y, final int w, final int h) {
        }
    });
    animator.add(glCanvas);
    glCanvas.setVisible(true);
    shell.addListener(SWT.Close, new Listener() {

        public void handleEvent(Event event) {
            animator.stop();
            glCanvas.destroy();
        // TODO: [ERROR] local variable shell is accessed from within inner
        // class; needs to be declared final
        // shell.setVisible(false);
        }
    });
    animator.start();
}
Also used : GLAutoDrawable(com.jogamp.opengl.GLAutoDrawable) GLEventListener(com.jogamp.opengl.GLEventListener) Listener(org.eclipse.swt.widgets.Listener) GLCanvas(com.jogamp.opengl.swt.GLCanvas) Canvas(org.eclipse.swt.widgets.Canvas) FillLayout(org.eclipse.swt.layout.FillLayout) GLEventListener(com.jogamp.opengl.GLEventListener) FPSAnimator(com.jogamp.opengl.util.FPSAnimator) GLCanvas(com.jogamp.opengl.swt.GLCanvas) GLCapabilities(com.jogamp.opengl.GLCapabilities) GLCapabilitiesChooser(com.jogamp.opengl.GLCapabilitiesChooser) GL2ES2(com.jogamp.opengl.GL2ES2) Event(org.eclipse.swt.widgets.Event) GLProfile(com.jogamp.opengl.GLProfile)

Aggregations

GL2ES2 (com.jogamp.opengl.GL2ES2)1 GLAutoDrawable (com.jogamp.opengl.GLAutoDrawable)1 GLCapabilities (com.jogamp.opengl.GLCapabilities)1 GLCapabilitiesChooser (com.jogamp.opengl.GLCapabilitiesChooser)1 GLEventListener (com.jogamp.opengl.GLEventListener)1 GLProfile (com.jogamp.opengl.GLProfile)1 GLCanvas (com.jogamp.opengl.swt.GLCanvas)1 FPSAnimator (com.jogamp.opengl.util.FPSAnimator)1 FillLayout (org.eclipse.swt.layout.FillLayout)1 Canvas (org.eclipse.swt.widgets.Canvas)1 Event (org.eclipse.swt.widgets.Event)1 Listener (org.eclipse.swt.widgets.Listener)1