X-Git-Url: http://git.megacz.com/?p=anneal.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fqfat%2FMeshViewer.java;fp=src%2Fedu%2Fberkeley%2Fqfat%2FMeshViewer.java;h=2fe420029c4d0861122046da0a5950979cb671c7;hp=a0e236d900c57e0f75278bdc12e14810b1e3ba88;hb=489c7122bf2f358c50588599e54bf38cfd62d5b3;hpb=1d5df2eef468ab220410e19339f75f8e55304df5 diff --git a/src/edu/berkeley/qfat/MeshViewer.java b/src/edu/berkeley/qfat/MeshViewer.java index a0e236d..2fe4200 100644 --- a/src/edu/berkeley/qfat/MeshViewer.java +++ b/src/edu/berkeley/qfat/MeshViewer.java @@ -50,6 +50,9 @@ public class MeshViewer extends JPanel implements GLEventListener, MouseListener public synchronized void init(GLAutoDrawable gld) { GL gl = glcanvas.getGL();//gld.getGL(); + + gl.glEnable(gl.GL_DOUBLEBUFFER); + gl.glClearColor(0.0f, 0.0f, 0.0f, 1.0f); gl.glViewport(0, 0, 500, 300); gl.glEnable(GL.GL_DEPTH_TEST); @@ -86,6 +89,14 @@ public class MeshViewer extends JPanel implements GLEventListener, MouseListener GL gl = glcanvas.getGL();//drawable.getGL(); GLU glu = new GLU(); + gl.glDrawBuffer(GL.GL_BACK); + + if (updateVisibilities) { + updateVisibilities = false; + // update vertex visibilities + updateVisibility(gl); + } + gl.glDrawBuffer(GL.GL_BACK); if (!mouseInside) gl.glClearColor(0.1f, 0.1f, 0.1f, 1.0f); else gl.glClearColor(0.0f, 0.0f, 0.0f, 1.0f); @@ -185,12 +196,6 @@ public class MeshViewer extends JPanel implements GLEventListener, MouseListener projection = Matrix.getProjectionMatrix(gl); - if (updateVisibilities) { - updateVisibilities = false; - // update vertex visibilities - updateVisibility(gl); - } - if (updateClosest) { updateClosest = false; double dist = Double.MAX_VALUE; @@ -224,6 +229,9 @@ public class MeshViewer extends JPanel implements GLEventListener, MouseListener } } } + gl.glFlush(); + glcanvas.setAutoSwapBufferMode(false); + glcanvas.swapBuffers(); } protected synchronized void updateVisibility(GL gl) {