Biblioteka Graficzna C++

1

Witam!

Szukam biblioteki graficznej służącej do tworzenia gier 3D znalazłem w podobnych wątkach trochę ale która jest najlepsza i przyszłościowa ? (która ma więcej otwartych projektów i raczej przez sporo lat się to nie zmieni)
Jeśli możecie to podajcie jakieś dobre kursy do podanej przez was biblioteki - najlepiej po ang.

Pozdrawiam!
Adam

0

Z wszelkich stron (włączając to wykładowców na pilitechnice) słysze dobre opinie o Unity. Unigine też ma swoich fanów, szczególnie że cały czas sie rozwija a demka technologiczne i to co można zrobic jest rzekomo "zapierające dech w piersiach". Z gier 3d zawsze znajdzie się fan Unreal Engine, bo to sprawdzony koń bojowy, a cena tragiczna nie jest (no i ma tyle projektów że łohohoho). Znajomy zachwalał kiedyś Godot engine mówiąc że praktycznie unity tylko że fajniejsze, ale nic o tym nie słyszałem.

Do unity nawet mam na dysku dema i jakieś darmowe książki, ale jakoś nie chce mi sią zaglądac w nie(3d mnie nie ciągnie)

0

Polecam Ogre3D ogre3d.org

0

A co myślicie o OpenGL oraz DirectX ? Warto się nimi pobawić ? i można coś sensownego napisać ?

0

@Adam90 - jasne, directX i OpenGL to de facto podstawowe biblioteki. Tylko one są "niskiego" poziomu. Po to są silniki jak ogre3d czy unity aby dawać abstrakcje nad niskopoziomowymi bibliotekami żebyś mógł się skupić na robieniu gry a nie na zastanawianiu się jak sprawdzić czy dobrze znacjonalizowałeś kontekst OpenGL i czy dobrze używasz rozszerzenia ;)

0

Akurat Ogre3D to tylko i wyłącznie silnik graficzny. Jeżeli chcesz robić gry to polecam Unity3D.

0

Bravo nie do końca zrozumiałem czyli mam uczyć się np. OpenGL + Unity3D czy od razu Unity3D ?

0

Znaczy Bit :D coś mi się pomyliło, przepraszam ...

0

Szczerze - Jeśli używasz silnika to nie ma sensu wiedzieć co jest pod spodem. No chyba że baardzo chcesz. Osobiście, nigdy mi OpenGL nie podchodził, za to silniki wydają się być ulgą. Video Ci znalazłem: :)

0

Chce napisać własną grę od podstaw z własnym silnikiem .

0

W takim razie masz do wyboru: OpenGL lub DirectX. Które? Nie pytaj, bo albo oberwiesz flejma, albo wzniecisz kolejną odwieczną wojnę :) Musisz sam wybrać. To po pierwsze...
Po drugie - zdecyduj się, czy chcesz pisać gry, czy silniki. Napisanie sensownego silnika w pojedynką to dużo pracy i jeszcze więcej doświadczenia/wiedzy.

0

Wiem ze była by pewnie wojna bo czytałem na innych forach właśnie pomiędzy tymi dwoma bibliotekami ...
A co do silników gier to w czym są pisane ?

0

Generalnie najbardziej nisko-poziomowymi dostępnymi bibliotekami są: DirectX oraz OpenGL - na nich wszystko się opiera(jest również Mantle od niedawna, ale odradzam początkującym). Co znaczy nisko-poziomowe? Sam musisz dbać o wczytywanie zasobów, o utworzenie urządzenia oraz kontekstu, pisać obsługę zdarzeń, wysyłać dane do GPU - czyli działasz na poziomie CPU i GPU oraz zarządzasz pamięcią. Wszystkie silniki są oparte na tych bibliotekach, bowiem one stanowią tzw. podstawę. Z kolei silnik graficzny/gry skupia się na aspektach samej mechaniki gry - czyli co kiedy ma się wyświetlić, budowanie sceny itd.

Jak widzisz, pisanie silnika to bardzo szeroki temat... z programowaniem gry - tak samo. Dlatego rzucając się na pisanie silnika, na którym będzie oparta gra, to podwajanie sobie ilości pracy.
Polecam Ci na początek skorzystać z gotowych silników, by obyć się z tematem i przede wszystkim uzyskać szybsze efekty pracy :)

0

Jeżeli chcesz napisać grę "ręcznie" i nie masz w tym żadnego doświadczenie to radziłbym najpierw zrobić coś w 2D.
Możesz na początek zrobić coś takiego http://javilop.com/gamedev/tetris-tutorial-in-c-platform-independent-focused-in-game-logic-for-beginners/ .

0

Pisałem już proste gry 2D w SFML .

1

Pisanie silnika gier jest duzo trudniejsze, niż napisanie gry w istniejącym silniku. Weź pod uwagę to, że taki silnik powinien:

  • Obsługiwać wczytywanie scen, modeli z innych programów (chociażby OBJ)
  • Obsługiwać fizykę, zderzenia sprężyste, niesprężyste, grawitacje, ogólnie cała masa fizyki,
  • Kolizje statyczne i dynamiczne
  • Trzeba korzystać z róznych hacków, optymalizacji, żeby dany mechanizm działał z odpowiednią wydajnością.
  • zaimplementować AI do zachowania się przeciwników
    Jeśli chcesz napisać grę w oparciu o swój silnik, to najpierw musisz napisać sam silnik. Nie ma sensu pisać gry bezposrednio w opengl czy directX, bo namęczysz się z tym (zrobisz w jednym i grę i silnik wymieszane) i nie będziesz mógł tego wykorzystać gdzie indziej. Wg mnie rozsądne byłoby napisanie silnika w takim zakresie jaki CI się wydaje najpierw, potem pisanie w nim gry - jak czegoś bedzie Ci w silniku brakowało, to wracasz z powrotem do silnika i dopisujesz.

Spróbuj poświęcić pare dni na jakis gotowy silnik gier p to Unity3d, Irrlicht, Ogre3d, zobacz co tam jest i zastanów się czy podejmiesz się zadania stworzenia czegos takiego sam.

0

Dobrze tak więc i zrobię .

0

Co do Unity 3D - też uważam je za dobry silnik. Natomiast znalezienie jakiegoś darmowego kursu po polsku może się okazać bardzo trudne (wtedy polecam kosztującą około 50-60 zł książkę: http://www.ceneo.pl/21664336). Inna sprawa jak dobrze znasz angielski - wtedy wystarczy Ci chociażby kurs z oficjalnej strony (http://unity3d.com/learn/tutorials/modules)

0

To ja się podepnę do @gogolon z anglojęzycznymi książkami: http://it-ebooks.info/tag/unity/ tona dobrego materiału :) nigdy nie ma czasu przeczytać ;)

0

Muszę przyznać, że tej strony nie znałem ;D Dzięki za linka, to sam może sobie jeszcze poczytam :)

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