Сила 2 текстур со спрайтовой анимацией - PullRequest
1 голос
/ 01 сентября 2010

Я хочу, чтобы текстура содержала каждый кадр анимации спрайта.Допустим, каждый кадр был 128х128 пикселей, и было 4 кадра.Тогда он может легко вписаться в одну текстуру 256x256.Если у меня есть, например, 25 кадров, то он должен вписаться в одну текстуру 640x640 (128 * 5 = 640).Однако я прочитал, что размеры текстуры должны быть степенями 2 для достижения наилучших результатов, поэтому размеры должны быть 1024x1024, что намного больше исходного размера.В этом случае было бы лучше, чтобы каждый кадр был загружен в соответствующие текстуры размером 128x128?

1 Ответ

1 голос
/ 01 сентября 2010

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

Некоторое оборудование не будет поддерживать текстуры не-power-of-2 (NPOT), но их становится все меньше и больше в эти дни. Вероятно, лучше всего придерживаться ограничения текстуры power-of-2 (POT). Вы проверили, можете ли вы получить несколько разных спрайтов и их анимацию в одну большую текстуру? Чем больше фреймов спрайтов вы можете ударить в одну текстуру, тем меньше раз вам потребуется изменить текстуру, и, следовательно, быстрее будет работать ...

...