(C++) Jaką wybrać bibliotekę graficzną ?

0

Witam!
Jakiś czas temu zacząłem na poważnie interesować się programowaniem, ponieważ chcę w przyszłości chcę się tym zajmować. Jak na razie jestem po technikum o profilu informatycznym, w którym poznałem podstawy takich języków jak: Pascal, Delphi, C++, Java. Nie ukrywam, że najbardziej przypadł mi do gustu C++ i to w tym języku chcę rozwijać swoją wiedzę. Niestety na dzień dzisiejszy konsolowe aplikacje nie są zbyt popularne dlatego ze środowiska Dev-C++ przeszedłem na Microsoft Visual C++ 2010 Express.
Pracowałem w już w C++ Builder 6 i mam małe doświadczenie w tej sprawie, jednak nudne dla mnie jest tworzenie programów do obliczania działań i chciałbym zacząć wykonywać operację związane z systemem. I tu mam dwa pytania do Was.

  1. Chcę zacząć używać środowiska graficznego, głównie do tworzenia prostych (jak na razie) gier np. pacman, tetris, statki. Jaka biblioteka graficzna byłaby najlepsza i jakiej najlepiej zacząć się uczyć. Wydaje mi się, że biblioteka Allegro jest trochę przestarzała (jak się mylę to proszę poprawić). Zastanawiałem się na OpenGL, Directx lub Qt (ona chyba jest bardziej pod aplikacje mobilne). Nie mam żadnego doświadczenia z bibliotekami graficznymi dlatego proszę Was o radę.

  2. Jak wygląda sprawa z operacjami na systemie operacyjnym w C++ ? Mam na myśli np. komendy dzięki, której będę mógł odczytać np. podzespoły komputera, zainstalowane programy czy też temperatury podzespołów. Chciałbym powiększyć swoją wiedzę o te opcję, ponieważ wydaje mi się, że przyda mi się to w przyszłości. Domyślam się, że to nie będzie jedna linijka kodu i trzeba będzie zainstalować kolejną bibliotekę typu Utilities. Dobrze myślę ?

Dziękuję za wszystkie odpowiedzi.

Pozdrawiam,
GrafiS

0

@GrafiS
Zdecydowanie biblioteka OpenGL! Dlaczego? Bo jest otwarta i darmowa, ma duże funkcje, obsługuje 3D i 2D, większość hitów została w niej napisana, np. Minecraft jest napisany w OpenGL, ma duże funkcje, jest wieloplatformowa. DirectX odradzam ponieważ jesteś uzależniony od Windowsa. QT nie znam więc nie mam opinii. Pozdrawiam, Hubot.

2

24 czerwca br wyszła nowa wersja allegro, myślę że w zupełności ci wystarczy.

0

hubot: Jak się nie orientujesz to nie pitol. Przed chwilą widziałem twój wątek o większych funkcjach czystego c++ więc proponuję żebyś się nim zajął.
Jak chodzi o bibliotekę to na pewno na allegro się nie przejedziesz. Tylko ściągnij najnowszą wersję;) Poza tym masz popularny SDL, od którego warto zacząć. Jak masz doświadczenie z obiektowością to możesz obczaić IndielLib. Polecam allegro, bo jest bardzo prosta i możesz się po prostu skupić na kodowaniu gry.
Widziałem teraz ostatnio nawet jakiegoś bloga, gdzie gościu wstawiał filmy z szybkim wprowadzeniem do pisania w allegro. Jak znajdę to dam linka.

0

Ok. Dziękuję zaś za wszystkie odpowiedzi i wybiorę tą bibliotekę Allegro 5.0.7, ale będę pracował na Dev-C++, ponieważ z tym programem mam większe doświadczenie. Znalazłem kilka kursów do Allegro i na pewno ułatwi mi to naukę.
Co myślicie o moim drugim pytaniu ?

Pozdrawiam,
GrafiS

0

Nie pisałem nic w Allegro, ale wygląda na dosyć przyjazne. Gorąco polecam połączenie SDL i OpenGL. Pojawia się jednak problem jeśli chcesz korzystać z nowszych wersji OpenGL. SDL 1.2 (stabilny) nie wspiera kontekstów 3.x. Wyjściem jest użycie rozwojowej wersji SDL 1.3. Także SFML jest godny polecenia, przyjemnie i szybko można coś naskrobać.
@hubot: Jeśli jest problem nad wyborem OpenGL czy DirectX to może użyć gotowego silnika, np. OGRE?
Co do parametrów komputera, to raczej trzeba użyć API systemowego lub jakiegoś wrappera (wieloplatformowość).

1

@GrafiS, zrób dobrze sobie i wszystkim innym i zmień Dev'a na przynajmniej Code::Blocks.
A co do bibliotek, to popatrz jeszcze na SFML.

0

Do pisania gier typu tetris, statki itd. nie potrzebujesz na dobra sprawe bibliotek stricte graficznych. Wystarczy framerwork do pisania aplikacji okienkowych typu Qt, WxWidgets itd. Do czegos ciekawszego typu prymitywny wolf/doom 3d openGL bedzie o niebo lepszym rozwiazaniem niz allegro. Na pewno bedzie to szybciej chodzilo i wiecej sie nauczysz, bo przy openGLu nie ma tak latwo jak w allegro i wszelkie obroty, swiatla, rysowanie, teksturowanie moze nie sa zbyt proste na poczatek, ale jak juz sie tego nauczysz to potem idzie z gorki.

Jedno jest pewne zmien deva na jakies porzadne IDE i potem bierz sie za pisanie.

Co do drugiego to

http://msdn.microsoft.com/en-us/library/aa394493%28VS.85%29.aspx

Windows udostepnia wszelkie funkcje, ktore dadza Ci co potrzebujesz.(po lewo wiecej)

0

@Krycho: Wielkie dzięki za ten link. Na pewno mi się przyda.
Co do biblioteki graficznej to nie wiem za co się teraz zabrać.
Zabrać się za Allegro, ponieważ jest łatwe i przyjemne na początek, czy od razu zabrać się OpenGL, aby w przyszłości pisać coś ciekawszego. Chcę rozpocząć od pisania prostych gier, aby w przyszłości napisać coś większego, dlatego mam ten dylemat między Allegro, a OpenGL.
Nie wiem dlaczego wszyscy odradzają Dev-C++. Piszę w tym środowisku od 2 lat i nigdy się nie zawiodłem, jednak wolę też posłuchać rad bardziej doświadczonych osób. Microsoft Visual C++ 2010 jest dla mnie trochę zbyt rozbudowany przez co jeszcze się gubię. Sprawdzę polecanego Code::Blocks.

0

Okey. Dziękuję wszystkim za tak szybkie odpowiedzi.
Zdecydowałem się zmienić środowisko z Dev-C++ na Code::Block i przyznam, że to jest ono dla mnie wygodniejsze i na nim będę pracował. Dzięki za polecenie tego środowiska. Co do biblioteki graficznej to zacząłem pracę z Allegro. Na razie nie jest to nic niesamowitego, ale jest ona dla mnie wygodna. Najbardziej żałuję, że allegro obsługuje bitmapy (z różowym tłem), ale podobno jest odpowiednia wtyczka umożliwiająca pracę z plikami *.png. Tymczasem będę się uczył Allegro, a w przyszłości przejdę na OpenGL.
Co do komend to dziękuję @Krycho, za podanie linka.

Temat do zamknięcia.
Pozdrawiam,
GrafiS

1 użytkowników online, w tym zalogowanych: 0, gości: 1