OpenGL ES 1.1: как заменить glBlendFuncSeparate?

1

Моя проблема почти такая же, как здесь.

Это также было бы ответом, если бы glBlendFuncSeparate был доступен для меня:

glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ZERO, GL_ONE);

Однако, поскольку мне нужно предоставить поддержку MALI-400MP (Samsung Galaxy Nexus S II), я не могу использовать glBlendFuncSeparate (расширение GL_OES_blend_func_separate не присутствует).

рекомендуется использовать glColorMask, но как я могу использовать его правильно? Есть ли другой способ сделать это?

Теги:
opengl-es
fbo

1 ответ

3
Лучший ответ

В другом вопросе он довольно хорошо ответил, но если все, что вы хотите сделать, это отключить запись альфа-канала, вы просто вызываете glColorMask(true,true,true,false); перед рисованием ваших смешанных объектов. Это блокирует альфа-слой от изменения во время его написания.

  • 0
    Принято это. Моя проблема заключалась в том, что я не очистил FBO как 0,0,0,1 в начале, и значения альфа были немного случайными.

Ещё вопросы

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