Очевидно, что когда вы используете MSAA для своего основного кадрового буфера, вы должны использовать его для любых других FBO, которые вы также хотите рендерить.Поскольку GL_TEXTURE_2D_MULTISAMPLE
не доступен на OpenGL ES 2, решение, которое я нашел довольно просто применить те же изменения, необходимые для перехода от обычного рендеринга на оказание MSAA, на ваш рендеринг в текстуру коду, а также.
Вам понадобятся 3 дополнительных буфера: буфер рендеринга цвета с несколькими выборками, буфер рендеринга глубины с несколькими выборками и новый FBO для их подключения.Свяжите новый FBO вместо текстуры FBO перед рендерингом.После рендеринга разрешите новый FBO MSAA в текстурный FBO так же, как в основном коде рендеринга, используя glResolveMultisampleFramebufferAPPLE()
.
. Обратите внимание, что по какой-то причине рендеринг текстур с включенным MSAA работает без эти модификации в симуляторе.Может быть, он использует GL_TEXTURE_2D_MULTISAMPLE
автоматически?