summaryrefslogtreecommitdiffstats
path: root/src/test/com/jogamp/opengl
diff options
context:
space:
mode:
authorSven Gothel <sgothel@jausoft.com>2011-10-04 02:48:22 +0200
committerSven Gothel <sgothel@jausoft.com>2011-10-04 02:48:22 +0200
commita095b7da968533120306ff9ef019685b6698272c (patch)
treef04c4043eafbfb7df255ea19aeeeeca69bd6e40c /src/test/com/jogamp/opengl
parentc76e858c7f4481cab2dae6e079e0db35e3b591e6 (diff)
Graph Shader Simplification, 'a'/'b' redefined; GraphUI 2-pass demo;
Graph Shader Simplification - remove enable factor and 2nd 'discard' branch - use build-in 'max'/'clamp' functions, supposed to be faster Graph Shader 'a'/'b' redefined - 'a' is 1-pass shader only - 'b' is 2-pass incl. (1st pass + 2nd pass) - Works well on ARM Mali-400 MP (Galaxy S2). - Doesn't work on NV tegra2 (P1202: Texture's gl states do not match with shader's), however 2-pass on mobile seems to be overkill for now. We may create a workaround (switch shader ..). GraphUI 2-pass demo; - Propagate renderModes and texSize to UIShape's render(..) - TODO: Remove GL dependency in UIShape, maybe use a callback or visitor model - Adding GarpUI 2-pass launcher (Android and Standalone)
Diffstat (limited to 'src/test/com/jogamp/opengl')
-rw-r--r--src/test/com/jogamp/opengl/test/android/NEWTGraphUI1pActivity.java (renamed from src/test/com/jogamp/opengl/test/android/NEWTGraphUIActivity.java)4
-rw-r--r--src/test/com/jogamp/opengl/test/android/NEWTGraphUI2pActivity.java77
-rw-r--r--src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java47
-rw-r--r--src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtDemo01.java4
-rw-r--r--src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtDemo02.java50
-rw-r--r--src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label.java2
-rw-r--r--src/test/com/jogamp/opengl/test/junit/graph/demos/ui/RIButton.java9
-rw-r--r--src/test/com/jogamp/opengl/test/junit/graph/demos/ui/SceneUIController.java19
-rw-r--r--src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIGLListener01.java5
-rw-r--r--src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIShape.java2
10 files changed, 181 insertions, 38 deletions
diff --git a/src/test/com/jogamp/opengl/test/android/NEWTGraphUIActivity.java b/src/test/com/jogamp/opengl/test/android/NEWTGraphUI1pActivity.java
index 3fcc82689..99de90f2a 100644
--- a/src/test/com/jogamp/opengl/test/android/NEWTGraphUIActivity.java
+++ b/src/test/com/jogamp/opengl/test/android/NEWTGraphUI1pActivity.java
@@ -42,7 +42,7 @@ import com.jogamp.opengl.util.Animator;
import android.os.Bundle;
import android.util.Log;
-public class NEWTGraphUIActivity extends NewtBaseActivity {
+public class NEWTGraphUI1pActivity extends NewtBaseActivity {
static String TAG = "NEWTGraphUIActivity";
@Override
@@ -59,7 +59,7 @@ public class NEWTGraphUIActivity extends NewtBaseActivity {
GLWindow glWindow = GLWindow.create(caps);
setContentView(glWindow);
- glWindow.addGLEventListener(new GPUUISceneGLListener0A());
+ glWindow.addGLEventListener(new GPUUISceneGLListener0A(0));
glWindow.getWindow().getScreen().addScreenModeListener(new ScreenModeListener() {
public void screenModeChangeNotify(ScreenMode sm) { }
public void screenModeChanged(ScreenMode sm, boolean success) {
diff --git a/src/test/com/jogamp/opengl/test/android/NEWTGraphUI2pActivity.java b/src/test/com/jogamp/opengl/test/android/NEWTGraphUI2pActivity.java
new file mode 100644
index 000000000..c627ce725
--- /dev/null
+++ b/src/test/com/jogamp/opengl/test/android/NEWTGraphUI2pActivity.java
@@ -0,0 +1,77 @@
+/**
+ * Copyright 2011 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 com.jogamp.opengl.test.android;
+
+import javax.media.opengl.GLCapabilities;
+import javax.media.opengl.GLProfile;
+
+import jogamp.newt.driver.android.NewtBaseActivity;
+
+import com.jogamp.graph.curve.Region;
+import com.jogamp.newt.ScreenMode;
+import com.jogamp.newt.event.ScreenModeListener;
+import com.jogamp.newt.opengl.GLWindow;
+
+import com.jogamp.opengl.test.junit.graph.demos.GPUUISceneGLListener0A;
+import com.jogamp.opengl.util.Animator;
+
+import android.os.Bundle;
+import android.util.Log;
+
+public class NEWTGraphUI2pActivity extends NewtBaseActivity {
+ static String TAG = "NEWTGraphUIActivity";
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ Log.d(TAG, "onCreate - 0");
+ super.onCreate(savedInstanceState);
+
+ // create GLWindow (-> incl. underlying NEWT Display, Screen & Window)
+ GLCapabilities caps = new GLCapabilities(GLProfile.get(GLProfile.GLES2));
+ caps.setAlphaBits(4);
+ caps.setNumSamples(4);
+ caps.setSampleBuffers(true);
+ Log.d(TAG, "req caps: "+caps);
+ GLWindow glWindow = GLWindow.create(caps);
+ setContentView(glWindow);
+
+ glWindow.addGLEventListener(new GPUUISceneGLListener0A(Region.VBAA_RENDERING_BIT));
+ glWindow.getWindow().getScreen().addScreenModeListener(new ScreenModeListener() {
+ public void screenModeChangeNotify(ScreenMode sm) { }
+ public void screenModeChanged(ScreenMode sm, boolean success) {
+ System.err.println("ScreenMode Changed: "+sm);
+ }
+ });
+ glWindow.setVisible(true);
+ Animator animator = new Animator(glWindow);
+ animator.setUpdateFPSFrames(60, System.err);
+ setAnimator(animator);
+
+ Log.d(TAG, "onCreate - X");
+ }
+}
diff --git a/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java b/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java
index 63daff27c..540aade38 100644
--- a/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java
+++ b/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneGLListener0A.java
@@ -8,6 +8,7 @@ import javax.media.opengl.GLEventListener;
import javax.media.opengl.GLPipelineFactory;
import javax.media.opengl.GLRunnable;
+import com.jogamp.graph.curve.Region;
import com.jogamp.graph.curve.opengl.RegionRenderer;
import com.jogamp.graph.curve.opengl.RenderState;
import com.jogamp.graph.font.Font;
@@ -27,6 +28,10 @@ public class GPUUISceneGLListener0A implements GLEventListener {
private boolean debug = false;
private boolean trace = false;
+ private final int renderModes;
+ private final int texSize;
+ private final int renderModes2;
+ private final int texSize2;
private RegionRenderer regionRenderer;
private RenderState rs;
@@ -60,16 +65,25 @@ public class GPUUISceneGLListener0A implements GLEventListener {
private float angText = 0;
public GPUUISceneGLListener0A() {
- this(RenderState.createRenderState(new ShaderState(), SVertex.factory()), false, false);
+ this(0);
}
- public GPUUISceneGLListener0A(RenderState rs, boolean debug, boolean trace) {
+ public GPUUISceneGLListener0A(int renderModes) {
+ this(RenderState.createRenderState(new ShaderState(), SVertex.factory()), renderModes, false, false);
+ }
+
+ public GPUUISceneGLListener0A(RenderState rs, int renderModes, boolean debug, boolean trace) {
this.rs = rs;
+ this.renderModes = renderModes;
+ this.texSize = Region.isVBAA(renderModes) ? 400 : 0;
+ this.renderModes2 = 0;
+ this.texSize2 = 0;
this.debug = debug;
this.trace = trace;
font = FontFactory.get(FontFactory.UBUNTU).getDefault();
labelRegions = new UIRegion[3];
+ sceneUIController = new SceneUIController();
}
private void initButtons(int width, int height) {
@@ -93,6 +107,10 @@ public class GPUUISceneGLListener0A implements GLEventListener {
buttons[1] = new RIButton(SVertex.factory(), font, "Show FPS", xSize, ySize){
public void onClick() {
+ final GLAnimatorControl a = cDrawable.getAnimator();
+ if( null != a ) {
+ a.resetFPSCounter();
+ }
showFPS = !showFPS;
}
public void onPressed() { }
@@ -106,9 +124,7 @@ public class GPUUISceneGLListener0A implements GLEventListener {
cDrawable.invoke(false, new GLRunnable() {
public boolean run(GLAutoDrawable drawable) {
GL gl = drawable.getGL();
- int i = gl.getSwapInterval();
- i = i==0 ? 1 : 0;
- gl.setSwapInterval(i);
+ gl.setSwapInterval(gl.getSwapInterval()<=0?1:0);
final GLAnimatorControl a = drawable.getAnimator();
if( null != a ) {
a.resetFPSCounter();
@@ -196,9 +212,8 @@ public class GPUUISceneGLListener0A implements GLEventListener {
}
this.font = FontFactory.get(fontSet).getDefault();
- regionRenderer = RegionRenderer.create(rs, 0);
+ regionRenderer = RegionRenderer.create(rs, renderModes);
- gl.setSwapInterval(1);
gl.glEnable(GL2ES2.GL_DEPTH_TEST);
gl.glEnable(GL2ES2.GL_BLEND);
@@ -209,14 +224,15 @@ public class GPUUISceneGLListener0A implements GLEventListener {
initTexts();
initButtons(width, height);
- sceneUIController.setRenderer(regionRenderer, rs);
+ sceneUIController.setRenderer(regionRenderer, rs, renderModes, texSize);
sceneUIController.addShape(buttons[0]);
sceneUIController.addShape(buttons[1]);
sceneUIController.addShape(buttons[2]);
sceneUIController.addShape(buttons[3]);
sceneUIController.addShape(buttons[4]);
sceneUIController.addShape(buttons[5]);
-
+ drawable.addGLEventListener(sceneUIController);
+
Label jlabel = new Label(SVertex.factory(), font, fontSizeFixed, jogamp){
public void onClick() { }
public void onPressed() { }
@@ -224,6 +240,10 @@ public class GPUUISceneGLListener0A implements GLEventListener {
};
jogampRegion = new UIRegion(jlabel);
+ final GLAnimatorControl a = drawable.getAnimator();
+ if( null != a ) {
+ a.resetFPSCounter();
+ }
}
public void dispose(GLAutoDrawable drawable) {
@@ -235,8 +255,10 @@ public class GPUUISceneGLListener0A implements GLEventListener {
System.err.println("GPUUISceneGLListener0A: dispose (0)");
}
+ drawable.removeGLEventListener(sceneUIController);
+ sceneUIController.dispose(drawable);
+
GL2ES2 gl = drawable.getGL().getGL2ES2();
- sceneUIController = null;
regionRenderer.destroy(gl);
}
@@ -287,7 +309,7 @@ public class GPUUISceneGLListener0A implements GLEventListener {
regionRenderer.rotate(gl, zoomText, 0, 1, 0);
regionRenderer.setColorStatic(gl, 0.0f, 0.0f, 0.0f);
- regionRenderer.draw(gl, labelRegions[currentText].getRegion(gl, rs, 0), new float[]{0,0,0}, 0);
+ regionRenderer.draw(gl, labelRegions[currentText].getRegion(gl, rs, renderModes2), new float[]{0,0,0}, texSize2);
final GLAnimatorControl animator = drawable.getAnimator();
final boolean _drawFPS = showFPS && null != animator;
@@ -326,8 +348,6 @@ public class GPUUISceneGLListener0A implements GLEventListener {
if ( null == multiTouchListener ) {
multiTouchListener = new MultiTouchListener();
window.addMouseListener(multiTouchListener);
- sceneUIController = new SceneUIController();
- window.addGLEventListener(sceneUIController);
sceneUIController.attachInputListenerTo(window);
}
}
@@ -335,7 +355,6 @@ public class GPUUISceneGLListener0A implements GLEventListener {
public void detachInputListenerFrom(GLWindow window) {
if ( null != multiTouchListener ) {
window.removeMouseListener(multiTouchListener);
- window.removeGLEventListener(sceneUIController);
sceneUIController.detachInputListenerFrom(window);
}
}
diff --git a/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtDemo01.java b/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtDemo01.java
index 14276ce44..91f66875b 100644
--- a/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtDemo01.java
+++ b/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtDemo01.java
@@ -29,12 +29,12 @@ public class GPUUISceneNewtDemo01 {
window.setTitle("GraphUI Newt Demo");
final RenderState rs = RenderState.createRenderState(new ShaderState(), SVertex.factory());
- GPUUISceneGLListener0A textGLListener = new GPUUISceneGLListener0A(rs, DEBUG, TRACE);
+ GPUUISceneGLListener0A textGLListener = new GPUUISceneGLListener0A(rs, 0, DEBUG, TRACE);
window.addGLEventListener(textGLListener);
textGLListener.attachInputListenerTo(window);
final Animator animator = new Animator();
- animator.setUpdateFPSFrames(10, null);
+ animator.setUpdateFPSFrames(60, System.err);
animator.add(window);
window.addWindowListener(new WindowAdapter() {
diff --git a/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtDemo02.java b/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtDemo02.java
new file mode 100644
index 000000000..a6cd770d1
--- /dev/null
+++ b/src/test/com/jogamp/opengl/test/junit/graph/demos/GPUUISceneNewtDemo02.java
@@ -0,0 +1,50 @@
+package com.jogamp.opengl.test.junit.graph.demos;
+
+import javax.media.opengl.GLCapabilities;
+import javax.media.opengl.GLProfile;
+
+import com.jogamp.graph.curve.Region;
+import com.jogamp.graph.curve.opengl.RenderState;
+import com.jogamp.graph.geom.opengl.SVertex;
+import com.jogamp.newt.event.WindowAdapter;
+import com.jogamp.newt.event.WindowEvent;
+import com.jogamp.newt.opengl.GLWindow;
+import com.jogamp.opengl.util.Animator;
+import com.jogamp.opengl.util.glsl.ShaderState;
+
+public class GPUUISceneNewtDemo02 {
+ static final boolean DEBUG = false;
+ static final boolean TRACE = false;
+
+ public static void main(String[] args) {
+ GLProfile.initSingleton(true);
+ GLProfile glp = GLProfile.getGL2ES2();
+ GLCapabilities caps = new GLCapabilities(glp);
+ caps.setAlphaBits(4);
+ caps.setSampleBuffers(true);
+ caps.setNumSamples(4);
+
+ final GLWindow window = GLWindow.create(caps);
+ window.setPosition(10, 10);
+ window.setSize(680, 480);
+ window.setTitle("GraphUI Newt Demo");
+
+ final RenderState rs = RenderState.createRenderState(new ShaderState(), SVertex.factory());
+ GPUUISceneGLListener0A textGLListener = new GPUUISceneGLListener0A(rs, Region.VBAA_RENDERING_BIT, DEBUG, TRACE);
+ window.addGLEventListener(textGLListener);
+ textGLListener.attachInputListenerTo(window);
+
+ final Animator animator = new Animator();
+ animator.setUpdateFPSFrames(60, System.err);
+ animator.add(window);
+
+ window.addWindowListener(new WindowAdapter() {
+ public void windowDestroyed(WindowEvent e) {
+ animator.stop();
+ }
+ });
+
+ window.setVisible(true);
+ animator.start();
+ }
+}
diff --git a/src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label.java b/src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label.java
index 83fc08b86..ca70481d7 100644
--- a/src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label.java
+++ b/src/test/com/jogamp/opengl/test/junit/graph/demos/ui/Label.java
@@ -100,7 +100,7 @@ public abstract class Label extends UIShape implements UITextShape {
@Override
public void render(GL2ES2 gl, RenderState rs, RegionRenderer renderer,
- boolean selection) {
+ int renderModes, int texSize, boolean selection) {
}
}
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 60f79e2d7..3acab3bdb 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
@@ -108,7 +108,6 @@ public abstract class RIButton extends UIShape {
float th = (2f*spacing) + lbox.getHeight();
float tw = (2f*spacing) + lbox.getWidth();
- float[] pos = getPosition();
float minX = lbox.getMinX()-spacing;
float minY = lbox.getMinY()-spacing;
float minZ = labelZOffset;
@@ -127,7 +126,6 @@ public abstract class RIButton extends UIShape {
float cw = 0.5f*corner*Math.min(tw, th);
float ch = 0.5f*corner*Math.min(tw, th);
- float[] pos = getPosition();
float minX = lbox.getMinX()-spacing;
float minY = lbox.getMinY()-spacing;
float minZ = labelZOffset;
@@ -201,8 +199,7 @@ public abstract class RIButton extends UIShape {
private boolean toggle =false;
private boolean toggleable = false;
-
- public void render(GL2ES2 gl, RenderState rs, RegionRenderer renderer, boolean selection) {
+ public void render(GL2ES2 gl, RenderState rs, RegionRenderer renderer, int renderModes, int texSize, boolean selection) {
if(null == buttonRegion) {
buttonRegion = new UIRegion(this);
labelRegion = new UIRegion(getLabel());
@@ -218,7 +215,7 @@ public abstract class RIButton extends UIShape {
if(!selection){
renderer.setColorStatic(gl, bColor[0], bColor[1], bColor[2]);
}
- renderer.draw(gl, buttonRegion.getRegion(gl, rs, 0), getPosition(), 0);
+ renderer.draw(gl, buttonRegion.getRegion(gl, rs, renderModes), getPosition(), texSize);
gl.glDisable(GL2ES2.GL_POLYGON_OFFSET_FILL);
float[] lColor = labelColor;
@@ -228,7 +225,7 @@ public abstract class RIButton extends UIShape {
if(!selection){
renderer.setColorStatic(gl, lColor[0], lColor[1], lColor[2]);
}
- renderer.draw(gl, labelRegion.getRegion(gl, rs, 0), getPosition(), 0);
+ renderer.draw(gl, labelRegion.getRegion(gl, rs, renderModes), getPosition(), texSize);
}
public void setPressed(boolean b) {
super.setPressed(b);
diff --git a/src/test/com/jogamp/opengl/test/junit/graph/demos/ui/SceneUIController.java b/src/test/com/jogamp/opengl/test/junit/graph/demos/ui/SceneUIController.java
index deefbf783..6a400e95f 100644
--- a/src/test/com/jogamp/opengl/test/junit/graph/demos/ui/SceneUIController.java
+++ b/src/test/com/jogamp/opengl/test/junit/graph/demos/ui/SceneUIController.java
@@ -22,6 +22,8 @@ public class SceneUIController implements GLEventListener{
private ArrayList<UIShape> shapes = new ArrayList<UIShape>();
private int count = 0;
+ private int renderModes;
+ private int texSize;
private RegionRenderer renderer = null;
private RenderState rs = null;
@@ -38,17 +40,20 @@ public class SceneUIController implements GLEventListener{
private GLAutoDrawable cDrawable = null;
public SceneUIController() {
-
}
- public void setRenderer(RegionRenderer renderer, RenderState rs) {
+ public void setRenderer(RegionRenderer renderer, RenderState rs, int renderModes, int texSize) {
this.renderer = renderer;
this.rs = rs;
+ this.renderModes = renderModes;
+ this.texSize = texSize;
}
- public SceneUIController(RegionRenderer renderer, RenderState rs) {
+ public SceneUIController(RegionRenderer renderer, RenderState rs, int renderModes, int texSize) {
this.renderer = renderer;
this.rs = rs;
+ this.renderModes = renderModes;
+ this.texSize = texSize;
}
public void attachInputListenerTo(GLWindow window) {
@@ -89,7 +94,7 @@ public class SceneUIController implements GLEventListener{
final int height = drawable.getHeight();
GL2ES2 gl = drawable.getGL().getGL2ES2();
- render(gl, width, height,false);
+ render(gl, width, height, renderModes, texSize, false);
}
public void dispose(GLAutoDrawable drawable) {
@@ -131,7 +136,7 @@ public class SceneUIController implements GLEventListener{
gl.glClearColor(sceneClearColor[0], sceneClearColor[1], sceneClearColor[2], sceneClearColor[3]);
gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
- render(gl, width, height,true);
+ render(gl, width, height, 0, 0, true);
ByteBuffer pixel = Buffers.newDirectByteBuffer(4);
pixel.order(ByteOrder.nativeOrder());
IntBuffer viewport = IntBuffer.allocate(4);
@@ -146,7 +151,7 @@ public class SceneUIController implements GLEventListener{
return index;
}
- private void render(GL2ES2 gl, int width, int height, boolean select) {
+ private void render(GL2ES2 gl, int width, int height, int renderModes, int texSize, boolean select) {
renderer.reshapePerspective(null, 45.0f, width, height, 0.1f, 7000.0f);
for(int index=0; index < count;index++){
@@ -163,7 +168,7 @@ public class SceneUIController implements GLEventListener{
renderer.rotate(gl, rotation[1], 0, 1, 0);
renderer.rotate(gl, rotation[2], 0, 0, 1);
- shapes.get(index).render(gl, rs, renderer,select);
+ shapes.get(index).render(gl, rs, renderer, renderModes, texSize, select);
renderer.rotate(gl, -rotation[0], 1, 0, 0);
renderer.rotate(gl, -rotation[1], 0, 1, 0);
renderer.rotate(gl, -rotation[2], 0, 0, 1);
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 6768eccca..5f92f13ec 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
@@ -32,13 +32,8 @@ import javax.media.opengl.GL;
import javax.media.opengl.GL2ES2;
import javax.media.opengl.GLAutoDrawable;
-import jogamp.graph.curve.text.GlyphString;
-
-import com.jogamp.graph.curve.OutlineShape;
-import com.jogamp.graph.curve.opengl.GLRegion;
import com.jogamp.graph.curve.opengl.RegionRenderer;
import com.jogamp.graph.curve.opengl.RenderState;
-import com.jogamp.graph.curve.opengl.TextRenderer;
import com.jogamp.graph.font.Font;
import com.jogamp.graph.font.FontFactory;
import com.jogamp.graph.geom.opengl.SVertex;
diff --git a/src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIShape.java b/src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIShape.java
index ebed0f7aa..c04fa8b60 100644
--- a/src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIShape.java
+++ b/src/test/com/jogamp/opengl/test/junit/graph/demos/ui/UIShape.java
@@ -55,7 +55,7 @@ public abstract class UIShape {
shape.clear();
}
- public abstract void render(GL2ES2 gl, RenderState rs, RegionRenderer renderer, boolean selection);
+ public abstract void render(GL2ES2 gl, RenderState rs, RegionRenderer renderer, int renderModes, int texSize, boolean selection);
protected boolean positionDirty = false;