OpenGL-ES 1.1 iPhone - Глубина буфера вызывает пурпурный экран - PullRequest
3 голосов
/ 09 августа 2010

У меня есть проект iPhone OpenGL-ES 1.1, который отображает простые 3D-модели.Если я не присоединяю буфер глубины, все отображается правильно (за исключением, конечно, без учета глубины).Однако, когда я присоединяю буфер глубины, все, что отображается, это пурпурный экран.Чистый цвет не установлен на пурпурный.Оно голубое.Кто-нибудь знает, что здесь происходит.Это мой установочный код =>

    glGenFramebuffersOES(1, &framebuffer);
    glBindFramebufferOES(GL_FRAMEBUFFER_OES, framebuffer);

    glGenRenderbuffersOES(1, &colorRenderbuffer);
    glBindRenderbufferOES(GL_RENDERBUFFER_OES, colorRenderbuffer);
    glRenderbufferStorageOES(GL_RENDERBUFFER_OES, GL_RGBA8_OES, screenWidth, screenHeight);
    glFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES, GL_COLOR_ATTACHMENT0_OES, GL_RENDERBUFFER_OES, colorRenderbuffer);

    glGenRenderbuffersOES(1, &depthRenderbuffer);
    glBindRenderbufferOES(GL_RENDERBUFFER_OES, depthRenderbuffer);
    glRenderbufferStorageOES(GL_RENDERBUFFER_OES, GL_DEPTH_COMPONENT16_OES, screenWidth, screenHeight);
    glFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES, GL_DEPTH_ATTACHMENT_OES, GL_RENDERBUFFER_OES, depthRenderbuffer);

Это дает пурпурный экран.Комментирование последних 4 строк приведет к визуализации объектов.

1 Ответ

2 голосов
/ 11 августа 2010

возможно ваш screenWidth / screenHeight еще не инициализирован?

проверьте, решает ли следующее вашу проблему: glRenderbufferStorageOES (GL_RENDERBUFFER_OES, GL_DEPTH_COMPONENT16_OES, 320, 480);

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