Рендеринг для текстурирования или внеэкранный кадровый буфер

У меня есть проблема с рендерингом для текстурирования и внеэкранный кадровый буфер с OpenGLES на iPhone.

alt text
(источник: imagehost.org)
alt text
(источник: imagehost.org)

Сначала отобразите выставочные мозаики маджонга, представленные к CAEAGLLayer непосредственно и это корректно. Второй показывает мозаики, представленные внеэкранному кадровому буферу, скопированному для текстурирования использования 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 для передачи чересстрочных данных вершины (координаты, координата текстуры, цвет). Я использую формат текстур RGBA8888, таща каждое изображение на двух треугольниках (четверка) с glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) стыковочная функция. Я не использую буфер глубины (во всех случаях).

Кто-то может сказать мне, какова могла быть проблема?

6
задан Glorfindel 25 July 2019 в 07:08
поделиться