Bug 1151

Summary: Add OculusVR SDK 0.5.* Support
Product: [JogAmp] Jogl Reporter: Sven Gothel <sgothel>
Component: utilAssignee: Sven Gothel <sgothel>
Status: RESOLVED FIXED    
Severity: enhancement CC: rami.santina
Priority: ---    
Version: 2.3.2   
Hardware: All   
OS: all   
Type: FEATURE SCM Refs:
oculusvr-sdk 4207f9c279e832e3afcb3f5fc6cd8d84cb4cfe4c oculusvr-sdk 450aa6f7df9e67dd256b86f94e65eaf707032aad oculusvr-sdk a352ecb7e63304034ac93332cf0c4d9183df867e oculusvr-sdk 1f262ca2dbe00ba761e9b91994e93fee65d6efc1 oculusvr-sdk eea4866ec9af301985d3eb2f648b8c95661fae2f jogl 787bf6c43c881ff969282ed8eaabfe680daa70f8 jogl 2ea0cc1bcdb01ca1875424ef0918ec382a02e075 jogl 6487e3d25c55eadbf527739012e21e8f33e67a0f jogl 53966f92042d44483cb44f6c6b3c95a6a1fdd325 jogl befd56510a781e65509256ae37e18888ff58181d jogl d9674620bc4f03dff9611a785a27dd41b1b72648 jogl d99b7bf16fe316a10784e9588408ab28b204e506 jogl 5d58f63300771843687db18ad4da67c5882fd52e
Workaround: ---
Bug Depends on: 1116, 1153    
Bug Blocks:    

Description Sven Gothel 2015-03-27 15:15:53 CET
OculusVR SDK 0.5.* uses a dynamically linked library,
we have to validate how we can adopt to these changes.
Comment 1 Sven Gothel 2015-04-01 18:54:53 CEST
Depends on Bug 1153 due to used expressions in enum declaration
within OVR header files.
Comment 2 Sven Gothel 2015-07-16 18:00:44 CEST
- Compile/Link clean on all platforms
  - Needs at least GCC >= 4.8 for stdc++11
  - Shall link stdc++ statically to enhance binary compatibility

- Needs more testing and sensor tracking adoption
Comment 3 Sven Gothel 2015-07-18 03:51:37 CEST
commit 53966f92042d44483cb44f6c6b3c95a6a1fdd325

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
Comment 4 Sven Gothel 2015-07-18 03:53:19 CEST
(In reply to comment #0)
> OculusVR SDK 0.5.* uses a dynamically linked library,
> we have to validate how we can adopt to these changes.

We simply compile the c++ SDK parts ourselves w/o using 
the client dynamic library.
Comment 5 Sven Gothel 2015-07-25 14:32:33 CEST
commit befd56510a781e65509256ae37e18888ff58181d
    Refine Frustum definition: Adding Frustum.FovDesc; 
    Clarify makeFrustum argument constraints -> Exceptions

commit d9674620bc4f03dff9611a785a27dd41b1b72648
    Clarify code in stereo/ovr: Comments, states, names, formatting.

commit d99b7bf16fe316a10784e9588408ab28b204e506
    StereoDevice (Generic/OVR): Add knowledge about LocationSensorParameter 
    and allow reset origin of location-sensor

commit 5d58f63300771843687db18ad4da67c5882fd52e
    Bug 1151 - Fix using DK1 on OVR 0.5*; Minor changes

+++

Tested on GNU/Linux X11, Mac OSX 10.10 and Windows 7
w/ installed OculusVR Runtime 0.5.0.1 - working.

Note: On Mac OSX the DK2 screen must be rotated 
manually 90 degrees. This is also mentioned in the 
original Oculus SDK documentation.
Comment 6 Sven Gothel 2015-07-25 14:34:10 CEST
(In reply to comment #5)
> Tested on GNU/Linux X11, Mac OSX 10.10 and Windows 7
> w/ installed OculusVR Runtime 0.5.0.1 - working.

That is DK1 and DK2 are working on these platforms.

> 
> Note: On Mac OSX the DK2 screen must be rotated 
> manually 90 degrees. This is also mentioned in the 
> original Oculus SDK documentation.