2d hry direct2d vs opengl vs sdl vs qt – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

2d hry direct2d vs opengl vs sdl vs qt – C / C++ – Fórum – Programujte.com2d hry direct2d vs opengl vs sdl vs qt – C / C++ – Fórum – Programujte.com

 

25. 2. 2013   #1
-
0
-

Ahoj,nejak si nejsem jisty kterou z techto knihoven vyuzit pro jednoduche 2d hry. direct2d se mi zda strasne robustni a obrovske na neco tak maleho,opengl uz je lepsi ale zhruba to same,sdl je jenom strukturovane ale zatim vypada nejlip a qt .. to je hlavne na gui ale hry v tom pujdou delat taky. co by ste doporucili pro jednoduche hry,skakacky,pac mana a podobne?

Nahlásit jako SPAM
IP: 86.49.56.–
Luckin
~ Anonymní uživatel
57 příspěvků
25. 2. 2013   #2
-
0
-

#1 rodinne.baleni.ryze
Allegro

Nahlásit jako SPAM
IP: 89.103.156.–
Radek Chalupa
~ Redaktor
+1
Super člen
25. 2. 2013   #3
-
0
-

#1 rodinne.baleni.ryze
Direct2D  

Od Visty je nativní součástí Windows takže není třeba na cílovém PC doinstalovávat žádné (leckdy monstrózní) runtimové knihovny.

Co je na Direct2D "strašně robusní"? Jsou to COM objekty, použiješ jen ty potřebné...

Dobré tutoriály na Direct2D napsal např. Kenny Kerr.

