问题标签 [openvr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
102 浏览

c++ - 创建插件 - 无法调用成员函数

与 ScriptDragon 合作,尝试使用 OpenVR 将一些 HTC vive 功能放入 Skyrim。

我有什么工作。能够初始化耳机,因为没有错误返回并且指向耳机对象的指针不为空,并且当我进入游戏时,vive灯从红色变为绿色。

在职的

运行游戏文字道具显示HMD指针已设置并成功初始化。 完整的源代码在这里。每当按下 home 键时,它都会调用 hmd 成员函数并突然中断。

初始化后不工作

不起作用的是,一旦我尝试访问任何成员函数,它就会使游戏崩溃,让我相信我没有完全初始化耳机或内存分配存在问题。

我有链接器属性,包括设置和它们应该在的所有外部文件。

ScriptDragon 不应该是问题,因为其他人已经对 razer hydra 做了类似的事情,并且在他们的源代码中,能够在 api 中调用成员函数。

0 投票
1 回答
151 浏览

virtual-reality - Openvr 获取磁力计数据

我正在尝试使用 openvr lib 从 HTC VIVE 获取磁力计数据。任何帮助和指导将不胜感激。

如果我可以在 Unity 中访问它,那将是理想的。

0 投票
2 回答
2014 浏览

oculus - OpenVR 支持哪些耳机

我想知道,没有任何额外的驱动程序,只需要编译的库。

我搜索但没有找到任何明确的答案

谢谢

0 投票
0 回答
113 浏览

c - 使用 C FFI 的 OpenVR 库

我正在尝试使用另一种语言的 openVR 库,它只支持 C 的 ffi 。

我看到有一个带有以下注释的 C 标头:“目的:扁平 SteamAPI 的标头。使用它来绑定到其他语言。”

知道如何使用它吗?

感谢您的解释

0 投票
1 回答
390 浏览

directx - 谁在使用 Steam 的 OpenVR 时调用 Present()(如果有人的话)?

我是 directx 和 openvr 的新手,我试图了解 OpenVR 合成器 API 的工作原理。文档要求渲染每只眼睛并通过 Submit() 将每只眼睛交给合成器。但是我对 Present() 是如何影响这个流程的有点困惑。我预计需要调用 Present() 来渲染每只眼睛,但通过检查一些现有的 VR 游戏,这不会发生。调用 Present 以在主(非 VR)监视器上渲染任何视图,但根本不调用合成器绘制的内容。

其他人是否调用 Present() 或更低级别的东西?

0 投票
1 回答
1319 浏览

matrix - VR中的变换矩阵问题

我对 OpenVR api 中的矩阵变换有疑问。

在 openvr 给出的演示中:

其中 GetCurrentViewProjectionMatrix 计算如下

问题是:

1、matDeviceToTracking是从哪个空间变换到哪个空间的?

2,如果我已经有模型视图矩阵,并且已经可以用hmd旋转,我怎样才能正确渲染渲染模型?我尝试使用projection*modelview*m_rmat4DevicePose[ unTrackedDevice ]但没有效果。

0 投票
1 回答
460 浏览

c# - 仅使用指针调用 dll 函数

我正在尝试使用 delphi 的 openVR dll。然而,这个 dll 只导出了有限的功能,很多功能都留在接口内。

因为有一些使用 openVR 的示例,所以我看一下 c 版本标头c# 版本标头,看看它们是如何做到的。

我从 c 标头中获得的知识并不多,而在 c# 标头中,我注意到他们正在使用一些结构(如 delphi 中的接口)来存储函数表,并有一个用于该结构的类(如 delphi 中的实现类) ,在类内部有一个创建函数,女巫似乎破解了指向所有这些函数的指针。

指针在pInterface一个包含一组实现类的大类中给出。

哪里OpenVRInterop.GetGenericInterface是 dll 导出的函数之一。

所以我的问题是:

(1) delphi 可以做 C# 做的事情吗?似乎他只是通过原始指针(地址?偏移量?)调用这些函数我搜索了delphi处理dll,只有两种方式(静态和动态)都需要函数名。

(2) 库的c头是怎么加载的?我在那里没有找到相关的代码。

0 投票
1 回答
417 浏览

java - jni 绑定、javac 错误、意外令牌

我们使用 jna 做了一个openvr java 绑定,他们通常所说的 jna 是真的,它很容易实现。

相反,它有一些性能损失。谷歌搜索并阅读一些论文,jna 比 jni 慢 10 到几乎 80 倍(这里这里)。

这对于非关键性能场景来说不是问题,但我们遇到了一些性能问题,我们正在尝试解决所有原因,例如绑定。

我搜索了一段时间,有很多不同的方法可以实现这一点,但鉴于我们想要移植的标题相对容易(最后一句名言......),我们正在尝试手动完成。

我从两个最重要的电话开始,VR_Init并且VR_ShutDown

对应的java 类非常简单:

现在是时候通过键入来编译HelloVr.javaHelloVr.class

javac HelloVr.java

但我得到Unexpected Token

为什么?

0 投票
2 回答
430 浏览

java - Jna,指针已经映射到代理接口

我正在尝试做一个openvr java 绑定的kotlin 端口,并将其更新到 1.0.3

我开始写IVRSystem结构/类

我手动编写了所有方法,以确保 Intellij 中的自动翻译器不会出现任何错误

我摆脱了来自不同数量字段的所有错误,getFieldOrder()但现在我仍然收到错误:

根据此评论,似乎对特定回调(GetEyeToHeadTransform_callback?)有多次调用,但事实并非如此,我检查并仔细检查了代码,该回调只有一个引用。

还可能是什么?

编辑:

首先,这发生在我read()上课时IVRSysten,但我无法避免......

其次,我看到这里所有以前的方法都得到了真实的地址,例如native@0x7fee4bebfd0,只有GetEyeToHeadTransform得到总是native@0xffffffff......

编辑2:

调查原始代码

打印出来

GetEyeToHeadTransformGetSeatedZeroPoseToStandingAbsoluteTrackingPose有不同的指针..

0 投票
1 回答
798 浏览

opengl - 开放虚拟现实。在没有 SDL 的情况下在 OpenGL 中渲染

这在自然界中可能吗?SDL 库在 OpenVR API 中的作用是什么?它需要 OpenGL 上下文还是仅用于将立体图像镜像到 SDL 窗口?