【发布时间】:2016-01-24 02:03:35
【问题描述】:
我正在使用 Unity 的渲染插件示例。
Unity 调用插件并交给它一个纹理指针,这是一个 OpenGL 纹理名称(SetTextureFromUnity 函数供参考)。我在我的插件中创建和管理另一个纹理。我想以某种方式让 Unity 的纹理参考使用我的纹理,而不是它交给我的纹理。
是否可以让 Unity 纹理只指向我的纹理?我对低级 OpenGL 非常粗鲁。
或者:是否可以从已经存在的 openGL 纹理创建 Texture2D?然后我可以创建自己的纹理并将其交还给 unity 以使用 Texture2D 进行包装。
我知道我可以将数据从我的纹理复制到 Unity 纹理,但是当两者的数据都已经在 GPU 上时,这会非常缓慢且效率低下。我正在研究 FBO 副本,但是当我只想让指针 A 指向与指针 B 指向的东西相同的东西(理论上任何方式)时,所有这些似乎都过大了......
【问题讨论】:
-
我正在研究类似的东西,我目前正在尝试的是:在渲染方法之一(
OnPreRender()和这样的)。然后插件获取这个指针并使用GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, <texture pointer>)和GLUtils.texImage2D(GLES20.GL_TEXTURE_2D, 0, bitmap, 0);将bitmap加载到纹理中。但是它目前不工作。 -
你有没有找到任何可行的方法?尝试实现类似的东西。