Что должен делать следующий код, предполагая, что что-то было нарисовано перед кодом ниже?
glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_TRUE);
glClearColor(0.0, 0.0, 0.0, 1.0);
glClear(GL_COLOR_BUFFER_BIT);
glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
Должен ли этот код просто установить альфа в 1 или он очистит буфер цвета?
Или, другими словами, делает glColorMask
повлиять на то, что glClear
это относится или только к обычным операциям рисования?
Я спрашиваю конкретно относительно OpenGL ES 2.0, поэтому любые ссылки на спецификации будут оценены.
Это очистит только альфа-канал.
Тест владения пикселем, тест ножниц, сглаживание и маски записи в буфер повлиять на работу glClear
Других решений пока нет …