This is the CLCL for Oculus SDK. OpenVR version is here.
CLCL is a C++ library for porting CAVE application software to HMDs. It emulates the function calls of CAVELib, which is a commercial library for developing application software executable on CAVEs, and it enables us to easily port CAVELib application software to HMDs with minor modification to the original source code. Function calls commonly used in the CAVELib program are implemented in CLCL. Networking functions for multiple CAVEs have not yet been implemented.
One of the following hardware:
- Oculus Rift with Oculus Touch, Xbox controller or mouse
- Oculus Development Kit 2 with mouse
Minimum requirement:
- Visual Studio
- Oculus SDK 1.26.0 (Contains code for old SDK versions (0.5.0.1 to 1.0), but they are not already maintained.)
- GLFW 3.2.1 *
- GLEW 2.1.0 *
* These libraries are needed to build with multi-threaded (/MT) option.
Optional (experimental: for the external camera function):
Following libraries are not used in the pre-built library. Recompilation is required to enable the external camera function. To toggle enable/disable the external camera, press "c" key.
- ZED SDK 2.7 *
- CUDA Toolkit 10 *
- GLM 0.9.9 *
- Ovrvision Pro SDK 1.90 **
* These libraries are needed to use the external camera (ZED Mini by Stereolabs).
** The library is needed to use the external camera (Ovrvision Pro by Wizapply).
- Open CLCL.sln.
- Set include path and library path to Oculus SDK.
- Build library.
Source code modifications are needed to use CLCL.
- Disable a line includes "glClear()" in the rendering routine by commenting out or using "USE_CLCL_OCULUS_SDK" directive.
- Resolve conflicts between GLEW and other OpenGL header files if these are used in the target code.
Compilation of the code.
- Change include path and library path from CAVELib's to CLCL's.
- Change library file to link from "libcave_ogl_XX.lib" to "CLCL.lib".
- Build with multi-threaded (/MT) option.
- If compilation failed, modification of code or project settings are needed. -> go back to 5)
CAVE_JOYSTICK_X CAVE_JOYSTICK_Y |
CAVE_BUTTON1 | CAVE_BUTTON2 | CAVE_BUTTON3 | |
---|---|---|---|---|
Oculus Touch (Right) | Thumb stick | Button A | Trigger | Button B |
XBox controller | Thumb stick | Button X | Button Y | Button B |
Mouse | Wheel (CAVE_JOYSTICK_Y) | Left button | Middle button | Right button |
Please cite the following paper if you find this library useful in your work.
Shintaro Kawahara and Akira Kageyama: Development of CAVELib Compatible Library for HMD-type VR Devices, Journal of Advanced Simulation in Science and Engineering, Vol.6, No.1, pp.234-248 (2019) doi:10.15748/jasse.6.234
The CAVE is a registered trademark of the Board of Trustees of the University of Illinois at Chicago.
CAVELib is a trademark of the University of Illinois Board of Trustees.
Oculus, Rift, and Oculus Touch are trademarks or registered trademarks of Facebook Technologies, LLC.
All other trademarks are property of their respective owners.