diff options
Diffstat (limited to 'src/test/com/jogamp/opengl')
14 files changed, 94 insertions, 43 deletions
diff --git a/src/test/com/jogamp/opengl/test/junit/graph/TestRegionRendererNEWT01.java b/src/test/com/jogamp/opengl/test/junit/graph/TestRegionRendererNEWT01.java index c948efc2d..9dec119bc 100644 --- a/src/test/com/jogamp/opengl/test/junit/graph/TestRegionRendererNEWT01.java +++ b/src/test/com/jogamp/opengl/test/junit/graph/TestRegionRendererNEWT01.java @@ -66,9 +66,9 @@ public class TestRegionRendererNEWT01 extends UITestCase { //caps.setOnscreen(false);
caps.setAlphaBits(4);
- GLWindow window = createWindow("shape-r2t1-msaa0", caps, 800,400);
+ GLWindow window = createWindow("shape-vbaa1-msaa0", caps, 800,400);
RenderState rs = Renderer.createRenderState(new ShaderState(), SVertex.factory());
- GPURegionGLListener02 demo02Listener = new GPURegionGLListener02 (rs, Region.TWO_PASS, 1140, false, false);
+ GPURegionGLListener02 demo02Listener = new GPURegionGLListener02 (rs, Region.TWO_PASS, true, 1140, false, false);
demo02Listener.attachInputListenerTo(window);
window.addGLEventListener(demo02Listener);
@@ -96,10 +96,40 @@ public class TestRegionRendererNEWT01 extends UITestCase { caps.setSampleBuffers(true);
caps.setNumSamples(4);
- GLWindow window = createWindow("shape-r2t0-msaa1", caps, 800, 400);
+ GLWindow window = createWindow("shape-vbaa0-msaa1", caps, 800, 400);
RenderState rs = Renderer.createRenderState(new ShaderState(), SVertex.factory());
- GPURegionGLListener01 demo01Listener = new GPURegionGLListener01 (rs, Region.SINGLE_PASS, 0, false, false);
+ GPURegionGLListener01 demo01Listener = new GPURegionGLListener01 (rs, Region.SINGLE_PASS, true, 0, false, false);
+ demo01Listener.attachInputListenerTo(window);
+ window.addGLEventListener(demo01Listener);
+
+ RegionGLListener listener = new RegionGLListener(demo01Listener, window.getTitle(), "GPURegion01");
+ window.addGLEventListener(listener);
+
+ listener.setTech(-20, 00, 0f, -300, 400);
+ window.display();
+
+ listener.setTech(-20, 00, 0f, -150, 800);
+ window.display();
+
+ listener.setTech(-20, 00, 0f, -50, 1000);
+ window.display();
+
+ destroyWindow(window);
+ }
+
+ @Test
+ public void testRegionRendererMSAA02() throws InterruptedException {
+ GLProfile glp = GLProfile.get(GLProfile.GL2ES2);
+ GLCapabilities caps = new GLCapabilities(glp);
+ caps.setAlphaBits(4);
+ caps.setSampleBuffers(true);
+ caps.setNumSamples(4);
+
+ GLWindow window = createWindow("shape-vbaa0-msaa1", caps, 800, 400);
+ RenderState rs = Renderer.createRenderState(new ShaderState(), SVertex.factory());
+
+ GPURegionGLListener01 demo01Listener = new GPURegionGLListener01 (rs, Region.SINGLE_PASS, false, 0, false, false);
demo01Listener.attachInputListenerTo(window);
window.addGLEventListener(demo01Listener);
diff --git a/src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT01.java b/src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT01.java index f05b2ed35..78e89b792 100755 --- a/src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT01.java +++ b/src/test/com/jogamp/opengl/test/junit/graph/TestTextRendererNEWT01.java @@ -68,7 +68,7 @@ public class TestTextRendererNEWT01 extends UITestCase { GLCapabilities caps = new GLCapabilities(glp);
caps.setAlphaBits(4);
- GLWindow window = createWindow("text-r2t1-msaa0", caps, 800,400);
+ GLWindow window = createWindow("text-vbaa1-msaa0", caps, 800,400);
RenderState rs = Renderer.createRenderState(new ShaderState(), SVertex.factory());
TextGLListener textGLListener = new TextGLListener(rs, Region.TWO_PASS, DEBUG, TRACE);
textGLListener.attachInputListenerTo(window);
@@ -105,7 +105,7 @@ public class TestTextRendererNEWT01 extends UITestCase { caps.setSampleBuffers(true);
caps.setNumSamples(4);
- GLWindow window = createWindow("text-r2t0-msaa1", caps, 800, 400);
+ GLWindow window = createWindow("text-vbaa0-msaa1", caps, 800, 400);
RenderState rs = Renderer.createRenderState(new ShaderState(), SVertex.factory());
TextGLListener textGLListener = new TextGLListener(rs, Region.SINGLE_PASS, DEBUG, TRACE);
textGLListener.attachInputListenerTo(window);
diff --git a/src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener01.java b/src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener01.java index 1d086d93d..215dae30a 100644 --- a/src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener01.java +++ b/src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener01.java @@ -45,8 +45,8 @@ import com.jogamp.graph.curve.opengl.RenderState; public class GPURegionGLListener01 extends GPURegionRendererListenerBase01 { OutlineShape outlineShape = null; - public GPURegionGLListener01 (RenderState rs, int numpass, int fbosize, boolean debug, boolean trace) { - super(rs, numpass, debug, trace); + public GPURegionGLListener01 (RenderState rs, int numpass, boolean uniform, int fbosize, boolean debug, boolean trace) { + super(rs, numpass, uniform, debug, trace); setMatrix(-20, 00, 0f, -50, fbosize); } @@ -96,12 +96,10 @@ public class GPURegionGLListener01 extends GPURegionRendererListenerBase01 { gl.setSwapInterval(1); gl.glEnable(GL2ES2.GL_DEPTH_TEST); + gl.glEnable(GL2ES2.GL_BLEND); regionRenderer.init(gl); regionRenderer.setAlpha(gl, 1.0f); regionRenderer.setColorStatic(gl, 0.0f, 0.0f, 0.0f); - //gl.glSampleCoverage(0.95f, false); - //gl.glEnable(GL2GL3.GL_SAMPLE_COVERAGE); // sample coverage doesn't really make a difference to lines - //gl.glEnable(GL2GL3.GL_SAMPLE_ALPHA_TO_ONE); MSAATool.dump(drawable); createTestOutline(); @@ -118,7 +116,10 @@ public class GPURegionGLListener01 extends GPURegionRendererListenerBase01 { regionRenderer.resetModelview(null); regionRenderer.translate(null, getXTran(), getYTran(), getZoom()); regionRenderer.rotate(gl, getAngle(), 0, 1, 0); - + if(weightUpdated){ + regionRenderer.setWeight(gl, weight); + weightUpdated = false; + } regionRenderer.renderOutlineShape(gl, outlineShape, getPosition(), getTexSize()); } } diff --git a/src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener02.java b/src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener02.java index 1f57914a0..d7d335625 100644 --- a/src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener02.java +++ b/src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionGLListener02.java @@ -43,8 +43,8 @@ import com.jogamp.graph.curve.opengl.RenderState; public class GPURegionGLListener02 extends GPURegionRendererListenerBase01 { OutlineShape[] outlineShapes = new OutlineShape[2]; - public GPURegionGLListener02 (RenderState rs, int numpass, int fbosize, boolean debug, boolean trace) { - super(rs, numpass, debug, trace); + public GPURegionGLListener02 (RenderState rs, int numpass, boolean uniform, int fbosize, boolean debug, boolean trace) { + super(rs, numpass, uniform, debug, trace); setMatrix(-20, 00, 0f, -50, fbosize); } @@ -94,6 +94,7 @@ public class GPURegionGLListener02 extends GPURegionRendererListenerBase01 { gl.setSwapInterval(1); gl.glEnable(GL2ES2.GL_DEPTH_TEST); + gl.glEnable(GL2ES2.GL_BLEND); regionRenderer.init(gl); regionRenderer.setAlpha(gl, 1.0f); regionRenderer.setColorStatic(gl, 0.0f, 0.0f, 0.0f); diff --git a/src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionNewtDemo01.java b/src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionNewtDemo01.java index 7b9278591..d7f71301d 100755 --- a/src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionNewtDemo01.java +++ b/src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionNewtDemo01.java @@ -67,10 +67,10 @@ public class GPURegionNewtDemo01 { final GLWindow window = GLWindow.create(caps); window.setPosition(10, 10); window.setSize(800, 400); - window.setTitle("GPU Curve Region Newt Demo 01 - r2t0 msaa1"); + window.setTitle("GPU Curve Region Newt Demo 01 - vbaa0 msaa1"); RenderState rs = Renderer.createRenderState(new ShaderState(), SVertex.factory()); - GPURegionGLListener01 regionGLListener = new GPURegionGLListener01 (rs, Region.SINGLE_PASS, 0, DEBUG, TRACE); + GPURegionGLListener01 regionGLListener = new GPURegionGLListener01 (rs, Region.SINGLE_PASS, false, 0, DEBUG, TRACE); regionGLListener.attachInputListenerTo(window); window.addGLEventListener(regionGLListener); diff --git a/src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionNewtDemo02.java b/src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionNewtDemo02.java index 98978b39b..1440221a8 100644 --- a/src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionNewtDemo02.java +++ b/src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionNewtDemo02.java @@ -67,10 +67,10 @@ public class GPURegionNewtDemo02 { final GLWindow window = GLWindow.create(caps); window.setPosition(10, 10); window.setSize(800, 400); - window.setTitle("GPU Curve Region Newt Demo 02 - r2t1 msaa0"); + window.setTitle("GPU Curve Region Newt Demo 02 - vbaa1 msaa0"); RenderState rs = Renderer.createRenderState(new ShaderState(), SVertex.factory()); - GPURegionGLListener02 regionGLListener = new GPURegionGLListener02 (rs, Region.TWO_PASS, 1140, DEBUG, TRACE); + GPURegionGLListener02 regionGLListener = new GPURegionGLListener02 (rs, Region.TWO_PASS, true, 1140, DEBUG, TRACE); regionGLListener.attachInputListenerTo(window); window.addGLEventListener(regionGLListener); diff --git a/src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionRendererListenerBase01.java b/src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionRendererListenerBase01.java index f824b2e70..a0c25ab1a 100644 --- a/src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionRendererListenerBase01.java +++ b/src/test/com/jogamp/opengl/test/junit/graph/demos/GPURegionRendererListenerBase01.java @@ -46,7 +46,7 @@ import com.jogamp.graph.curve.opengl.RenderState; public abstract class GPURegionRendererListenerBase01 extends GPURendererListenerBase01 { OutlineShape outlineShape = null; - public GPURegionRendererListenerBase01(RenderState rs, int mode, boolean debug, boolean trace) { - super(RegionRenderer.create(rs, mode), debug, trace); + public GPURegionRendererListenerBase01(RenderState rs, int mode, boolean uniform, boolean debug, boolean trace) { + super(RegionRenderer.create(rs, mode,uniform), debug, trace); } }
\ No newline at end of file diff --git a/src/test/com/jogamp/opengl/test/junit/graph/demos/GPURendererListenerBase01.java b/src/test/com/jogamp/opengl/test/junit/graph/demos/GPURendererListenerBase01.java index 3daa97ab3..3f060d15f 100644 --- a/src/test/com/jogamp/opengl/test/junit/graph/demos/GPURendererListenerBase01.java +++ b/src/test/com/jogamp/opengl/test/junit/graph/demos/GPURendererListenerBase01.java @@ -52,6 +52,7 @@ import com.jogamp.newt.opengl.GLWindow; * - 1/2: zoom in/out * - 6/7: 2nd pass texture size * - 0/9: rotate + * - Q/W: change weight * - v: toggle v-sync * - s: screenshot */ @@ -73,6 +74,8 @@ public abstract class GPURendererListenerBase01 implements GLEventListener { private float zoom = -70f; private int texSize = 400; + protected float weight = 1.0f; + protected boolean weightUpdated = false; boolean ignoreInput = false; public GPURendererListenerBase01(Renderer renderer, boolean debug, boolean trace) { @@ -144,6 +147,13 @@ public abstract class GPURendererListenerBase01 implements GLEventListener { ang %= 360.0f; dumpMatrix(); } + public void editGlobalWeight(float delta){ + if((weight+delta) > 1.9f || (weight+delta) < 0.0f) + return; + weight += delta; + weightUpdated = true; + System.err.println("Global Weight: "+ weight); + } void dumpMatrix() { System.err.println("Matrix: " + xTran + "/" + yTran + " x"+zoom + " @"+ang); @@ -221,6 +231,12 @@ public abstract class GPURendererListenerBase01 implements GLEventListener { else if(arg0.getKeyCode() == KeyEvent.VK_9){ rotate(-1); } + else if(arg0.getKeyCode() == KeyEvent.VK_Q){ + editGlobalWeight(-0.1f); + } + else if(arg0.getKeyCode() == KeyEvent.VK_W){ + editGlobalWeight(0.1f); + } else if(arg0.getKeyCode() == KeyEvent.VK_V) { if(null != autoDrawable) { autoDrawable.invoke(false, new GLRunnable() { diff --git a/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextGLListener0A.java b/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextGLListener0A.java index 7153c1827..a88b6b3ca 100644 --- a/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextGLListener0A.java +++ b/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextGLListener0A.java @@ -49,13 +49,10 @@ public class GPUTextGLListener0A extends GPUTextRendererListenerBase01 { gl.setSwapInterval(1); gl.glEnable(GL2ES2.GL_DEPTH_TEST); + gl.glEnable(GL2ES2.GL_BLEND); textRenderer.init(gl); textRenderer.setAlpha(gl, 1.0f); textRenderer.setColorStatic(gl, 0.0f, 0.0f, 0.0f); - //gl.glSampleCoverage(0.95f, false); - //gl.glEnable(GL2GL3.GL_SAMPLE_COVERAGE); // sample coverage doesn't really make a difference to lines - //gl.glEnable(GL2GL3.GL_SAMPLE_ALPHA_TO_COVERAGE); - //gl.glEnable(GL2GL3.GL_SAMPLE_ALPHA_TO_ONE); MSAATool.dump(drawable); } } diff --git a/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextNewtDemo01.java b/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextNewtDemo01.java index 41761dbc0..6b1bbee35 100644 --- a/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextNewtDemo01.java +++ b/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextNewtDemo01.java @@ -60,7 +60,7 @@ public class GPUTextNewtDemo01 { final GLWindow window = GLWindow.create(caps); window.setPosition(10, 10); window.setSize(800, 400); - window.setTitle("GPU Text Newt Demo 01 - r2t0 msaa1"); + window.setTitle("GPU Text Newt Demo 01 - vbaa0 msaa1"); final RenderState rs = Renderer.createRenderState(new ShaderState(), SVertex.factory()); GPUTextGLListener0A textGLListener = new GPUTextGLListener0A(rs, Region.SINGLE_PASS, 0, DEBUG, TRACE); diff --git a/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextNewtDemo02.java b/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextNewtDemo02.java index 6626ca2ad..0f1b95165 100644 --- a/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextNewtDemo02.java +++ b/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextNewtDemo02.java @@ -70,7 +70,7 @@ public class GPUTextNewtDemo02 { window.setPosition(10, 10); window.setSize(800, 400); - window.setTitle("GPU Text Newt Demo 02 - r2t1 msaa0"); + window.setTitle("GPU Text Newt Demo 02 - vbaa1 msaa0"); RenderState rs = Renderer.createRenderState(new ShaderState(), SVertex.factory()); GPUTextGLListener0A textGLListener = new GPUTextGLListener0A(rs, Region.TWO_PASS, window.getWidth()*3, DEBUG, TRACE); diff --git a/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java b/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java index 3f7ddfcef..39ebba6e5 100644 --- a/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java +++ b/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUTextRendererListenerBase01.java @@ -80,15 +80,24 @@ public abstract class GPUTextRendererListenerBase01 extends GPURendererListenerB static final String text1 = "abcdefghijklmnopqrstuvwxyz\nABCDEFGHIJKLMNOPQRSTUVWXYZ\n0123456789.:,;(*!?/\\\")$%^&-+@~#<>{}[]"; static final String text2 = "The quick brown fox jumps over the lazy dog"; static final String textX = - "Residents of evacuated areas near Japan's stricken Fukushima\n"+ - "nuclear plant have been warned that they may not be able\n"+ - "to return to their homes for months as Japan's nuclear crisis\n"+ - "stretched into a third week. The neighbourhoods near the plant\n"+ - "will remain empty \"for the long term\", Yukio Edano, the country's\n"+ - "chief cabinet secretary, said on Friday. Though he did not set a\n"+ - "timetable, he said residents would not be able to return permanently\n"+ - "\"in a matter of days or weeks. It will be longer than that\".\n"; + "JOGAMP graph demo using Resolution Independent NURBS\n"+ + "JOGAMP JOGL - OpenGL ES2 profile\n"+ + "Press 1/2 to zoom in/out the below text\n"+ + "Press 6/7 to edit texture size if using VBAA\n"+ + "Press 0/9 to rotate the below string\n"+ + "Press v to toggle vsync\n"+ + "Press i for live input text input (CR ends it, backspace supported)\n"+ + "Press f to toggle fps. H for different text, space for font type\n"; + static final String textX2 = + "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec nec sapien tellus. \n"+ + "Ut purus odio, rhoncus sit amet commodo eget, ullamcorper vel urna. Mauris ultricies \n"+ + "quam iaculis urna cursus ornare. Nullam ut felis a ante ultrices ultricies nec a elit. \n"+ + "In hac habitasse platea dictumst. Vivamus et mi a quam lacinia pharetra at venenatis est.\n"+ + "Morbi quis bibendum nibh. Donec lectus orci, sagittis in consequat nec, volutpat nec nisi.\n"+ + "Donec ut dolor et nulla tristique varius. In nulla magna, fermentum id tempus quis, semper \n"+ + "in lorem. Maecenas in ipsum ac justo scelerisque sollicitudin. Quisque sit amet neque lorem,\n" + + "-------Press H to change text---------\n"; StringBuffer userString = new StringBuffer(); boolean userInput = false; @@ -110,13 +119,16 @@ public abstract class GPUTextRendererListenerBase01 extends GPURendererListenerB } void switchHeadBox() { - headType = ( headType + 1 ) % 3 ; + headType = ( headType + 1 ) % 4 ; switch(headType) { case 0: headtext = null; break; case 1: + headtext= textX2; + break; + case 2: headtext= textX; break; @@ -138,7 +150,7 @@ public abstract class GPUTextRendererListenerBase01 extends GPURendererListenerB final TextRenderer textRenderer = (TextRenderer) getRenderer(); textRenderer.reshapeOrtho(null, width, height, 0.1f, 7000.0f); - + textRenderer.setColorStatic(gl, 0.0f, 0.0f, 0.0f); final GLAnimatorControl animator = drawable.getAnimator(); final boolean _drawFPS = drawFPS && null != animator && animator.getTotalFPSFrames()>10; @@ -172,7 +184,7 @@ public abstract class GPUTextRendererListenerBase01 extends GPURendererListenerB textRenderer.resetModelview(null); textRenderer.translate(null, getXTran(), getYTran(), getZoom()); textRenderer.rotate(gl, getAngle(), 0, 1, 0); - + textRenderer.setColorStatic(gl, 1.0f, 0.0f, 0.0f); if(!userInput) { textRenderer.renderString3D(gl, font, text2, getPosition(), fontSize, getTexSize()); } else { @@ -264,8 +276,6 @@ public abstract class GPUTextRendererListenerBase01 extends GPURendererListenerB public void keyTyped(KeyEvent arg0) { if(userInput) { - // System.err.println(arg0); - char c = arg0.getKeyChar(); if(c == 0x0d) { diff --git a/src/test/com/jogamp/opengl/test/junit/graph/demos/ui/RIButton.java b/src/test/com/jogamp/opengl/test/junit/graph/demos/ui/RIButton.java index 015819798..2f734ea2c 100644 --- a/src/test/com/jogamp/opengl/test/junit/graph/demos/ui/RIButton.java +++ b/src/test/com/jogamp/opengl/test/junit/graph/demos/ui/RIButton.java @@ -77,7 +77,6 @@ public class RIButton extends UIControl{ } public void generate(AABBox lbox) { -// AABBox lbox = font.getStringBounds(label, 10); createOutline(factory, lbox); scale[0] = getWidth()/(2*spacing + lbox.getWidth()); scale[1] = getHeight()/(2*spacing + lbox.getHeight()); diff --git a/src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIGLListener01.java b/src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIGLListener01.java index e9e5bc105..ce4c07873 100644 --- a/src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIGLListener01.java +++ b/src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIGLListener01.java @@ -71,9 +71,6 @@ public class UIGLListener01 extends UIListenerBase01 { gl.glEnable(GL2ES2.GL_POLYGON_OFFSET_FILL); regionRenderer.init(gl); - // default is 1.0f .. regionRenderer.setAlpha(gl, 1.0f); - // default is 0.5f .. regionRenderer.setSharpness(gl, 0.5f); - // FIXME: What if Sharpness diff for text/outline-only ?! glyphString = textRenderer.createString(gl, button.getFont(), 10, button.getLabel()); glyphString.generateRegion(gl, regionRenderer.getRenderState(), regionRenderer.getRenderType()); |