From 53966f92042d44483cb44f6c6b3c95a6a1fdd325 Mon Sep 17 00:00:00 2001 From: Sven Gothel <sgothel@jausoft.com> Date: Sat, 18 Jul 2015 03:50:02 +0200 Subject: Bug 1151 - Working OculusVR SDK 0.5.0.1 on GNU/Linux w/ Positional Tracker (DK2) Note: The ovrd server must run, otherwise no device is being detected. General Stereo API Changes: - EyePose -> ViewerPose - We only use the viewer pose and derive the pupile position via EyeParameter. - Hence we reduce complexity. - A single ViewerPose will be maintained by StereoDeviceRenderer - position is in meter, allowing StereoGLEventListener to scale device independent. - StereoDevice receives knowledge of certain sensors, to be queried and used for start-sensors. OVR: - Simply apply the above general changes - Build: Remove [more] unused API entries for SDK rendering --- .../opengl/util/stereo/StereoDeviceRenderer.java | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'src/jogl/classes/com/jogamp/opengl/util/stereo/StereoDeviceRenderer.java') 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 2078a00a2..0d6539634 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/stereo/StereoDeviceRenderer.java +++ b/src/jogl/classes/com/jogamp/opengl/util/stereo/StereoDeviceRenderer.java @@ -42,10 +42,10 @@ import com.jogamp.opengl.math.FovHVHalves; * <ul> * <li>device.{@link #beginFrame(GL)}</li> * <li>For both eyes:<ul> - * <li>device.{@link #updateEyePose(int)}</li> + * <li>device.{@link #updateViewerPose(int)}</li> * <li>if device.{@link #ppAvailable()}: Set the render target, e.g. FBO</li> * <li>Set the viewport using {@link Eye#getViewport()}</li> - * <li>{@link StereoGLEventListener#reshapeForEye(com.jogamp.opengl.GLAutoDrawable, int, int, int, int, EyeParameter, EyePose) upstream.reshapeEye(..)}</li> + * <li>{@link StereoGLEventListener#reshapeForEye(com.jogamp.opengl.GLAutoDrawable, int, int, int, int, EyeParameter, ViewerPose) upstream.reshapeEye(..)}</li> * <li>{@link StereoGLEventListener#display(com.jogamp.opengl.GLAutoDrawable, int) upstream.display(..)}.</li> * </ul></li> * <li>Reset the viewport</li> @@ -89,7 +89,7 @@ public interface StereoDeviceRenderer { /** * Distortion Bit: Timewarp distortion technique to predict - * {@link EyePose} movement to reduce latency. + * {@link ViewerPose} movement to reduce latency. * <p> * FIXME: Explanation needs refinement! * </p> @@ -113,10 +113,6 @@ public interface StereoDeviceRenderer { * Returns the {@link EyeParameter} of this eye. */ public EyeParameter getEyeParameter(); - /** - * Returns the last {@link EyePose} of this eye. - */ - public EyePose getLastEyePose(); } /** @@ -125,10 +121,14 @@ public interface StereoDeviceRenderer { public Eye getEye(final int eyeNum); /** - * Updates the {@link Eye#getLastEyePose()} - * for the denoted <code>eyeNum</code>. + * Updates the {@link ViewerPose} and returns it. + */ + public ViewerPose updateViewerPose(); + + /** + * Returns the last {@link ViewerPose}. */ - public EyePose updateEyePose(final int eyeNum); + public ViewerPose getLastViewerPose(); /** * Returns used distortion compensation bits, e.g. {@link #DISTORTION_BARREL}, @@ -219,7 +219,7 @@ public interface StereoDeviceRenderer { /** * Begin stereoscopic post-processing, see {@link #ppAvailable()}. * <p> - * {@link #updateEyePose(int)} for both eyes must be called upfront + * {@link #updateViewerPose(int)} for both eyes must be called upfront * when rendering upstream {@link StereoGLEventListener}. * </p> * -- cgit v1.2.3