diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/demo/GPUTextNewtDemo01.java | 15 | ||||
-rw-r--r-- | src/demo/GPUTextNewtDemo02.java | 10 | ||||
-rw-r--r-- | src/demo/MSAATool.java | 65 |
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]); + } +} |