Я портирую 2d ретро-игру на iPhone со следующими свойствами:
- нацелен на OpenGL ES 1.1
- весь экран заполнен плиткой (текстурированная треугольная полоса
- плитка текстурирована с использованием одного изображения текстуры RGBA 256x256
- текстура передается в OpenGL один раз в начале игры
- используются только 4 отображаемых цвета
- один из отображаемых цветов черный
В исходной игре экран мигал, когда время истекало, путем переключения черных пикселей на белые с помощью индексированной палитры.
Каков наилучший (т.е. наиболее эффективный) способ добиться этого в OpenGL ES 1.1?
Мои мысли на данный момент:
- Сгенерировать альтернативную текстуру с белыми пикселями вместо черных и передать в OpenGL, когда экран мигает.
- Визуализируйте белый поли под фоном и визуализируйте текстуру с включенным альфа-каналом, чтобы отобразить ее.
- Попробуйте визуализировать поли сверху с некоторым смешиванием, чтобы добиться нужного эффекта (не уверен, что это возможно).
Я новичок в OpenGL, поэтому не уверен, каковы недостатки производительности каждого из них, и есть ли лучший способ сделать это.