Включить сглаживание в Opengl ES 2 (ios)

0

У меня проблемы с мультисэмплированием в 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);

мне это не совсем понятно, если на данный момент я уже обработал текстуру.

заранее спасибо!

Теги:
opengl-es
antialiasing

1 ответ

0

Вы используете тот же код, что и при использовании множественной выборки. Затем вы добавляете дополнительный буфер кадра, используя 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), и вы можете использовать его любым способом, вы можете его связать и продолжить рисовать, использовать его в качестве текстуры или, как в примере с яблоком, представить его содержимое буфера визуализации на Посмотреть.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню