Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Przerzutka z Allegro 5 na SFML?

Ostatnio zmodyfikowano 2012-09-19 01:56
Autor Wiadomość
bingo009
Temat założony przez niniejszego użytkownika
Przerzutka z Allegro 5 na SFML?
» 2012-09-18 19:15:44
Witam was serdecznie, na pewnym forum polecono mi właśnie taką przerzutkę. Chciałbym zapytać się was co sądzicie o porzuceniu Allegro 5 na rzecz SFML2. Na innym forach wszyscy polecają SFML, bo obiektowe i w C++, ale chciałbym usłyszeć jakieś inne opinie. Ponadto obiło mi się o uszy, że SFML jest niby łatwiejszy i wygodniejszy. Co wy sądzicie o tym? Dodam, że taka przerzutka miałaby już być raczej na stałe, bo chcę się porządnie nauczyć jednej biblioteki.
P-65157
SeaMonster131
» 2012-09-18 19:28:18
Ja korzystam z Allegro5 i jestem zadowolony :) W przypadku SFML nieraz denerwowała mnie ta obiektowość, przynajmniej w 1.6 było coś w tym stylu:
C/C++
Image zdjecie;
zdjecie.Load( "blabla.jpg" );
Sprite zdj;
zdj.setImage( zdjecie );
Aplikacja.Draw( zdj );
co moim zdaniem jest troche głupie :) Chyba że tak nie jest, to mnie poprawcie :P
Natomiast wiem, że w SFML jest moduł sieciowy, czego w Allegro nie ma.

Aczkolwiek ja polecam Allegro5 ;) Szybka, fajna i przyjazna biblioteczka.
P-65158
waxx
» 2012-09-18 20:33:20
/up
czemu powyzsze jest glupie : |
sf::Image / sf::Texture [w 2.0] i tak ladujesz tylko raz pakujac resourcy i potem wrzucasz sobie do sprita ktora jest super lekka klasa z wszystkimi funkcjami ktore do obrobki sa ci potrzebne

@thread
jak robie cos w cpp to tylko SFML. zdecydowanie najlepiej napisane, swietna wydajnosc w 2.0, b. dobry wrapper sieciowy i spoko obsluga shaderow. :)
a biblioteki i tak sie nie uczy "na stale"...w pewnym momencie przejscie na inna to 5min odpalenia 3 tutoriali i kilku wpisow z dokumentacji. 
P-65173
bingo009
Temat założony przez niniejszego użytkownika
» 2012-09-18 20:35:06
Z tego co słyszałem, to ta wada, którą przedstawiłeś, jest uważana za zaletę. Taki przykład znalazłem:
"Wyobraź sobie, że mamy 2 kartonowe pudła na ekranie. Oba korzystają z tej samej grafiki, ale jedno ma być większe od drugiego. Dzięki temu, możemy wykorzystać jeden obrazek, przypisać go do obu sprite'ów i jeden przeskalować. Dzięki temu mamy dwa obiekty różnej wielkości, ale z wykorzystaniem jednego obrazka. W takich bibliotekach, jak allegro musielibyśmy stworzyć 2 zmienne z obrazkiem, a tu wystarczy jedna"

Tak to mniej więcej brzmiało. Z tym na stałe, chodziło mi to, żeby już raz na dlugi czas znaleźć dobrą bibliotekę do grafiki 2D i korzystać z niej w moich projektach. Nie wykluczone, że kiedyś napiszę własną bibliotekę, ale to są narazie marzenia.
P-65175
SeaMonster131
» 2012-09-18 21:19:35
"Wyobraź sobie, że mamy 2 kartonowe pudła na ekranie. Oba korzystają z tej samej grafiki, ale jedno ma być większe od drugiego. Dzięki temu, możemy wykorzystać jeden obrazek, przypisać go do obu sprite'ów i jeden przeskalować. Dzięki temu mamy dwa obiekty różnej wielkości, ale z wykorzystaniem jednego obrazka. W takich bibliotekach, jak allegro musielibyśmy stworzyć 2 zmienne z obrazkiem, a tu wystarczy jedna"
Tu jedna a tu 2?

C/C++
ALLEGRO_BITMAP * img = al_load_bitmap( "obrazek.bmp" ); // Image img ...
ALLEGRO_BITMAP * img2 = img; // Sprite img2[2]; img2[0].setImage(img); img[1].setImage(img);
al_draw_bitmap( img ); // App.Draw(img2[0]);
al_draw_scaled_bitmap( img2 ); // skalowanie img2[1]; App.Draw(img2[1]);

Bo ja to widzę tak..
P-65179
DejaVu
» 2012-09-19 01:56:25
1. W Allegro musisz pamiętać, że trzeba zwolnić zasoby - SFML ma destruktory, które same usuną teksturę (czy cokolwiek innego).
2. SFML standardowo obsługuje wiele formatów graficznych np. *.png, co jest dużo fajniejszym rozwiązaniem niż *.bmp
3. SFML jest uporządkowany - chcesz robić operacje na teksturze to wszystkie niezbędne rzeczy są w jednej klasie. Chcesz wykonać operacje na sprajcie - to samo (i tak o każdej rzeczy można napisać).
4. Biblioteka jest napisana obiektowo - co miejscami może wydawać się wadą, ale w praktyce nie pojawiają się nieoczekiwane wycieki pamięci wynikające ze złej obsługi biblioteki SFML. Wady SFML-a ujawniają się dla osób, które nie potrafią przekazywać obiektów przez referencje, co się staje odczuwalne, przy wiecznym kopiowaniu tych samych tekstur.
P-65184
« 1 »
  Strona 1 z 1