Как добиться эффекта палитры на iPhone с помощью OpenGL - PullRequest
0 голосов
/ 09 апреля 2010

Я портирую 2-ю ретро-игру на iPhone со следующими свойствами:

  • цели OpenGL ES 1.1
  • весь экран заполнен плиткой (текстурированная треугольная полоса
  • плитка, текстурированная с использованием одного изображения текстуры 256x256 RGBA
  • текстура передается в OpenGL один раз в начале игры
  • используются только 4 отображаемых цвета
  • один из отображаемых цветов - черный

Оригинальная игра высветила экран, когда время истекает, переключая черные пиксели на белый с помощью индексированной палитры.

Каков наилучший (т.е. наиболее эффективный) способ достижения этого в OpenGL ES 1.1?

Пока мои мысли:

  1. Создайте альтернативную текстуру с белыми вместо черных пикселей и перейдите к OpenGL, когда экран мигает
  2. Рендеринг белого поли под фоном и рендеринг текстуры с альфа на для отображения
  3. Попробуйте визуализировать верхнюю часть поли с некоторым смешиванием, которое достигает эффекта (не уверен, что это возможно)

Я довольно новичок в OpenGL, поэтому не уверен, каковы недостатки производительности каждого из них или есть ли лучший способ сделать это.

1 Ответ

1 голос
/ 23 апреля 2010

В конце я продублировал плитки / спрайты в свободном пространстве текстуры и просто рендерил из этой части текстуры.

...