summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/demo/GPUTextNewtDemo01.java15
-rw-r--r--src/demo/GPUTextNewtDemo02.java10
-rw-r--r--src/demo/MSAATool.java65
3 files changed, 79 insertions, 11 deletions
diff --git a/src/demo/GPUTextNewtDemo01.java b/src/demo/GPUTextNewtDemo01.java
index 3e506f5d1..85f94b175 100644
--- a/src/demo/GPUTextNewtDemo01.java
+++ b/src/demo/GPUTextNewtDemo01.java
@@ -29,6 +29,7 @@ package demo;
import javax.media.opengl.GL;
import javax.media.opengl.GL2ES2;
+import javax.media.opengl.GL2GL3;
import javax.media.opengl.GLAutoDrawable;
import javax.media.opengl.GLCapabilities;
import javax.media.opengl.GLEventListener;
@@ -69,7 +70,7 @@ class TextNewtWindow1 {
GLCapabilities caps = new GLCapabilities(glp);
caps.setAlphaBits(4);
caps.setSampleBuffers(true); // FIXME: sure ?
- caps.setNumSamples(4); // FIXME: sure ?
+ caps.setNumSamples(1); // FIXME: sure ?
System.out.println("Requested: "+caps);
final GLWindow window = GLWindow.create(caps);
@@ -135,10 +136,13 @@ class TextNewtWindow1 {
gl.setSwapInterval(1);
gl.glEnable(GL2ES2.GL_DEPTH_TEST);
textRenderer = new HwTextRenderer(drawable.getContext(), pointFactory, Region.SINGLE_PASS);
-
- System.out.println("Realised: "+drawable.getChosenGLCapabilities());
+ textRenderer.setAlpha(1.0f);
+ textRenderer.setColor(0.0f, 0.0f, 1.0f);
+ //gl.glSampleCoverage(0.75f, false);
+ //gl.glEnable(GL2GL3.GL_SAMPLE_COVERAGE); // FIXME: coverage makes it 'funny' .. ie 'hole mask'
+ MSAATool.dump(drawable);
}
-
+
float ang = 0;
float zoom = -70;
float xTran = -10;
@@ -161,9 +165,6 @@ class TextNewtWindow1 {
float[] position = new float[]{0,0,0};
try {
- textRenderer.setAlpha(1.0f);
- textRenderer.setColor(0.0f, 0.0f, 1.0f);
- gl.glSampleCoverage(0.75f, false);
textRenderer.renderString3D(font, text2, position, 0);
} catch (Exception e) {
e.printStackTrace();
diff --git a/src/demo/GPUTextNewtDemo02.java b/src/demo/GPUTextNewtDemo02.java
index b34203014..269287232 100644
--- a/src/demo/GPUTextNewtDemo02.java
+++ b/src/demo/GPUTextNewtDemo02.java
@@ -29,6 +29,7 @@ package demo;
import javax.media.opengl.GL;
import javax.media.opengl.GL2;
+import javax.media.opengl.GL2GL3;
import javax.media.opengl.GL3;
import javax.media.opengl.GLAutoDrawable;
import javax.media.opengl.GLCapabilities;
@@ -149,8 +150,12 @@ class TextNewtWindow {
gl.glEnable(GL3.GL_DEPTH_TEST);
textRenderer = new HwTextRenderer(drawable.getContext(), pointFactory, Region.TWO_PASS);
+ textRenderer.setAlpha(1.0f);
+ textRenderer.setColor(0.0f, 0.0f, 0.0f);
+ gl.glSampleCoverage(0.75f, false);
+ gl.glEnable(GL2GL3.GL_SAMPLE_COVERAGE); // FIXME: Does sample coverage make a difference here ?
gl.glHint(GL2.GL_PERSPECTIVE_CORRECTION_HINT, GL3.GL_NICEST);
- System.out.println("Realised: "+drawable.getChosenGLCapabilities());
+ MSAATool.dump(drawable);
}
float ang = 0;
@@ -176,9 +181,6 @@ class TextNewtWindow {
float[] position = new float[]{0,0,0};
try {
- textRenderer.setAlpha(1.0f);
- textRenderer.setColor(0.0f, 0.0f, 0.0f);
- gl.glSampleCoverage(0.75f, false);
textRenderer.renderString3D(font, text2, position, size);
} catch (Exception e) {
e.printStackTrace();
diff --git a/src/demo/MSAATool.java b/src/demo/MSAATool.java
new file mode 100644
index 000000000..a31005f08
--- /dev/null
+++ b/src/demo/MSAATool.java
@@ -0,0 +1,65 @@
+/**
+ * Copyright 2010 JogAmp Community. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those of the
+ * authors and should not be interpreted as representing official policies, either expressed
+ * or implied, of JogAmp Community.
+ */
+package demo;
+
+import javax.media.opengl.GL2ES2;
+import javax.media.opengl.GL2GL3;
+import javax.media.opengl.GLAutoDrawable;
+import javax.media.opengl.GLCapabilitiesImmutable;
+
+public class MSAATool {
+ public static void dump(GLAutoDrawable drawable) {
+ float[] vf = new float[] { 0f };
+ byte[] vb = new byte[] { 0 };
+ int[] vi = new int[] { 0, 0 };
+
+ System.out.println("GL MSAA SETUP:");
+ GL2ES2 gl = drawable.getGL().getGL2ES2();
+ GLCapabilitiesImmutable caps = drawable.getChosenGLCapabilities();
+ System.out.println(" Caps realised "+caps);
+ System.out.println(" Caps sample buffers "+caps.getSampleBuffers()+", samples "+caps.getNumSamples());
+
+ // default TRUE
+ System.out.println(" GL MULTISAMPLE "+gl.glIsEnabled(GL2ES2.GL_MULTISAMPLE));
+ // default FALSE
+ System.out.println(" GL SAMPLE_ALPHA_TO_COVERAGE "+gl.glIsEnabled(GL2GL3.GL_SAMPLE_ALPHA_TO_COVERAGE));
+ // default FALSE
+ System.out.println(" GL SAMPLE_ALPHA_TO_ONE "+gl.glIsEnabled(GL2GL3.GL_SAMPLE_ALPHA_TO_ONE));
+ // default FALSE, value 1, invert false
+ gl.glGetFloatv(GL2GL3.GL_SAMPLE_COVERAGE_VALUE, vf, 0);
+ gl.glGetBooleanv(GL2GL3.GL_SAMPLE_COVERAGE_INVERT, vb, 0);
+ System.out.println(" GL SAMPLE_COVERAGE "+gl.glIsEnabled(GL2GL3.GL_SAMPLE_COVERAGE) +
+ ": SAMPLE_COVERAGE_VALUE "+vf[0]+
+ ", SAMPLE_COVERAGE_INVERT "+vb[0]);
+ // sample buffers min 0, same as GLX_SAMPLE_BUFFERS_ARB or WGL_SAMPLE_BUFFERS_ARB
+ gl.glGetIntegerv(GL2GL3.GL_SAMPLE_BUFFERS, vi, 0);
+ // samples min 0
+ gl.glGetIntegerv(GL2GL3.GL_SAMPLES, vi, 1);
+ System.out.println(" GL SAMPLE_BUFFERS "+vi[0]+", SAMPLES "+vi[1]);
+ }
+}