问题标签 [oculus]

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 回答
243 浏览

oculus - Oculus眼动仪

我目前正在尝试找出如何找到通过眼睛观察的眼睛的注视位置。如果有人可以帮助我,那将非常有帮助。下图说明了我的设置。黑色矩形是我安装在眼内的眼动仪,紫线是眼屏幕,蓝线是从顶部看的眼睛曲率。目前我可以通过 Viewpoint 应用程序计算gaze_angle和。viewing_distance我需要帮助才能使用此信息来查找x_gaze图片上标记的实际位置。

在此处输入图像描述

0 投票
1 回答
140 浏览

c++ - Oculus 基本 Makefile

我正在尝试创建一个用于编译基于 Oculus Rift 的程序的生成文件。我在一个目录中有 Oculus Rift 库的目标文件,在另一个目录中有头文件。这是我的生成文件:

当我运行 make 时,出现以下错误:

我认为问题可能存在于 DEPS_OVR 和 OBJ_OVR 但我不知道如何解决这个问题。

0 投票
1 回答
798 浏览

ubuntu - OculusWorldDemo 在 Ubuntu 14 上只是黑色

我下载了适用于 Linux 版本 0.3 的 Oculus SDK,重新链接了 libudev 库sudo ln -sf /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0(请参阅askubuntu 上的错误),运行ConfigurePermissionsAndPackages.sh脚本,然后使用make.

当我开始演示时sudo ./OculusWorldDemo.sh,窗口打开,但保持黑色。该日志似乎表明该设备已被识别:

为什么不显示任何图形?

我在 Ubuntu 14.04 LTS 64 位。

0 投票
1 回答
183 浏览

rendering - 渲染中令人讨厌的错误

我正在尝试将 roomTiny 示例从 Oculus SDK 移植到 Jogl

我已经移植了大部分程序,但是几天以来我一直被一个烦人的错误所困扰,我快疯了

几天后,我尝试制作一个新的简化副本以找到错误,但我的经历完全一样..

我问外面是否有人愿意帮助我

我只能正确渲染地板或天花板,不能同时渲染两者

https://github.com/elect86/JavaOculusRoomTiny/tree/master/src/roomTinySimplified

只有一层

在此处输入图像描述

只有天花板

在此处输入图像描述

两个都

在此处输入图像描述

该程序非常简单,(目前)只有一个用于 litTextures 的 glsl 程序

您添加模型并在渲染循环中更新灯光(在 ubo 中)并循环模型本身渲染它们

在同一个模型渲染中,我初始化了关于 vbo、ibo 和纹理的所有内容

vbo 数据是 100% 准确的,我一一扫描每个顶点属性。

0 投票
2 回答
1489 浏览

unity3d - 如何轻松地将 Unity 项目从 Oculus Rift DK 1 转换为 Oculus Rift DK 2?

大约 2 个月前,我是一个使用 Oculus Rift 的项目的开发人员。我现在收到了 Oculus DK 2,我想更新项目。我一直在考虑这可能是最简单的方法,但我想确保在采用最困难的方法之前我不会错过可以尝试的东西,这意味着清除像 OVRCamera 这样的 DK 1 对象及其所有链接,遍历所有场景并逐个组件更新所有内容,依此类推。

到目前为止我尝试过的(不关心愚蠢):

  1. 在 DK1 之上导入 DK2 包
  2. 从 Unity 中删除整个 DK1 的 OVR 文件夹并导入 DK2(再次创建 OVR 文件夹)
  3. 删除整个 DK1 的 OVR 文件夹并粘贴 DK2 的 OVR 文件夹,全部从资源管理器完成

所以,我在所有情况下都遇到了很多错误,我知道这有点明显,但仍然值得一试。

您还有其他聪明的想法可以尝试吗?

谢谢大家的关注。

0 投票
1 回答
2299 浏览

c++ - 使用 Oculus SDK 渲染时出现黑屏

我目前正在开发一个基于 SDK 0.3.2 和 OpenGL 3.2.0 的基本 Oculus Rift 应用程序,以让我习惯 3D 引擎和 Oculus Rift 技术。

现在我正在尝试在 Oculus 内渲染一个旋转的立方体。对于失真,我决定在 SDK 中使用 Oculus Rift 团队提供的渲染引擎。所以,首先我在一个单一的纹理中渲染我的场景,其中包含两个具有不同背景颜色的场景副本以进行可视化(现在我不关心立体方面),并且我知道它有效的事实:

纹理双重渲染截图 窗口太大,无法完全显示在屏幕上,但我们可以清楚地看到相同的场景。窗口在其中心被切割


编辑 4(最终):

经过大量的试验和错误,以及 Jherico 的建议,我设法让一切运行起来。

