자세한 정보없이 정확한 답변을 드릴 수 없습니다. 렌더링 버퍼의 설정 및 사용법에 대한 코드를 게시 할 수 있습니까? 한편
, 여기에 대한 몇 가지 정보를 얼마나 제대로 설정 오프 스크린 프레임 버퍼에 :이 도움이
// Remember the FBO being used for the display framebuffer
glGetIntegerv(GL_FRAMEBUFFER_BINDING_OES, (GLint *)&SystemFBO);
// Create the texture and the FBO for offscreen frame buffer
glGenTextures(1, &ResultTexture);
glBindTexture(GL_TEXTURE_2D, ResultTexture);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
glGenFramebuffersOES(1, &ResultFBO);
glBindFramebufferOES(GL_FRAMEBUFFER_OES, ResultFBO);
glFramebufferTexture2DOES(GL_FRAMEBUFFER_OES, GL_COLOR_ATTACHMENT0_OES, GL_TEXTURE_2D, ResultTexture, 0);
glBindFramebufferOES(GL_FRAMEBUFFER_OES, ResultFBO);
// do your rendering to offscreen framebuffer
...
// restore original frame buffer object
glBindFramebufferOES(GL_FRAMEBUFFER_OES, SystemFBO);
// use ResultTexture as usual
glBindTexture(GL_TEXTURE_2D, ResultTexture);
희망 ...
감사합니다. 나는 문제가 glGetError() 또는 glCheckFramebufferStatusOES (GL_FRAMEBUFFER_OES)에 의해보고되지 않은 일부 내부 OpenGL 오류라고 생각했지만, OpenGL을 잘못 사용하고있었습니다. 프로그램의 이전 지점에서 glColor4f (0, 0, 0, 0)를 호출 했으므로 텍스처를 그릴 때 alpha = 0으로 그렸습니다. 나는 이것이 매뉴얼을 처음 읽는 것이 어느 정도 시간을 절약했을 것이라고 생각한다. – emchristiansen