0

我有两个 UIView,每个都有自己独立的 renderBuffers 和 frameBuffers。它们属于不同的 ViewController。我已经通过 NSNotificationCenter 连接了它们,所以一切就绪。

我只需要将 ClassAView 的 frameBuffer 中的纹理基本渲染到 ClassBView 的 frameBuffer 中。这似乎应该很容易......我尝试传入我在 ClassAView 中绑定的纹理:

glBindTexture(GL_TEXTURE_2D, myClassATexture);

然后说,点击屏幕,我尝试将纹理传递给 ClassBView:


// in ClassA:
[classBView addTexture:myClassATexture];

// In ClassB's addTexture method:
myClassBTexture = newTexture
glClear, glBindTexture, etc...
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
[self presentFramebuffer];

但这会导致黑屏。我试图 NSLog myClassATexture 但它打印出“0”。

无论如何,我将如何有效地将 ClassA 中已经渲染的纹理传递给 ClassB?

我的目标是 iOS 5.0,所以如果有一种简单的方法需要 iOS 5,我会全力以赴。:)

非常感谢!

4

1 回答 1

0

纹理 ID 为 0 表示没有纹理,因此您需要确保正确复制纹理 ID 以供以后使用。

于 2012-05-08T03:57:22.043 回答