From 94f850ba9fdbec76b6c74eea5d4322352d3021a6 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Thu, 10 Jul 2014 15:03:52 +0200 Subject: StereoDeviceRenderer/ClientRenderer: Add note about 'Correct Asymmetric FOV Rendering', using FovHVHalves - incl. references --- .../jogamp/opengl/util/stereo/StereoClientRenderer.java | 3 +++ .../jogamp/opengl/util/stereo/StereoDeviceRenderer.java | 15 +++++++++++++++ 2 files changed, 18 insertions(+) (limited to 'src/jogl/classes') 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 dfb676456..30aa2ef6d 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/stereo/StereoClientRenderer.java +++ b/src/jogl/classes/com/jogamp/opengl/util/stereo/StereoClientRenderer.java @@ -41,12 +41,15 @@ import com.jogamp.opengl.FBObject; import com.jogamp.opengl.FBObject.Attachment; import com.jogamp.opengl.FBObject.TextureAttachment; import com.jogamp.opengl.FBObject.Attachment.Type; +import com.jogamp.opengl.math.FovHVHalves; import com.jogamp.opengl.util.CustomGLEventListener; /** * {@link StereoClientRenderer} utilizing {@link StereoDeviceRenderer} * implementing {@link GLEventListener} for convenience. *

+ * See {@link StereoDeviceRenderer} notes about Correct {@link FovHVHalves Asymmetric FOV} Rendering. + *

* Implementation renders {@link StereoGLEventListener} * using one or more {@link FBObject} according to {@link StereoDeviceRenderer#getTextureCount()}. *

diff --git a/src/jogl/classes/com/jogamp/opengl/util/stereo/StereoDeviceRenderer.java b/src/jogl/classes/com/jogamp/opengl/util/stereo/StereoDeviceRenderer.java index 1805b71bc..ab9ba99a1 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/stereo/StereoDeviceRenderer.java +++ b/src/jogl/classes/com/jogamp/opengl/util/stereo/StereoDeviceRenderer.java @@ -31,6 +31,8 @@ import javax.media.nativewindow.util.DimensionImmutable; import javax.media.nativewindow.util.RectangleImmutable; import javax.media.opengl.GL; +import com.jogamp.opengl.math.FovHVHalves; + /** * Stereoscopic device rendering interface. *

@@ -54,7 +56,20 @@ import javax.media.opengl.GL; *

  • device.{@link #ppEnd(GL)}
  • * *
  • device.{@link #endFrame(GL)}
  • + * + *

    + *
    Correct {@link FovHVHalves Asymmetric FOV} Rendering
    + *

    + * The {@link StereoClientRenderer} shall render both images for each eye correctly Off-axis + * utilizing an asymmetric camera frustum, i.e. by using {@link StereoDevice StereoDevice}'s {@link StereoDevice#getDefaultFOV() default} {@link FovHVHalves}.
    + * + * Some references: *

    + *

    */ public interface StereoDeviceRenderer { /** -- cgit v1.2.3