projects
/
anneal.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
1d5df2e
)
MeshViewer: better double-buffering
author
adam
<adam@megacz.com>
Wed, 28 Jan 2009 21:09:53 +0000
(13:09 -0800)
committer
adam
<adam@megacz.com>
Wed, 28 Jan 2009 21:09:53 +0000
(13:09 -0800)
darcs-hash:
20090128210953
-5007d-
169c971257a43a95ee7e49d83059c0328eaae0a8
.gz
src/edu/berkeley/qfat/MeshViewer.java
patch
|
blob
|
history
diff --git
a/src/edu/berkeley/qfat/MeshViewer.java
b/src/edu/berkeley/qfat/MeshViewer.java
index
a0e236d
..
2fe4200
100644
(file)
--- 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();
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);
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 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);
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);
projection = Matrix.getProjectionMatrix(gl);
- if (updateVisibilities) {
- updateVisibilities = false;
- // update vertex visibilities
- updateVisibility(gl);
- }
-
if (updateClosest) {
updateClosest = false;
double dist = Double.MAX_VALUE;
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) {
}
protected synchronized void updateVisibility(GL gl) {