看来,重新编辑到Edit 3glBindBuffer(GL_ARRAY_BUFFER, vertexBuffer); ,我不得不每帧重新绑定顶点缓冲区。代码(没有立体或运动跟踪)可以在这里找到。注意:该模式MODE_OCULUS_DEBUG_不再起作用。Aaaand 图像被翻转。

最后...


编辑 3:

我跳到 SDK 0.4.1,并遵循了 Jherico 的所有建议(顺便说一句,非常感谢),我最终得到了这个。我真的不知道发生了什么事。但我注意到的一件事是,有时我必须使用绑定帧缓冲区glBindBuffer,有时glBindFramebuffer......请记住,在第一个屏幕截图上,纹理仍然与开始时完全相同。我觉得这是关于帧计时的问题。如果我足够快地触发第一帧的一半的过程,那么第一帧就没有错误。请注意,我每次触发一半渲染,这意味着我必须触发两次才能获得一帧。然后第二个总是和第一个一样,如果我触发它到第三个可能会很迟钝,然后它总是第四帧后出现故障。故障只出现一次,我无法让它出现两次,即使我等待了很长时间。

明天我会尝试调查,但如果您有任何想法,或者这是一个常见的 OpenGL 错误或误解,欢迎您提供帮助:)

你可以在这里找到代码

Oculus 故障


*编辑1: 我使用帧缓冲区在纹理中绘制场景。在ovrHmd_BeginFrame(hmd, 0)声明之后,我绑定帧缓冲区以进行离屏渲染:

请注意,textures[] 包含网格和星形,使用来自 shaderProgram 的片段着色器混合

framebufferuis 在该函数中创建,在之后init_ovr()但之前调用init_render_ovr()


*编辑2: 好的,这是我现在的渲染循环:

ovrFrameTiming hdmFrameTiming = ovrHmd_BeginFrame(hmd, 0);

还有我的渲染配置:

但我仍然无法显示任何内容。


原帖:

所以现在我想使用 Oculus SDK 将这个纹理扭曲成一个桶。为此,我初始化了 Oculus 引擎:

和渲染:

最后,我进入我的主渲染循环

但结果是一个普通的黑屏。我试图将 glViewport 全部移动,手动设置 EyeRenderDesc 结构,我阅读了两次文档并非常严格地遵循它......但没有任何帮助。

我是不是在什么地方忘记了什么?我现在不知道在哪里看。

0 投票
1 回答
259 浏览

c# - C# marshalling struct array - FatalExecutionEngineError

This function in the Oculus SDK gives error code 0xc0000005:

No other PInvoke functions throw errors, but I think this one's different because the output is an array. Actually there's one other function that returns an array, and it gives the same error:

Here are the struct declarations:

Looking at the SDK source, I know at least ovrHmd_GetRenderScaleAndOffset looks pretty boring, I can't imagine the error would come from inside the SDK.

I feel like I need to specify sizes somewhere in the function signature? And I'm wondering if it's limited to output parameters, or any and all "array of struct" parameters.

0 投票
1 回答
3318 浏览

c# - 使用 Unity 在 Oculus Rift 中重置/校准方向

我正在使用带有 Unity 的 Oculus Rift,并试图让用户在按下按键时将其设备的方向归零。这个想法是相机被冻结在一个特定的方向上,当用户开始游戏时,他们正在看的任何方向都绑定到那个相机方向。我找到了这个论坛帖子,但它只说使用SetOrientationOffset,但不提供代码。

我已经尝试了以下两种,独立的和一起的:

但是,两者似乎都没有效果。我什至尝试将其他四元数传递给SetOrientationOffset,但这似乎没有效果。

有人有工作代码示例吗?

0 投票
1 回答
1252 浏览

ios - 我可以使用视图变换/OpenGL 将平面图像转换为兼容 Oculus Rift 的双图像吗?

不久前,我在 stackoverflow 上看到了此处链接的“Live effects cam”代码。该应用程序使用 OpenGL 转换普通的相机输入,并且可以使其看起来像图像以多种方式扭曲。我是否可以在 iOS 中使用 OpenGL 转换普通的平面摄像头馈送或图像以创建适合在 Oculus rift 上查看的几个图像,我很感兴趣?

换句话说,是否可以使用上面的代码适当地转换平面图像,以在通过 Oculus rift 观看时欺骗眼睛认为它是 3D 的?

下面是我想要实现的一个例子。我假设在这种情况下,渲染引擎可以创建 2 个视口并以稍微不同的角度渲染两个图像。但我只有一张图像或相机供稿。 在此处输入图像描述

在此处输入图像描述

0 投票
0 回答
268 浏览

xcode - 如何使用 Xcode 在 OSX 10.9 上运行 Oculus SDK 0.4

在 Oculus 开发网站上,他们提供了一个带有 SDK 0.4 的示例项目。我试图编译并运行它。编译成功,没有任何错误信息。但是这个项目无论如何都不会运行。有什么办法可以解决吗?运行时没有连接设备,是这个问题吗?