Устранение неполадок с текстурами OpenGL ES 1.1 на iPhone - PullRequest
0 голосов
/ 31 декабря 2010

Я пытаюсь нарисовать текстуру в закадровый фрейм-буфер, и его рендер-буфер всегда заканчивается полностью пустым (черным).Странно то, что я знаю, что контекст настроен, и я проверяю ошибки, используя glCheckFramebufferStatusOES (GL_FRAMEBUFFER_OES) и glGetError (), но ни одна из функций не сообщает, что что-то не так.Существуют ли другие функции проверки ошибок, которые я могу вызвать, которые могли бы пролить свет на то, что происходит?

1 Ответ

1 голос
/ 31 декабря 2010

Трудно дать вам точный ответ без дополнительной информации. Возможно, вы могли бы опубликовать некоторый код о вашей настройке и использовании буфера рендеринга?

А пока вот некоторая информация о том, как правильно настроить внеэкранный кадровый буфер:

// 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);

Надеюсь, это поможет ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...