如何在Unity(VR)中访问从原生世界渲染的目标纹理?

时间:2017-02-13 21:25:25

标签: unity3d virtual-reality google-vr gear-vr android-unity-plugin

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

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

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

这是调用我的原生插件并渲染一些东西,但它在这里弄得一团糟。 enter image description here

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

任何提示?我正在尝试使用Gear VR和Google VR。任何关于它们的暗示都是受欢迎的。

1 个答案:

答案 0 :(得分:0)

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

在不知道你正在渲染什么以及应该是什么样的正确行为的情况下,我无法提供更多帮助。

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

作为附注,您可能想要结帐 https://github.com/Samsung/GearVRf/ 它是GearVR的三星开源框架引擎。与Unity相似但是开源,你可以做一些类似于你发布的内容,同时知道

下面发生了什么