Я делаю свою графику iPhone, используя OpenGL. В одном из моих проектов мне нужно использовать изображение, которое мне нужно использовать в качестве текстуры в OpenGL. Изображение .png
имеет размер 512 * 512
, его фон прозрачный, а в центре изображения - толстая синяя линия.
Когда я применяю свое изображение к многоугольнику в OpenGL, текстура выглядит так, как будто прозрачная часть изображения черная, а толстая синяя линия видна как сама. Чтобы удалить черную часть, я использовал смешивание:
glEnable(GL_BLEND);
glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
Тогда моя черная часть текстуры в многоугольнике удаляется. Теперь видна только синяя полоса. Таким образом, проблема решена.
Но я хочу добавить много таких изображений и сделать много объектов в OpenGL. Я могу это сделать, но частота кадров очень низкая, когда я добавляю к объектам все больше и больше изображений. Но когда я комментирую смешивание, частота кадров нормальная, но изображения не видны.
Поскольку у меня нет хороших кадров в секунду, графика немного медленная, и я получаю шаткий эффект.
Итак:
1) Есть ли другой метод, кроме смешивания, для решения моей проблемы?
2) Как улучшить частоту кадров моего приложения OpenGL? Какие все шаги необходимо предпринять, чтобы правильно реализовать мою графику?