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. |
|
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: 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. |
|
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. |
|
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. |
|
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? ALLEGRO_BITMAP * img = al_load_bitmap( "obrazek.bmp" ); ALLEGRO_BITMAP * img2 = img; al_draw_bitmap( img ); al_draw_scaled_bitmap( img2 );
Bo ja to widzę tak.. |
|
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. |
|
« 1 » |