summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenneth Russel <[email protected]>2005-02-28 17:39:39 +0000
committerKenneth Russel <[email protected]>2005-02-28 17:39:39 +0000
commite9d9b9561c05ab8819ffff7c4b32ed9b1f8a2333 (patch)
tree95eb5b86ba01499752f2fab17ccaceb71fa19d0a
parent0c0451f6a5046e090a6c6dbde9426b1e12a259dc (diff)
Fixed bug in demos pointed out by chrisDUPUIS on javagaming.org forums
where we were creating multiple DebugGLs in particular in the TestContextDestruction demo, which was the cause of the slowdown in that demo git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@63 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
-rw-r--r--src/demos/hwShadowmapsSimple/HWShadowmapsSimple.java14
-rw-r--r--src/demos/tess/Tess.java7
-rwxr-xr-xsrc/demos/testContextDestruction/TestContextDestruction.java7
-rw-r--r--src/demos/testContextSharing/TestContextSharing.java7
4 files changed, 30 insertions, 5 deletions
diff --git a/src/demos/hwShadowmapsSimple/HWShadowmapsSimple.java b/src/demos/hwShadowmapsSimple/HWShadowmapsSimple.java
index f8a01aa..049bd3d 100644
--- a/src/demos/hwShadowmapsSimple/HWShadowmapsSimple.java
+++ b/src/demos/hwShadowmapsSimple/HWShadowmapsSimple.java
@@ -161,7 +161,12 @@ public class HWShadowmapsSimple {
class Listener implements GLEventListener {
public void init(GLDrawable drawable) {
- // drawable.setGL(new DebugGL(drawable.getGL()));
+ // init() might get called more than once if the GLCanvas is
+ // added and removed, but we only want to install the DebugGL
+ // pipeline once
+ // if (!(drawable.getGL() instanceof DebugGL)) {
+ // drawable.setGL(new DebugGL(drawable.getGL()));
+ // }
GL gl = drawable.getGL();
GLU glu = drawable.getGLU();
@@ -376,7 +381,12 @@ public class HWShadowmapsSimple {
class PbufferListener implements GLEventListener {
public void init(GLDrawable drawable) {
- // drawable.setGL(new DebugGL(drawable.getGL()));
+ // init() might get called more than once if the GLCanvas is
+ // added and removed, but we only want to install the DebugGL
+ // pipeline once
+ // if (!(drawable.getGL() instanceof DebugGL)) {
+ // drawable.setGL(new DebugGL(drawable.getGL()));
+ // }
GL gl = drawable.getGL();
GLU glu = drawable.getGLU();
diff --git a/src/demos/tess/Tess.java b/src/demos/tess/Tess.java
index 4063367..354a0c9 100644
--- a/src/demos/tess/Tess.java
+++ b/src/demos/tess/Tess.java
@@ -103,7 +103,12 @@ public class Tess {
public void init(GLDrawable drawable) {
gl = drawable.getGL();
glu = drawable.getGLU();
- drawable.setGL(new DebugGL(drawable.getGL()));
+ // init() might get called more than once if the GLCanvas is
+ // added and removed, but we only want to install the DebugGL
+ // pipeline once
+ if (!(drawable.getGL() instanceof DebugGL)) {
+ drawable.setGL(new DebugGL(drawable.getGL()));
+ }
double[][] rect = new double[][]{{50.0, 50.0, 0.0},
{200.0, 50.0, 0.0},
diff --git a/src/demos/testContextDestruction/TestContextDestruction.java b/src/demos/testContextDestruction/TestContextDestruction.java
index 3adb73c..2edff00 100755
--- a/src/demos/testContextDestruction/TestContextDestruction.java
+++ b/src/demos/testContextDestruction/TestContextDestruction.java
@@ -178,7 +178,12 @@ public class TestContextDestruction {
class Listener implements GLEventListener {
public void init(GLDrawable drawable) {
System.out.println("Listener.init()");
- drawable.setGL(new DebugGL(drawable.getGL()));
+ // init() might get called more than once if the GLCanvas is
+ // added and removed, but we only want to install the DebugGL
+ // pipeline once
+ if (!(drawable.getGL() instanceof DebugGL)) {
+ drawable.setGL(new DebugGL(drawable.getGL()));
+ }
GL gl = drawable.getGL();
diff --git a/src/demos/testContextSharing/TestContextSharing.java b/src/demos/testContextSharing/TestContextSharing.java
index 88f453a..e50c4d0 100644
--- a/src/demos/testContextSharing/TestContextSharing.java
+++ b/src/demos/testContextSharing/TestContextSharing.java
@@ -97,7 +97,12 @@ public class TestContextSharing {
class Listener implements GLEventListener {
public void init(GLDrawable drawable) {
- drawable.setGL(new DebugGL(drawable.getGL()));
+ // init() might get called more than once if the GLCanvas is
+ // added and removed, but we only want to install the DebugGL
+ // pipeline once
+ if (!(drawable.getGL() instanceof DebugGL)) {
+ drawable.setGL(new DebugGL(drawable.getGL()));
+ }
GL gl = drawable.getGL();