Моя проблема заключается в неправильном альфа-смешивании с использованием OpenGL ES 1.1 на iPhone. В отличие от проблем многих других людей, текстуры не задействованы.
Я рисую десятки маленьких белых кружков на голубом фоне. Каждый круг нарисован как GL_POINT. Я анимирую постепенное исчезновение от альфа = 1,0 до альфа = 0,0. Все отлично работает в симуляторе iPhone. Вот снимок одного из последних кадров анимации, когда альфа приближается к 0: [удалено]
Проблема возникает, когда я фактически устанавливаю его на оригинальный iPhone 2G. Когда альфа приближается к нулю, вместо рендеринга в виде слабого белого круга, каждая точка отображается в виде темно-серого круга. Вот снимок неисправного рендеринга iPhone: [удалено]
Некоторые соответствующие звонки, которые я использую:
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) ;
glEnable(GL_POINT_SMOOTH);
Это все двумерное изображение с ортогональным видом.
Я нашел этот аналогичный вопрос и подтвердил, что CAEAGLLayer.opaque имеет значение TRUE.
(извините за не связанные гиперссылки изображения. Ограничение нового пользователя ...)