У меня проблемы с мультисэмплированием в IOS.
Я имею в виду это руководство
Если вы прокрутите страницу вниз до
Листинг 4-5. Создание мультисэмпл-буфера
Вы можете ясно видеть, что нам нужен (конечно) буфер устранения. Однако на первом этапе он не показывает никакой инициализации. Мне просто нужно
glGenFramebuffers(1, &resolveBuffer);
glBindFramebuffer(GL_FRAMEBUFFER, resolveBuffer);
когда я должен инициализировать свой буферный объект фрейма?
Кроме того, последний шаг для меня не ясен.
glBindRenderbuffer(GL_RENDERBUFFER, colorRenderbuffer);
[context presentRenderbuffer:GL_RENDERBUFFER];
где именно я должен это делать? и что он делает? Думаю, после того, как призыв к розыгрышу из моего fbo и vbo, но я не уверен.
У кого-нибудь есть ссылка на какой-то примерный проект, который я могу найти? я googled, но я не могу найти :(
Наконец, я использую float-текстуры для рендеринга HDR-изображений. Должен ли я хранить GL_RGBA8_OES в этой инструкции?
glRenderbufferStorageMultisampleAPPLE(GL_RENDERBUFFER, 4, GL_RGBA8_OES, width, height);
мне это не совсем понятно, если на данный момент я уже обработал текстуру.
заранее спасибо!
Вы используете тот же код, что и при использовании множественной выборки. Затем вы добавляете дополнительный буфер кадра, используя glRenderbufferStorageMultisampleAPPLE(GL_RENDERBUFFER, 4, GL_RGBA8_OES, width, height)
своем буфере рендеринга glRenderbufferStorageMultisampleAPPLE(GL_RENDERBUFFER, 4, GL_RGBA8_OES, width, height)
При рисовании вам нужно иметь буферный буфер образца вместо исходного. Когда вы закончите рисование, вам нужно разрешить буфер выборки в исходный буфер:
glBindFramebuffer(GL_DRAW_FRAMEBUFFER_APPLE, originalFrameBuffer);
glBindFramebuffer(GL_READ_FRAMEBUFFER_APPLE, sampleFrameBuffer);
glResolveMultisampleFramebufferAPPLE();
На этом этапе вы заполнили исходный буфер (originalFrameBuffer
), и вы можете использовать его любым способом, вы можете его связать и продолжить рисовать, использовать его в качестве текстуры или, как в примере с яблоком, представить его содержимое буфера визуализации на Посмотреть.