Added accurate_2d hint, flush calls.

This commit is contained in:
codeanticode
2011-12-14 16:33:00 +00:00
parent 033eb45e14
commit 05c4bb80cd
2 changed files with 32 additions and 18 deletions
+16 -13
View File
@@ -554,25 +554,28 @@ public interface PConstants {
// static final int ENABLE_OPENGL_2X_SMOOTH = -1;
// static final int ENABLE_OPENGL_4X_SMOOTH = 2;
static final int ENABLE_NATIVE_FONTS = 3;
static final int DISABLE_NATIVE_FONTS = -3;
static final int DISABLE_NATIVE_FONTS = 1;
static final int ENABLE_NATIVE_FONTS = -1;
static final int DISABLE_DEPTH_TEST = 4;
static final int ENABLE_DEPTH_TEST = -4;
static final int DISABLE_DEPTH_TEST = 2;
static final int ENABLE_DEPTH_TEST = -2;
static final int ENABLE_DEPTH_SORT = 5;
static final int DISABLE_DEPTH_SORT = -5;
static final int ENABLE_DEPTH_SORT = 3;
static final int DISABLE_DEPTH_SORT = -3;
static final int DISABLE_OPENGL_ERROR_REPORT = 6;
static final int ENABLE_OPENGL_ERROR_REPORT = -6;
static final int DISABLE_OPENGL_ERROR_REPORT = 4;
static final int ENABLE_OPENGL_ERROR_REPORT = -4;
static final int ENABLE_ACCURATE_TEXTURES = 7;
static final int DISABLE_ACCURATE_TEXTURES = -7;
static final int ENABLE_ACCURATE_TEXTURES = 5;
static final int DISABLE_ACCURATE_TEXTURES = -5;
static final int DISABLE_DEPTH_MASK = 8;
static final int ENABLE_DEPTH_MASK = -8;
static final int DISABLE_DEPTH_MASK = 6;
static final int ENABLE_DEPTH_MASK = -6;
static final int HINT_COUNT = 10;
static final int DISABLE_ACCURATE_2D = 7;
static final int ENABLE_ACCURATE_2D = -7;
static final int HINT_COUNT = 8;
// Rendering pipeline modes
@@ -1768,18 +1768,31 @@ public class PGraphicsOpenGL extends PGraphics {
super.hint(which);
if (which == DISABLE_DEPTH_TEST) {
flush();
gl.glDisable(GL.GL_DEPTH_TEST);
gl.glClearColor(0, 0, 0, 0);
gl.glClear(GL.GL_DEPTH_BUFFER_BIT);
} else if (which == ENABLE_DEPTH_TEST) {
flush();
gl.glEnable(GL.GL_DEPTH_TEST);
} else if (which == DISABLE_DEPTH_MASK) {
flush();
gl.glDepthMask(false);
} else if (which == ENABLE_DEPTH_MASK) {
gl.glDepthMask(true);
flush();
gl.glDepthMask(true);
} else if (which == DISABLE_ACCURATE_2D) {
flush();
setFlushMode(FLUSH_WHEN_FULL);
} else if (which == ENABLE_ACCURATE_2D) {
flush();
setFlushMode(FLUSH_AFTER_SHAPE);
}
}
@@ -2197,22 +2210,20 @@ public class PGraphicsOpenGL extends PGraphics {
}
}
if (hasPoints) {
renderPoints();
}
if (hasLines) {
renderLines();
renderLines();
}
if (flushMode == FLUSH_WHEN_FULL) {
gl2f.glPopMatrix();
}
}
tess.reset();
tess.reset();
}