Hej,
czy istnieje jakaś możliwość żeby bezpośrednio ładować tekstury, które nie są potęgą dwójki?
W swojej grze zawsze miałem tak,że każda tekstura - inny plik, i mają one różne rozmiary.
Na iPhonie niestety to mi nie działa i musi być ^2. Nie za bardzo w sumie chcę mi się te tekstury w jeden plik łączyć, bo będę potrzebował ich współrzędne...Jakiś program by się wtedy przydał, bo sam nie wiem jak to zrobić
Edit:
I tak jeszcze pytanko, czy np. 500 tekstur załadowowanych do iPhone'a to dużo? Bo gdy ładuję ich za dużo, wtedy pisze niby "running", ale żadna instrukcja się nie wykonuje

Tekstury nie będące potęgą 2
Rozpoczęty przez
Moriquendi
, 28 cze 2010 16:22
4 odpowiedzi w tym temacie
#1
Napisano 28 czerwca 2010 - 16:22
#2
Napisano 28 czerwca 2010 - 17:41
Wszystko zależy od rozmiaru tekstur. Nie wiem jak na nowszych urządzeniach, ale na iP 3G aplikacja nie powinna zajmować więcej niż 20 MB pamięci, bo zwyczajnie padnie.
Nie wiem jak to ma się w ogólności, ale Cocos2D woli jedną dużą teksturę z której wycina się mniejsze niż kilkadziesiąt małych, gdyż jedna duża tekstura zmniejsza ilość wywołań komend OpenGL.
Poza tym jeśli piszesz coś konkretnego, a nie chcesz zmieniać przyzwyczajeń, to może po prostu stwórz własne narzędzie, które będzie łączyło wiele tekstur w jedną i tworzyło do niej plik opisujący współrzędne każdej z tekstur?
Możesz też wykorzystać Zwoptex, który właśnie powstał do tego celu.
#3
Napisano 28 czerwca 2010 - 18:20
A jak ładuje teksturę, która jest potęgą 2, to rozumiem, że ładuje ją np do.
a potem, podczas rysowania, wybieram ciągle tą teksturę i tylko zmieniam tex_coords ?
Edit:
Jak ten Zwoptex działa? Odpaliłem go, zimportowałem pliki png i co dalej? On mi nakłada je na siebie...
Edit2:
Ok, poradziłem sobie.
Jeszcze takie pytanie. Mogę załadować teksturę 2048x2048? Czy jest jakiś limit wielkości tekstury?
GLuint tekstura = Wczytaj_teksture_z_pliku()
a potem, podczas rysowania, wybieram ciągle tą teksturę i tylko zmieniam tex_coords ?
Edit:
Jak ten Zwoptex działa? Odpaliłem go, zimportowałem pliki png i co dalej? On mi nakłada je na siebie...
Edit2:
Ok, poradziłem sobie.
Jeszcze takie pytanie. Mogę załadować teksturę 2048x2048? Czy jest jakiś limit wielkości tekstury?
#4
Napisano 30 czerwca 2010 - 20:24
Jeszcze takie pytanie. Mogę załadować teksturę 2048x2048? Czy jest jakiś limit wielkości tekstury?
To jest właśnie maksymalny rozmiar tekstury jaką możesz załadować.
#5
Napisano 02 lipca 2010 - 00:11
Lepiej jednak żeby Twoje tekstury miały rozmiary będące potęgą dwójki - tak będzie na pewno wydajniej.
Co do rozmiaru, z tego co czytałem w starszych urządzeniach jest 24MB pamięci tekstury, w nowszych pamięć jest współdzielona.
Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych