0

2つのUIViewがあり、それぞれに独自のrenderBufferとframeBufferがあります。それらは異なる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に効果的に渡すにはどうすればよいですか?

私はiOS5.0をターゲットにしているので、iOS 5を必要とする簡単な方法があれば、私はすべての耳です。:)

本当にありがとう!

4

1 に答える 1

0

テクスチャ ID 0 はテクスチャがないことを示すため、後で使用するためにテクスチャ ID を適切にコピーしていることを確認する必要があります。

于 2012-05-08T03:57:22.043 に答える