如何在Unity(VR)中访问从本地渲染的目标纹理?
问题描述:
我想从本地插件渲染VR。这可能吗?如何在Unity(VR)中访问从本地渲染的目标纹理?
所以,到目前为止,我有什么是这样的:
void OnRenderObject()
{
GL.IssuePluginEvent(getRenderCallback(), 1);
}
看来我正在渲染错误的纹理。事实上,如何获得正确的纹理/帧缓冲或从本机插件OpenGL渲染VR所需的任何技巧?例如,我需要有关正在呈现的相机(左侧或右侧)的信息才能正确呈现。
任何提示?我正在尝试Gear VR和Google VR。任何关于它们的提示都是值得欢迎的。
答
我的解释是,您不想使用Unity的MeshRenderer的默认渲染,而是使用您的自定义OpenGL调用覆盖该渲染。
不知道你在渲染什么,应该是什么正确的行为,我忍不住了。
我可以想象,如果您设置了自己的状态,如打开/关闭特定深度测试,混合,这些会覆盖Unity在您的自定义功能之前为您设置的任何状态。如果你不恢复这些状态,Unity不知道并产生不正确的结果。
作为便笺,您可能想查看 https://github.com/Samsung/GearVRf/ 这是三星的GearVR开源框架引擎。与Unity相似但开放源代码,您可以在发现