openvr alternatives and similar libraries
Based on the "Graphics" category.
Alternatively, view openvr alternatives based on common mentions on social networks and blogs.
-
imgui
Bloat-free Immediate Mode Graphical User interface for JVM with minimal dependencies (rewrite of dear imgui) -
modern-jogl-examples
Examples ported in JOGL from "Learning Modern 3D Graphic Programming" by J.L.McKesson -
bullet
JVM Bullet Physics SDK: real-time collision detection and multi-physics simulation for VR, games, visual effects, robotics, machine learning etc. -
kaifu2x
Port of waifu2x to pure kotlin + opencl. Anime-style upscaler and noise reductor based on convolutional neural networks using coffee trained models -
glimpse-framework
DISCONTINUED. Glimpse is now further developed as a Kotlin Multiplatform project under glimpse-graphics/glimpse
CodeRabbit: AI Code Reviews for Developers
Do you think we are missing an alternative of openvr or a related project?
Popular Comparisons
README
JVM OpenVR Wrapper (synchronized with 1.2.10)
OpenVR SDK
This is a kotlin wrapper of OpenVR, which is an API and runtime that allows access to VR hardware from multiple vendors without requiring that applications have specific knowledge of the hardware they are targeting. This repository is an SDK that contains the API and samples. The runtime is under SteamVR in Tools on Steam.
Documentation
Documentation for the API is available on the Github Wiki
More information on OpenVR and SteamVR can be found on http://steamvr.com
Binding Features:
- original comments preserved and properly formatted
- direct fields, e.g:
var TrackedDevicePose.poseIsValid: Boolean
- enumerators for type safety, e.g:
var Texture.type: TextureType
every struct method is offered also much more user friendly offering also full interoperability with glm,
getProjectionMatrix
returns, for example, directly a glmMat4
vrSystem.getProjectionMatrix(eye: VREye, nearZ: Float, farZ: Float, res: Mat4 = Mat4()): Mat4
that expects an
EVREye
enumerator type foreEye
and returns directly a glmMat4
. instead of:VRSystem.VRSystem_GetProjectionMatrix(eEye: Int, fNearZ: Float, fNear: Float, __result: HmdMatrix44): HmdMatrix44
Or for example:
GetStringTrackedDeviceProperty.invoke(..): Int
where you are supposed to call it one first time to get the right size for the buffer to accommodate the char array for the string and then a second time to actually retrieve the string. You have the possibility to call directly
getStringTrackedDeviceProperty(..): String
that returns directly the resulting string, bringing down a lot of boilerplate code
array classes
[]
operator, includedRenderModel_Vertex
concise enumerators, e.g.
EVRComponentProperty.VRComponentProperty_IsStatic
isVRComponentProperty.IsStatic
~-SteamVRListener
for event listener. Instantiate a class extending it, call.poll()
on it at the begin of each frame and override the corresponding methods you are looking for, such asbuttonPress(left: Boolean, button: EVRButtonId)
~ TO CHECK
Sample:
You can find the OpenGL sample [here](src/test/kotlin/main/helloVr_OpenGL)
Contributions:
Don't hesitate to contribute to the project by submitting issues or pull requests for bugs and features. Any feedback is welcome at [[email protected]](mailto://[email protected]).
*Note that all licence references and agreements mentioned in the openvr README section above
are relevant to that project's source code only.