summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/demos/gears/Gears.java8
-rwxr-xr-xsrc/demos/hdr/HDR.java19
-rw-r--r--src/demos/hwShadowmapsSimple/HWShadowmapsSimple.java24
-rw-r--r--src/demos/infiniteShadowVolumes/InfiniteShadowVolumes.java1
-rw-r--r--src/demos/proceduralTexturePhysics/ProceduralTexturePhysics.java1
-rw-r--r--src/demos/vertexProgRefract/VertexProgRefract.java1
-rw-r--r--src/demos/vertexProgWarp/VertexProgWarp.java1
7 files changed, 36 insertions, 19 deletions
diff --git a/src/demos/gears/Gears.java b/src/demos/gears/Gears.java
index 3e8bd44..4c6f367 100644
--- a/src/demos/gears/Gears.java
+++ b/src/demos/gears/Gears.java
@@ -113,7 +113,13 @@ public class Gears implements GLEventListener, MouseListener, MouseMotionListene
angle += 2.0f;
GL gl = drawable.getGL();
- gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
+ if ((drawable instanceof GLJPanel) &&
+ ((GLJPanel) drawable).isOGLPipelineEnabled() &&
+ !((GLJPanel) drawable).isOpaque()) {
+ gl.glClear(GL.GL_DEPTH_BUFFER_BIT);
+ } else {
+ gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
+ }
gl.glPushMatrix();
gl.glRotatef(view_rotx, 1.0f, 0.0f, 0.0f);
diff --git a/src/demos/hdr/HDR.java b/src/demos/hdr/HDR.java
index e10072a..8173d97 100755
--- a/src/demos/hdr/HDR.java
+++ b/src/demos/hdr/HDR.java
@@ -224,6 +224,7 @@ public class HDR extends Demo {
public void shutdownDemo() {
ManipManager.getManipManager().unregisterWindow(drawable);
+ drawable.removeGLEventListener(this);
super.shutdownDemo();
}
@@ -260,7 +261,7 @@ public class HDR extends Demo {
unavailableExtension("Floating-point textures not available (need one of GL_NV_float_buffer, GL_ATI_texture_float, or GL_APPLE_float_pixels");
}
- setOrthoProjection(gl, win_w, win_h);
+ setOrthoProjection(gl, 0, 0, win_w, win_h);
gamma_tex = createGammaTexture(gl, 1024, 1.0f / 2.2f);
vignette_tex = createVignetteTexture(gl, pbuffer_w, pbuffer_h, 0.25f*pbuffer_w, 0.7f*pbuffer_w);
@@ -421,7 +422,7 @@ public class HDR extends Demo {
}
public void reshape(GLAutoDrawable drawable, int x, int y, int width, int height) {
- setOrthoProjection(drawable.getGL(), width, height);
+ setOrthoProjection(drawable.getGL(), x, y, width, height);
win_w = width;
win_h = height;
}
@@ -762,7 +763,7 @@ public class HDR extends Demo {
GL gl = drawable.getGL();
// FIXME: what about the ExaminerViewer?
- setOrthoProjection(gl, blur_w, blur_h);
+ setOrthoProjection(gl, 0, 0, blur_w, blur_h);
pipeline.initFloatingPointTexture(gl, blur_pbuffer_tex, blur_w, blur_h);
}
@@ -794,7 +795,7 @@ public class HDR extends Demo {
GL gl = drawable.getGL();
// FIXME: what about the ExaminerViewer?
- setOrthoProjection(gl, blur_w, blur_h);
+ setOrthoProjection(gl, 0, 0, blur_w, blur_h);
pipeline.initFloatingPointTexture(gl, blur2_pbuffer_tex, blur_w, blur_h);
}
@@ -808,7 +809,7 @@ public class HDR extends Demo {
gl.glClear(GL.GL_COLOR_BUFFER_BIT);
pipeline.enableFragmentProgram(gl, shrink_fprog);
- setOrthoProjection(gl, blur_w, blur_h);
+ setOrthoProjection(gl, 0, 0, blur_w, blur_h);
gl.glActiveTexture(GL.GL_TEXTURE0);
gl.glBindTexture(GL.GL_TEXTURE_RECTANGLE_NV, pbuffer_tex);
drawQuadRect2(gl, blur_w, blur_h, pbuffer_w, pbuffer_h);
@@ -838,7 +839,7 @@ public class HDR extends Demo {
public void init(GLAutoDrawable drawable) {
GL gl = drawable.getGL();
- setOrthoProjection(gl, pbuffer_w, pbuffer_h);
+ setOrthoProjection(gl, 0, 0, pbuffer_w, pbuffer_h);
pipeline.initTexture(gl, tonemap_pbuffer_tex, pbuffer_w, pbuffer_h);
}
@@ -860,7 +861,7 @@ public class HDR extends Demo {
// Rendering routines
//
- private void setOrthoProjection(GL gl, int w, int h) {
+ private void setOrthoProjection(GL gl, int x, int y, int w, int h) {
gl.glMatrixMode(GL.GL_PROJECTION);
gl.glLoadIdentity();
gl.glOrtho(0, w, 0, h, -1.0, 1.0);
@@ -868,7 +869,7 @@ public class HDR extends Demo {
gl.glLoadIdentity();
gl.glMatrixMode(GL.GL_MODELVIEW);
gl.glLoadIdentity();
- gl.glViewport(0, 0, w, h);
+ gl.glViewport(x, y, w, h);
}
private void setPerspectiveProjection(GL gl, GLU glu, int w, int h) {
@@ -886,7 +887,7 @@ public class HDR extends Demo {
gl.glDisable(GL.GL_DEPTH_TEST);
gl.glEnable(GL.GL_FRAGMENT_PROGRAM_ARB);
- setOrthoProjection(gl, blur_w, blur_h);
+ setOrthoProjection(gl, 0, 0, blur_w, blur_h);
drawQuadRect(gl, blur_w, blur_h);
gl.glDisable(GL.GL_FRAGMENT_PROGRAM_ARB);
diff --git a/src/demos/hwShadowmapsSimple/HWShadowmapsSimple.java b/src/demos/hwShadowmapsSimple/HWShadowmapsSimple.java
index ca2a8aa..23029bd 100644
--- a/src/demos/hwShadowmapsSimple/HWShadowmapsSimple.java
+++ b/src/demos/hwShadowmapsSimple/HWShadowmapsSimple.java
@@ -95,6 +95,7 @@ public class HWShadowmapsSimple extends Demo {
public void shutdownDemo() {
ManipManager.getManipManager().unregisterWindow(drawable);
+ drawable.removeGLEventListener(this);
super.shutdownDemo();
}
@@ -168,6 +169,8 @@ public class HWShadowmapsSimple extends Demo {
private Mat4f spotlightTransform = new Mat4f();
private Mat4f spotlightInverseTransform = new Mat4f();
private Mat4f objectTransform = new Mat4f();
+ private int viewportX;
+ private int viewportY;
public void init(GLAutoDrawable drawable) {
// Use debug pipeline
@@ -348,13 +351,16 @@ public class HWShadowmapsSimple extends Demo {
switch (displayMode) {
case RENDER_SCENE_FROM_CAMERA_VIEW: render_scene_from_camera_view(gl, glu, drawable, params); break;
case RENDER_SCENE_FROM_CAMERA_VIEW_SHADOWED: render_scene_from_camera_view_shadowed(gl, glu, drawable, params); break;
- case RENDER_SCENE_FROM_LIGHT_VIEW: render_scene_from_light_view(gl, glu, drawable); break;
+ case RENDER_SCENE_FROM_LIGHT_VIEW: render_scene_from_light_view(gl, glu, drawable, viewportX, viewportY); break;
default: throw new RuntimeException("Illegal display mode " + displayMode);
}
}
// Unused routines
- public void reshape(GLAutoDrawable drawable, int x, int y, int width, int height) {}
+ public void reshape(GLAutoDrawable drawable, int x, int y, int width, int height) {
+ viewportX = x;
+ viewportY = y;
+ }
public void displayChanged(GLAutoDrawable drawable, boolean modeChanged, boolean deviceChanged) {}
private void checkExtension(GL gl, String extensionName) {
@@ -428,7 +434,7 @@ public class HWShadowmapsSimple extends Demo {
((Tweak) tweaks.get(POLYGON_OFFSET_BIAS)).val);
gl.glEnable(GL.GL_POLYGON_OFFSET_FILL);
- render_scene_from_light_view(gl, glu, drawable);
+ render_scene_from_light_view(gl, glu, drawable, 0, 0);
gl.glDisable(GL.GL_POLYGON_OFFSET_FILL);
@@ -654,7 +660,7 @@ public class HWShadowmapsSimple extends Demo {
gl.glActiveTexture(GL.GL_TEXTURE0);
gl.glMatrixMode(GL.GL_PROJECTION);
gl.glLoadIdentity();
- gl.glViewport(0, 0, drawable.getWidth(), drawable.getHeight());
+ gl.glViewport(viewportX, viewportY, drawable.getWidth(), drawable.getHeight());
applyTransform(gl, cameraPerspective);
gl.glMatrixMode(GL.GL_MODELVIEW);
render_scene(gl, cameraTransform, drawable, params);
@@ -723,7 +729,7 @@ public class HWShadowmapsSimple extends Demo {
gl.glMatrixMode(GL.GL_PROJECTION);
gl.glLoadIdentity();
- gl.glViewport(0, 0, drawable.getWidth(), drawable.getHeight());
+ gl.glViewport(viewportX, viewportY, drawable.getWidth(), drawable.getHeight());
applyTransform(gl, cameraPerspective);
gl.glMatrixMode(GL.GL_MODELVIEW);
render_scene(gl, cameraTransform, drawable, params);
@@ -739,15 +745,15 @@ public class HWShadowmapsSimple extends Demo {
render_light_frustum(gl);
}
- private void largest_square_power_of_two_viewport(GL gl, GLAutoDrawable drawable) {
+ private void largest_square_power_of_two_viewport(GL gl, GLAutoDrawable drawable, int viewportX, int viewportY) {
float min = Math.min(drawable.getWidth(), drawable.getHeight());
float log2min = (float) Math.log(min) / (float) Math.log(2.0);
float pow2 = (float) Math.floor(log2min);
int size = 1 << (int) pow2;
- gl.glViewport(0, 0, size, size);
+ gl.glViewport(viewportX, viewportY, size, size);
}
- private void render_scene_from_light_view(GL gl, GLU glu, GLAutoDrawable drawable) {
+ private void render_scene_from_light_view(GL gl, GLU glu, GLAutoDrawable drawable, int viewportX, int viewportY) {
// place light
gl.glPushMatrix();
gl.glLoadIdentity();
@@ -781,7 +787,7 @@ public class HWShadowmapsSimple extends Demo {
glu.gluPerspective(lightshaper_fovy, 1, lightshaper_zNear, lightshaper_zFar);
gl.glMatrixMode(GL.GL_MODELVIEW);
if (displayMode == RENDER_SCENE_FROM_LIGHT_VIEW)
- largest_square_power_of_two_viewport(gl, drawable);
+ largest_square_power_of_two_viewport(gl, drawable, viewportX, viewportY);
render_scene(gl, spotlightTransform, null, null);
gl.glActiveTexture(GL.GL_TEXTURE1);
diff --git a/src/demos/infiniteShadowVolumes/InfiniteShadowVolumes.java b/src/demos/infiniteShadowVolumes/InfiniteShadowVolumes.java
index 05594be..75d5cf6 100644
--- a/src/demos/infiniteShadowVolumes/InfiniteShadowVolumes.java
+++ b/src/demos/infiniteShadowVolumes/InfiniteShadowVolumes.java
@@ -105,6 +105,7 @@ public class InfiniteShadowVolumes extends Demo {
public void shutdownDemo() {
ManipManager.getManipManager().unregisterWindow(drawable);
+ drawable.removeGLEventListener(this);
super.shutdownDemo();
}
diff --git a/src/demos/proceduralTexturePhysics/ProceduralTexturePhysics.java b/src/demos/proceduralTexturePhysics/ProceduralTexturePhysics.java
index 6fbab29..24ce3cc 100644
--- a/src/demos/proceduralTexturePhysics/ProceduralTexturePhysics.java
+++ b/src/demos/proceduralTexturePhysics/ProceduralTexturePhysics.java
@@ -95,6 +95,7 @@ public class ProceduralTexturePhysics extends Demo {
public void shutdownDemo() {
ManipManager.getManipManager().unregisterWindow(drawable);
+ drawable.removeGLEventListener(this);
super.shutdownDemo();
}
diff --git a/src/demos/vertexProgRefract/VertexProgRefract.java b/src/demos/vertexProgRefract/VertexProgRefract.java
index 8c1e867..e3b4ab5 100644
--- a/src/demos/vertexProgRefract/VertexProgRefract.java
+++ b/src/demos/vertexProgRefract/VertexProgRefract.java
@@ -454,6 +454,7 @@ public class VertexProgRefract extends Demo {
//
public void shutdownDemo() {
ManipManager.getManipManager().unregisterWindow(drawable);
+ drawable.removeGLEventListener(this);
super.shutdownDemo();
}
diff --git a/src/demos/vertexProgWarp/VertexProgWarp.java b/src/demos/vertexProgWarp/VertexProgWarp.java
index e740a64..cba8b23 100644
--- a/src/demos/vertexProgWarp/VertexProgWarp.java
+++ b/src/demos/vertexProgWarp/VertexProgWarp.java
@@ -301,6 +301,7 @@ public class VertexProgWarp extends Demo {
//
public void shutdownDemo() {
ManipManager.getManipManager().unregisterWindow(drawable);
+ drawable.removeGLEventListener(this);
super.shutdownDemo();
}