2

シェーダー フラグメントの背後にある色を抽出しようとしています。私は周りを検索して、これを行っている人々のさまざまな例を見つけました。

vec2 position = ( gl_FragCoord.xy / u_resolution.xy );
vec4 color = texture2D(u_backbuffer, v_texCoord);

意味あり。ただし、バックバッファーユニフォームを渡す例は誰も示していません。

私はこのようにそれをやろうとしました:

int backbuffer = glGetUniformLocation(self.shaderProgram->program_, "u_backbuffer");
GLint textureID;
glGetIntegerv(GL_FRAMEBUFFER_BINDING, &textureID);//tried both of these one at a time
glGetIntegerv(GL_RENDERBUFFER_BINDING, &textureID);//tried both of these one at a time
glUniform1i(backbuffer, textureID);

しかし、私はただ黒くなります。これは cocos2d iOS の参考情報です

助言がありますか?

4

2 に答える 2

0

それは許されません。FBO の一部として現在書き込み中のイメージから同時にサンプリングすることはできません。

于 2013-04-18T00:08:49.793 に答える