Radek Chalupa
- vývoj software na zakázku
- školení programování (C/C++, WinAPI, ATL, COM, ActiveX, C#, NET Framework, MFC)
http://www.radekchalupa.cz

Nahlásit jako SPAM
IP: 213.220.211.–
Tom
~ Anonymní uživatel
434 příspěvků
25. 2. 2013   #4
-
0
-

za me SDL. Jednoduche, docela lehke na nauceni. Neni to napsano objektove, ale neni problem si to obalit tridama a pak pouzivat objektove (vetsinou jsem to tak delal....nejak mi to zprehlednuje kod)

Nahlásit jako SPAM
IP: 89.102.36.–
zlz
~ Anonymní uživatel
634 příspěvků
26. 2. 2013   #5
-
0
-

SDL, BEZ DEBAT

Nahlásit jako SPAM
IP: 80.188.216.–
Doomista+1
Stálý člen
26. 2. 2013   #6
-
0
-

Za mě sdl. snadno se učí, jediná nevýhoda je, že je záhodno si hned zkraje napsat si makra na takové prkotiny, jako je vykreslování objektů, aby člověk nemusel pořád psát ten samý kód dokola a taky doporučuju si vygooglit rotozoom.h, rotozoom.cpp

Nahlásit jako SPAM
IP: 195.113.191.–
Na vše stačí iostream...
ingiraxo+15
Grafoman
26. 2. 2013   #7
-
0
-

OpenGL a též se přiklánim k názoru, že Direct není robustní, použijš jen to, co potřebuješ, čili 2D knihovny

a to Qt vypusť z hlavy, to je primárně GUI framework, sice umí i vykreslit přes GPU, ale na to použivá nativní OpenGL, takže ve výsledku je úplně jedno, jestli použiješ OpenGL normálně nebo se budeš srát s Qt (a jen tak mimochodem, i čistá GUI app, má cca 37MB)

ale úplně nejlepší volba pro 2D (i 3D) hry je XNA framework, rychle a snadno se v to dělají hry, rendruje přes DirectX9 a jede na C#

samozřejmě nejde o high-end engine, ale na běžný hry, kór když začínáš bez problémů postačuje

Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
yaqwsx+9
Posthunter
26. 2. 2013   #8
-
0
-

#7 ingiraxo
Podpora XNA byla Microsoftem nedávno ukončena.

Sám jsem začinal s SDL, ale kdybych se mohl vrátit v čase, nebál bych se klidně začít rovnou s OpenGL nebo Direct3D. SDL totiž (alespoň v době, kdy jsem s ním pracoval) nepodporuje GPU akceleraci, což na běžné operace nevadí, ale jakmile chce člověk spritem rotovat, tak to pocítí.

Ze steného důvodu doporučuji i Direct3D, nikoliv Direct2D. Direct2D je hardwarově akcelerován až od Windows 8 (teď nevím, která verze DirectX to je). Ostatně s použitím knihovny D3DX není vykreslování spritů pomocí Direct3D ničím složitým - viz http://msdn.microsoft.com/en-us/library/windows/desktop/bb174249%28v=vs.85%29.aspx

Nahlásit jako SPAM
IP: 85.160.61.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
Radek Chalupa
~ Redaktor
+1
Super člen
26. 2. 2013   #9
-
0
-

#8 yaqwsx
Zdroj tvrzení o hw akceleraci Direct2D až od Windows 8?

V dokumentaci Windows SDK pro Windows 7 (vydané dávno před tím, než se o osmičkách vůbec vedělo) stojí že samozřejmě je hw akcelerované od počátku existence, tj. Windows 7 (dokonce jestli se nepletu tak i pro Visty byla dodatečně implementovaná runtimová podpora), viz citace:

"Direct2D is a hardware-accelerated, immediate-mode 2-D graphics API that provides high performance and high-quality rendering for 2-D geometry, bitmaps, and text. The Direct2D API is designed to interoperate with existing code that uses GDI, GDI+, or Direct3D"

Radek Chalupa
- vývoj software na zakázku
- školení programování (C/C++, WinAPI, ATL, COM, ActiveX, C#, NET Framework, MFC)
http://www.radekchalupa.cz

Nahlásit jako SPAM
IP: 213.220.211.–
26. 2. 2013   #10
-
0
-

Děkuju za reakce,vyhrálo to sdl a direct2d,podívám se co mi bude vyhovovat víc a podle toho se rozhodnu. Jak se vám pracuje s COM objekty? někde jsem na ně četl negativní názory,tak si nejsem jistý jestli COM objekty nebo čisté C.

Nahlásit jako SPAM
IP: 86.49.56.–
yaqwsx+9
Posthunter
26. 2. 2013   #11
-
0
-

#9 Radek Chalupa
Trochu jsem zaspal dobu; o Direct2D jsem se zajímal v době, kdy světu vládl DirectX 9. HW akcelerace je podporována tedy už od verze  DirectX 10 (a tedy Vist).

Direct2D can minimize CPU usage and utilise hardware rendering on a graphics card that supports Direct3D 10.1 and/or Direct3D 10 Level 9 with WDDM 1.1 drivers, falling back to software rendering using WARP10 in situations when hardware is not available, such as session 0, and for remote server-side rendering. Direct2D performance and memory usage scale linearly with primitive counts in both software and hardware.

zdroj: Wiki

Nahlásit jako SPAM
IP: 85.160.61.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
guest
~ Anonymní uživatel
24 příspěvků
27. 2. 2013   #12
-
0
-
Nahlásit jako SPAM
IP: 89.177.116.–
Doomista+1
Stálý člen
27. 2. 2013   #13
-
0
-

#8 yaqwsx
dá se ztráta rychlosti při rotování efektivně řešit předrenderováním?

Nahlásit jako SPAM
IP: 195.113.191.–
Na vše stačí iostream...
27. 2. 2013   #14
-
0
-

tak nakonec jsem se rozhodl pro direct2d,mate prosimvas nejaky dobry tutorial nebo knizku,idealne v cestine? nejake sem nasel ale ta je uz celkem stara

Nahlásit jako SPAM
IP: 84.242.117.–
yaqwsx+9
Posthunter
27. 2. 2013   #15
-
+1
-
Zajímavé

#13 Doomista
Ano, ale není to zrovna elegantní řešení, pokud nepotřebuješ např. pouze pár natočení. Předrotování je totiž celkem náročné na pamět. Teď si z hlavy nemůžu vzpomenout, jak se jmenovala knihovna pro SDL, která to uměla. Existuje i modifikace SDL, ve které je vše hardwarově akcelerované pomocí OGL, bohužel tato modifikace neuměla pracovat s anti-aliasingem, tudíž byla pro rotaci objektů nepoužitelná.

EDIT: Modifikace SDL se nazývá glSDL a knihovna po pokročilou práci s SDL surface se nazývá SDL_gfx.

Nahlásit jako SPAM
IP: 85.160.61.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
Doomista+1
Stálý člen
27. 2. 2013   #16
-
0
-

#15 yaqwsx
SDL_gfx mám nainstalované, ještě jsem se ale nedostal k tomu ho nějak studovat. osobně jsem kdysi na netu našel rotozoom.h, které umožňuje sprity natáčet, má antialiasing a zoom a s několika úpravama jsem i dosáhnul předrenderování do všech 360°. Bohužel šlo jen o testování zda to jde, nestudoval jsem vliv na cpu. Náročnost na paměť jsem zatím neřešil, dělám si zatím malý projekty, kde je pro mě těch pár desítek MB na ram celkem ještě ukradených.
Má direct2D vestavěný timer? Něco na způsob timeru z allegra? kéž by se tak allegro chovalo normálně na 64bit w7...

Nahlásit jako SPAM
IP: 90.176.176.–
Na vše stačí iostream...
rodinne.baleni.ryze
~ Anonymní uživatel
50 příspěvků
2. 3. 2013   #17
-
0
-

dival sem se na to direct2d a to je.. no tezke strasne. moc vysoky level na me,asi pujdu do opengl

Zasláno z mobilního telefonu.

Nahlásit jako SPAM
IP: 82.145.209.–
liborb
~ Redaktor
+18
Guru
4. 3. 2013   #18
-
0
-

Když jsem hledal něco hardwarově akcelerované na 2D hry, tak jsem skončil u HGE. Přišlo mi to jednoduché a dostačující.

Nahlásit jako SPAM
IP: 188.75.135.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 33 hostů

Podobná vlákna

C++, OpenGL, SDL /// C++, OpenGL — založil Kolemjdouci

SDL, OpenGL, DirectX — založil radypala

OpenGL 1.4 — založil koudis;

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý