diff options
author | Sven Gothel <[email protected]> | 2012-02-24 02:40:10 +0100 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2012-02-24 02:40:10 +0100 |
commit | 5940f88b19a375bd20432be01bde02cda065fbce (patch) | |
tree | ff3b7cdc7522a23ccbbd389a74faf2ceccf62fb7 /src | |
parent | 29ee4fa97a7e17fe2eb07797350200300d8126d7 (diff) |
Fix MultisampleDemo01 -> MultisampleDemoES1 (proper profile, remove immediate mode for ES1) ; Fix GLES1Impl.glOrtho()
Diffstat (limited to 'src')
-rw-r--r-- | src/test/com/jogamp/opengl/test/junit/jogl/caps/MultisampleDemoES1.java (renamed from src/test/com/jogamp/opengl/test/junit/jogl/caps/MultisampleDemo01.java) | 54 | ||||
-rwxr-xr-x | src/test/com/jogamp/opengl/test/junit/jogl/caps/TestMultisampleES1AWT.java (renamed from src/test/com/jogamp/opengl/test/junit/jogl/caps/TestMultisampleAWT.java) | 10 | ||||
-rwxr-xr-x | src/test/com/jogamp/opengl/test/junit/jogl/caps/TestMultisampleES1NEWT.java (renamed from src/test/com/jogamp/opengl/test/junit/jogl/caps/TestMultisampleNEWT.java) | 19 |
3 files changed, 52 insertions, 31 deletions
diff --git a/src/test/com/jogamp/opengl/test/junit/jogl/caps/MultisampleDemo01.java b/src/test/com/jogamp/opengl/test/junit/jogl/caps/MultisampleDemoES1.java index ab0171cb8..0aaf4b020 100644 --- a/src/test/com/jogamp/opengl/test/junit/jogl/caps/MultisampleDemo01.java +++ b/src/test/com/jogamp/opengl/test/junit/jogl/caps/MultisampleDemoES1.java @@ -45,29 +45,33 @@ import jogamp.opengl.x11.glx.X11GLXGraphicsConfiguration; import javax.media.nativewindow.AbstractGraphicsConfiguration; import javax.media.nativewindow.NativeWindowFactory; import javax.media.opengl.GL; -import javax.media.opengl.GL2; import javax.media.opengl.GL2ES1; import javax.media.opengl.GLAutoDrawable; import javax.media.opengl.GLEventListener; import javax.media.opengl.GLPipelineFactory; -class MultisampleDemo01 implements GLEventListener { +import com.jogamp.opengl.util.ImmModeSink; + +class MultisampleDemoES1 implements GLEventListener { static boolean glDebug = false; static boolean glTrace = false; boolean multisample; + ImmModeSink immModeSink; - public MultisampleDemo01(boolean multisample) { + public MultisampleDemoES1(boolean multisample) { this.multisample = multisample; } public void init(GLAutoDrawable drawable) { - AbstractGraphicsConfiguration config = drawable.getNativeSurface().getGraphicsConfiguration(); System.err.println(); - System.err.println("Info: " + config); + System.err.println("Requested: " + drawable.getNativeSurface().getGraphicsConfiguration().getRequestedCapabilities()); + System.err.println(); + System.err.println("Chosen : " + drawable.getChosenGLCapabilities()); System.err.println(); - if (NativeWindowFactory.TYPE_X11.equals(NativeWindowFactory.getNativeWindowType(false))) { + if (!drawable.getGL().isGLES() && NativeWindowFactory.TYPE_X11.equals(NativeWindowFactory.getNativeWindowType(false))) { + AbstractGraphicsConfiguration config = drawable.getNativeSurface().getGraphicsConfiguration(); X11GLXGraphicsConfiguration x11config = (X11GLXGraphicsConfiguration) config; long display = drawable.getNativeSurface().getDisplayHandle(); int[] foo = new int[1]; @@ -80,16 +84,16 @@ class MultisampleDemo01 implements GLEventListener { if (glDebug) { try { // Debug .. - _gl = _gl.getContext().setGL(GLPipelineFactory.create("javax.media.opengl.Debug", GL2.class, _gl, null)); + _gl = _gl.getContext().setGL(GLPipelineFactory.create("javax.media.opengl.Debug", GL2ES1.class, _gl, null)); if (glTrace) { // Trace .. - _gl = _gl.getContext().setGL(GLPipelineFactory.create("javax.media.opengl.Trace", GL2.class, _gl, new Object[]{System.err})); + _gl = _gl.getContext().setGL(GLPipelineFactory.create("javax.media.opengl.Trace", GL2ES1.class, _gl, new Object[]{System.err})); } } catch (Exception e) { e.printStackTrace(); } } - GL2 gl = _gl.getGL2(); + GL2ES1 gl = _gl.getGL2ES1(); if (multisample) { gl.glEnable(GL.GL_MULTISAMPLE); } @@ -104,26 +108,38 @@ class MultisampleDemo01 implements GLEventListener { if (multisample) { gl.glDisable(GL.GL_MULTISAMPLE); } + immModeSink = ImmModeSink.createFixed(gl, GL.GL_STATIC_DRAW, 40, + 3, GL.GL_FLOAT, // vertex + 0, GL.GL_FLOAT, // color + 0, GL.GL_FLOAT,// normal + 0, GL.GL_FLOAT); // texture + final int numSteps = 20; + final double increment = Math.PI / numSteps; + final double radius = 1; + immModeSink.glBegin(GL.GL_LINES); + for (int i = numSteps - 1; i >= 0; i--) { + immModeSink.glVertex3f((float) (radius * Math.cos(i * increment)), + (float) (radius * Math.sin(i * increment)), + 0f); + immModeSink.glVertex3f((float) (-1.0 * radius * Math.cos(i * increment)), + (float) (-1.0 * radius * Math.sin(i * increment)), + 0f); + } + immModeSink.glEnd(gl, false); } public void dispose(GLAutoDrawable drawable) { + immModeSink.destroy(drawable.getGL()); + immModeSink = null; } public void display(GLAutoDrawable drawable) { - GL2 gl = drawable.getGL().getGL2(); + GL2ES1 gl = drawable.getGL().getGL2ES1(); if (multisample) { gl.glEnable(GL.GL_MULTISAMPLE); } gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT); - int numSteps = 20; - double increment = Math.PI / numSteps; - double radius = 1; - gl.glBegin(GL.GL_LINES); - for (int i = numSteps - 1; i >= 0; i--) { - gl.glVertex3d(radius * Math.cos(i * increment), radius * Math.sin(i * increment), 0); - gl.glVertex3d(-1.0 * radius * Math.cos(i * increment), -1.0 * radius * Math.sin(i * increment), 0); - } - gl.glEnd(); + immModeSink.draw(gl, true); if (multisample) { gl.glDisable(GL.GL_MULTISAMPLE); } diff --git a/src/test/com/jogamp/opengl/test/junit/jogl/caps/TestMultisampleAWT.java b/src/test/com/jogamp/opengl/test/junit/jogl/caps/TestMultisampleES1AWT.java index 786fd608b..517d12578 100755 --- a/src/test/com/jogamp/opengl/test/junit/jogl/caps/TestMultisampleAWT.java +++ b/src/test/com/jogamp/opengl/test/junit/jogl/caps/TestMultisampleES1AWT.java @@ -46,6 +46,7 @@ import java.awt.Frame; import javax.media.opengl.GLCapabilities; import javax.media.opengl.GLCapabilitiesChooser; +import javax.media.opengl.GLProfile; import javax.media.opengl.awt.GLCanvas; import com.jogamp.opengl.test.junit.util.MiscUtils; @@ -54,7 +55,7 @@ import com.jogamp.opengl.test.junit.util.UITestCase; import org.junit.Test; -public class TestMultisampleAWT extends UITestCase { +public class TestMultisampleES1AWT extends UITestCase { static long durationPerTest = 250; // ms private GLCanvas canvas; @@ -65,7 +66,7 @@ public class TestMultisampleAWT extends UITestCase { } } System.out.println("durationPerTest: "+durationPerTest); - String tstname = TestMultisampleAWT.class.getName(); + String tstname = TestMultisampleES1AWT.class.getName(); org.junit.runner.JUnitCore.main(tstname); } @@ -80,7 +81,8 @@ public class TestMultisampleAWT extends UITestCase { } private void testMultiSampleAAImpl(int samples) throws InterruptedException, InvocationTargetException { - GLCapabilities caps = new GLCapabilities(null); + GLProfile glp = GLProfile.getMaxFixedFunc(true); + GLCapabilities caps = new GLCapabilities(glp); GLCapabilitiesChooser chooser = new MultisampleChooser01(); if(samples>0) { @@ -92,7 +94,7 @@ public class TestMultisampleAWT extends UITestCase { } canvas = new GLCanvas(caps, chooser, null, null); - canvas.addGLEventListener(new MultisampleDemo01(samples>0?true:false)); + canvas.addGLEventListener(new MultisampleDemoES1(samples>0?true:false)); final Frame frame = new Frame("Multi Samples "+samples); frame.setLayout(new BorderLayout()); diff --git a/src/test/com/jogamp/opengl/test/junit/jogl/caps/TestMultisampleNEWT.java b/src/test/com/jogamp/opengl/test/junit/jogl/caps/TestMultisampleES1NEWT.java index 1e3274dbb..cdfeb2bad 100755 --- a/src/test/com/jogamp/opengl/test/junit/jogl/caps/TestMultisampleNEWT.java +++ b/src/test/com/jogamp/opengl/test/junit/jogl/caps/TestMultisampleES1NEWT.java @@ -40,12 +40,16 @@ package com.jogamp.opengl.test.junit.jogl.caps; +import javax.media.opengl.GLCapabilities; +import javax.media.opengl.GLCapabilitiesChooser; +import javax.media.opengl.GLProfile; + +import org.junit.Test; + import com.jogamp.newt.opengl.GLWindow; import com.jogamp.opengl.test.junit.util.MiscUtils; -import javax.media.opengl.*; -import org.junit.Test; -public class TestMultisampleNEWT { +public class TestMultisampleES1NEWT { static long durationPerTest = 500; // ms private GLWindow window; @@ -56,7 +60,7 @@ public class TestMultisampleNEWT { } } System.out.println("durationPerTest: "+durationPerTest); - String tstname = TestMultisampleNEWT.class.getName(); + String tstname = TestMultisampleES1NEWT.class.getName(); org.junit.runner.JUnitCore.main(tstname); } @@ -71,7 +75,8 @@ public class TestMultisampleNEWT { } private void testMultiSampleAAImpl(int samples) throws InterruptedException { - GLCapabilities caps = new GLCapabilities(null); + GLProfile glp = GLProfile.getMaxFixedFunc(true); + GLCapabilities caps = new GLCapabilities(glp); GLCapabilitiesChooser chooser = new MultisampleChooser01(); if(samples>0) { @@ -85,14 +90,12 @@ public class TestMultisampleNEWT { window = GLWindow.create(caps); window.setCapabilitiesChooser(chooser); - window.addGLEventListener(new MultisampleDemo01(samples>0?true:false)); + window.addGLEventListener(new MultisampleDemoES1(samples>0?true:false)); window.setSize(512, 512); window.setVisible(true); window.setPosition(0, 0); window.requestFocus(); - GLCapabilitiesImmutable capsChosen0 = window.getChosenGLCapabilities(); - Thread.sleep(durationPerTest); window.destroy(); |