diff options
Diffstat (limited to 'src/jogl/classes/com/jogamp/opengl/util/stereo/StereoClientRenderer.java')
-rw-r--r-- | src/jogl/classes/com/jogamp/opengl/util/stereo/StereoClientRenderer.java | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/jogl/classes/com/jogamp/opengl/util/stereo/StereoClientRenderer.java b/src/jogl/classes/com/jogamp/opengl/util/stereo/StereoClientRenderer.java index fad07b026..b1a38ab06 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/stereo/StereoClientRenderer.java +++ b/src/jogl/classes/com/jogamp/opengl/util/stereo/StereoClientRenderer.java @@ -85,9 +85,9 @@ public class StereoClientRenderer implements GLEventListener { this.fboTexs = new TextureAttachment[fboCount]; } - private void initFBOs(final GL gl, final DimensionImmutable size) { + private void initFBOs(final GL gl, final DimensionImmutable[] sizes) { for(int i=0; i<fbos.length; i++) { - fbos[i].init(gl, size.getWidth(), size.getHeight(), numSamples); + fbos[i].init(gl, sizes[i].getWidth(), sizes[i].getHeight(), numSamples); if( i>0 && fbos[i-1].getNumSamples() != fbos[i].getNumSamples()) { throw new InternalError("sample size mismatch: \n\t0: "+fbos[i-1]+"\n\t1: "+fbos[i]); } @@ -98,7 +98,7 @@ public class StereoClientRenderer implements GLEventListener { fbos[i].attachRenderbuffer(gl, Type.DEPTH, FBObject.DEFAULT_BITS); final FBObject ssink = new FBObject(); { - ssink.init(gl, size.getWidth(), size.getHeight(), 0); + ssink.init(gl, sizes[i].getWidth(), sizes[i].getHeight(), 0); ssink.attachTexture2D(gl, 0, false, magFilter, minFilter, GL.GL_CLAMP_TO_EDGE, GL.GL_CLAMP_TO_EDGE); ssink.attachRenderbuffer(gl, Attachment.Type.DEPTH, FBObject.DEFAULT_BITS); } @@ -146,7 +146,9 @@ public class StereoClientRenderer implements GLEventListener { deviceRenderer.init(gl); // We will do some offscreen rendering, setup FBO... - final DimensionImmutable textureSize = deviceRenderer.getTextureCount() > 1 ? deviceRenderer.getSingleSurfaceSize() : deviceRenderer.getTotalSurfaceSize(); + final DimensionImmutable[] textureSize = deviceRenderer.getTextureCount() > 1 ? + deviceRenderer.getEyeSurfaceSize() : + new DimensionImmutable[] { deviceRenderer.getTotalSurfaceSize() }; initFBOs(gl, textureSize); helper.init(drawable, false); |