0 Members and 1 Guest are viewing this topic.
В плеере нет даунсемплинга текстур, т.к. качественного результата можно добиться только с антиалиасингом, а это очень медленно. Однако даунсемплинг есть в редакторе во время генерации текстуры на основе существующей, т.е. вы можете задавать текстуры для 200%, а 100%-ый размер гененрировать средствами редактора.
... или вообще из самой маленькой, а не из самой большой, что делает конечный результат мыльным.
Да, так и есть. См. [1037] Генерация текстур 2
Все расчеты ведутся от 100%, поэтому нельзя брать бОльшую текстуру, нужно брать от 100%. Во время беты мы с этим уже сталкивались
Можно просто размеры брать от 100% (а точнее берутся размеры одного кадра), умноженные на коэффициент, и потом наибольшую текстуру подгонять под нужные размеры. Я так и предлагал сделать.
Вот, например, при пошаговом увеличении накапливаются округления и в итоге размер 200% текстуры получается не 48x200, а 48x196:Начинается это с текстуры 150% и дальше размер всё больше отстаёт.
Есть проблема. Текстура 101х101 пикселей в 200% - это непонятная фигня и для 100% и для 150% и для 300%. Плюс всякого рода рисунки с точностью в 1 пиксель непонятно как масштабировать, в особенности рамки.Когда отсчёт от 100% - с этим всё попроще.Тем более, есть же способ сейчас всё корректно отмасштабировать в меньшую сторону.
Плюс всякого рода рисунки с точностью в 1 пиксель непонятно как масштабировать, в особенности рамки.
... Текстура 101х101 пикселей в 200% - это непонятная фигня и для 100% и для 150% и для 300%.
Кстати, да, размер тоже влияет. "Фигня", видимо, будет наблюдаться для всех нечётных размеров.Ещё один "скинчик". В верхнем ряду две рамки 100х100 пикс., слева толщиной в 1 пикс., справа - 2 пикс. В нижнем ряду такие же рамки, но размером 101х101 пикс.Текстуры заданы для масштаба 200%, для меньших масштабов принудительно сгенерированы в редакторе.Так что, если нужно, чтоб было всё пиксель-в-пиксель, придётся рисовать все текстуры для всех масштабов.
С "пиксельными" текстурами (оригинал - 100%), как раз, и будут проблемы при масштабировании в плеое.Во вложении скинчик, текстура в котором превращается, практически, в кашу при масштабах между 100 и 200%, несколько лучше дело обстоит при масштабах > 300%.Однопиксельные элементы могут вообще потеряться на некратных масштабах или размылиться.
Для масштабируемого проекта изначально надо рисовать как минимум в максимальном из масштабов. При этом размеры элементов рассчитывать с учётом уменьшения масштаба, т.е. все размеры для меньших масштабов должны делиться нацело. И не только размеры, но и координаты. В случае нецелочисленных делений, добавлять "пустое пространство" в нужных местах.
... если нужно, чтоб было всё пиксель-в-пиксель, придётся рисовать все текстуры для всех масштабов.
Ну, так речь, в сущности, про одно и то же и вывод прежний:И в фотошопе с этим дела обстоят не лучше. Если в сторону увеличение в целое число раз ещё можно получить приемлимую картинку, подобрав метод интерполяции, то в сторону уменьшения, даже в целое число раз, неизбежно будут теряться мелкие элементы.