diff options
author | Sven Gothel <[email protected]> | 2014-06-19 23:21:19 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2014-06-19 23:21:19 +0200 |
commit | 40d7d0d18ed11b8dbb0f16137f82eef828b822a4 (patch) | |
tree | 954cb10ac50d0eea506c4b4b9dc5b5bac39d99e0 /make/config/oculusvr/oculusvr-common.cfg | |
parent | 20bf51f2ccbecf1ab21ef3dbd2ff06e04ebd40cc (diff) |
Bug 1021: Add OculusSDK binding / Basic OVR support
Bring-up test only initializes the ovrHmdHandle
data structure by OVR native code.
See com.jogamp.oculusvr.OVRVersion
Current evaluation build compiles all OVR-SDK source
files itself w/o using provided libovr.a.
We also skip the GL dependent renderer of the SDK,
i.e. we prefer to utilize our JOGL 'barrel distortion' renderer.
This eases the 'chicken-egg' problem of OVR SDK dependencies,
i.e. libGL, libGLESv2 .. etc
Since the OVR source code is C++, we may still have to figure out
how to / and whether we shall link libstdc++ statically
to remove platform dependencies.
Right now we link libstdc++ statically if using GCC,
see make/build-oculusvr.xml (hackish .. TODO: better way to include all symbols).
Same consideration applies to GNU/Linux and libudev.so dependency,
since there are:
- libudev.so.0 and (Older distri's)
- libudev.so.1 (Debian8, ..)
...
Produced JAR artifacts are
- jar/atomic/oculusvr.jar
- jar/atomic/oculusvr-natives-<os.and.arch>.jar
i.e. only in 'atomic' variants to not bloat the default 'all' JAR files.
....
make/build-oculusvr.xml Notes:
- Currently native build only enabled on GNU/Linux (isLinux)
- Force disable native build via property 'c.build.oculusvr.skip'
Diffstat (limited to 'make/config/oculusvr/oculusvr-common.cfg')
-rw-r--r-- | make/config/oculusvr/oculusvr-common.cfg | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/make/config/oculusvr/oculusvr-common.cfg b/make/config/oculusvr/oculusvr-common.cfg new file mode 100644 index 000000000..4baa35f0b --- /dev/null +++ b/make/config/oculusvr/oculusvr-common.cfg @@ -0,0 +1,34 @@ +Package com.jogamp.oculusvr + +# Specify output directories +HierarchicalNativeOutput false +JavaOutputDir gensrc/classes +NativeOutputDir gensrc/native/oculusvr + +# Raise OVRException instead of RuntimeException in glue code +RuntimeExceptionType OVRException + +# We also have to hack its return type for now because we can't make +# just that void* opaque +Opaque long ovrHmd + +#ReturnValueCapacity alcOpenDevice 0 + +# Mappings for data types +Opaque boolean ovrBool + +# Not implemented in SDK !? +Ignore ovrHmd_ProcessLatencyTest + +# These routines use or return strings +ReturnsString ovrHmd_GetLastError +ReturnsString ovrHmd_GetLatencyTestResult +ReturnsString ovrHmd_GetString + +ArgumentIsString ovrHmd_GetFloat 1 +ArgumentIsString ovrHmd_SetFloat 1 +ArgumentIsString ovrHmd_GetFloatArray 1 +ArgumentIsString ovrHmd_SetFloatArray 1 +ArgumentIsString ovrHmd_GetArraySize 1 + + |