iOS GLKit текстуры размыты на дисплее сетчатки
Я работаю с OpenGL ES 2.0 и GLKit для iOS.
Мое приложение должно работать только с разрешением 480 на 320, как в предыдущих версиях iPhone 4, так как оно использует графику в стиле ретро.
Графика текстуры выполняется в соответствии с этим разрешением и проекционной матрицей GLKit (0, 480, 0, 320).
На 3GS все это прекрасно выглядит, но на более поздних моделях OpenGL (понятно) делает какое-то изменение размера, чтобы растянуть сцену. Это изменение размера приводит к нежелательному размытию / сглаживанию графики - возможно, с использованием некоторой схемы интерполяции по умолчанию.
Можно ли повлиять на то, как это изменение размера выполняется OpenGL? Желательно установить его без интерполяции, где пиксели просто увеличиваются напрямую.
1 ответ
Вам необходимо установить фильтры масштабирования на виде, как это.
self.layer.magnificationFilter = kCAFilterNearest;
self.layer.minificationFilter = kCAFilterNearest;