CMake / DLL version of the new SDK & examples
This represents the effort of a few days to migrate my example code onto the new SDK. Currently this is a Windows/OpenGL only release. Windows, because the new SDK only support windows at present. OpenGL because the SDK as provided can't be built from scratch under Visual Studio 2013 owing to some missing headers.
I've made a number of changes to the SDK as provided by Oculus. As always, I've dumped their project files in preference for using CMake.
In addition, I've broken out the C API from the main body of the SDK. The C API is in the Bindings/C directory of the OculusSDK library. The current CMake settings have it set to build as a shared library (i.e. a DLL). The examples now only work through the C API. If you wish to follow this pattern, the only files you need to include are the ones located in "Bindings/C/Include". In addition, they are self contained and unlike the previous SDK version don't require adding all of the SDK source file paths to the include path.
In addition to the structural changes to the SDK, I have made some minor changes to the OpenGL usage inside the C API to enable the code to work with core profiles OpenGL. Previously, the SDK didn't use Vertex Array Objects to store the bindings between the vertex buffers and the shaders. This is forbidden by the core profile, so if like me you were using it, you'd get nothing to render.
I am also working on replacing the current Java functionality which is based on a 'work-alike' implementation of the OVR SDK with an actual JNA binding to the C API DLL. This should easily enable feature parity with the Oculus SDK.
https://github.com/OculusRiftInAction/OculusRiftInAction/tree/preview_031
I've made a number of changes to the SDK as provided by Oculus. As always, I've dumped their project files in preference for using CMake.
In addition, I've broken out the C API from the main body of the SDK. The C API is in the Bindings/C directory of the OculusSDK library. The current CMake settings have it set to build as a shared library (i.e. a DLL). The examples now only work through the C API. If you wish to follow this pattern, the only files you need to include are the ones located in "Bindings/C/Include". In addition, they are self contained and unlike the previous SDK version don't require adding all of the SDK source file paths to the include path.
In addition to the structural changes to the SDK, I have made some minor changes to the OpenGL usage inside the C API to enable the code to work with core profiles OpenGL. Previously, the SDK didn't use Vertex Array Objects to store the bindings between the vertex buffers and the shaders. This is forbidden by the core profile, so if like me you were using it, you'd get nothing to render.
I am also working on replacing the current Java functionality which is based on a 'work-alike' implementation of the OVR SDK with an actual JNA binding to the C API DLL. This should easily enable feature parity with the Oculus SDK.
https://github.com/OculusRiftInAction/OculusRiftInAction/tree/preview_031
