2

我想从原生插件渲染 VR。这可能吗?

所以,到目前为止,我所拥有的是:

void OnRenderObject()
{
    GL.IssuePluginEvent(getRenderCallback(), 1);​
}​

这是调用我的本机插件并渲染一些东西,但它在这里弄得一团糟。 在此处输入图像描述

看来我渲染到错误的纹理。事实上,如何从原生插件 OpenGL 获取正确的纹理/帧缓冲区或渲染 VR 所需的任何技巧?例如,我需要有关正在渲染的相机(左或右)的信息才能正确渲染。

有什么提示吗?我正在尝试使用 Gear VR 和 Google VR。欢迎任何关于其中任何一个的提示。

4

1 回答 1

0

我的解释是,您想用自定义的 OpenGL 调用覆盖 Unity 的默认渲染,而不是 MeshRenderer 的默认渲染。

在不知道您正在渲染什么以及正确的行为应该是什么的情况下,我无能为力。

我可以想象,如果您设置自己的状态,例如打开/关闭特定深度测试、混合,这些将覆盖 Unity 在您的自定义功能之前为您设置的任何状态。如果你不恢复这些状态 Unity 不知道并产生不正确的结果。

作为旁注,您可能需要查看 https://github.com/Samsung/GearVRf/ 这是三星的 GearVR 开源框架引擎。与 Unity 类似但开源,您可以做一些与您发布的内容类似的事情,同时知道下面会发生什么

于 2017-03-13T14:59:17.660 回答