OpenGLES
iPhoneでのテクスチャとオフスクリーン フレームバッファへのレンダリングに問題があります。
(出典: imagehost.org ) (出典: imagehost.org )
最初の画像はCAEAGLLayer
直接レンダリングされた麻雀牌を示していますが、これは正しいです。2 つ目は、オフスクリーン フレームバッファにレンダリングされたタイル、 を使用してテクスチャにコピーされ、 にglCopyTexImage2D
レンダリングされたテクスチャを示していますCAEAGLLayer
。どちらも背景に白い不透明クワッドを使用しています。また、テクスチャに直接レンダリングしようとしましたが、効果はオフスクリーン フレームバッファと同じでした。
フレームバッファを作成するための私のコード:
GLuint framebuffer;
glGenFramebuffersOES(1, &framebuffer);
glBindFramebufferOES(GL_FRAMEBUFFER_OES, framebuffer);
GLuint renderbuffer;
glGenRenderbuffersOES(1, &renderbuffer);
glBindRenderbufferOES(GL_RENDERBUFFER_OES, renderbuffer);
glRenderbufferStorageOES(GL_RENDERBUFFER_OES, GL_RGB8_OES,
512, 512);
glFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES, GL_COLOR_ATTACHMENT0_OES,
GL_RENDERBUFFER_OES, renderbuffer);
glDrawElements
インターレース頂点データ (座標、テクスチャ座標、色) を渡すために VBO を使用する 1 回の呼び出しで、テクスチャ アトラスからすべてのタイルを描画します。RGBA8888テクスチャ形式を使用し、ブレンド機能を使用して 2 つの三角形 (四角形) に各画像を描画しglBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
ます。深度バッファーは使用しません (すべての場合)。
誰かが私に何が問題なのか教えてもらえますか?