Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

OpenGL, DirectX i 2D igre

[es] :: 3D programiranje :: OpenGL, DirectX i 2D igre

[ Pregleda: 3845 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Duck_
Darko Jovanović
Sremska Kamenica

Član broj: 43509
Poruke: 67
62.108.101.*

Sajt: www.google.com


Profil

icon OpenGL, DirectX i 2D igre18.01.2005. u 04:44 - pre 232 meseci
Odmah da kažem da nemam nameru da pravim 3D igre (bar još koju godinu). Zanima me da li OpenGL i DirectX mogu da unaprede i 2D grafiku ili su oni samo za 3D? Šta u stvari mogu da dobijem u 2D igrama korišćenjem OpenGL-a ili DirectX-a? Da li pomenuti mogu da poboljšaju ili olakšaju rad sa zvukom i džojsticima ili oni utiču samo na grafiku?
 
Odgovor na temu

Reljam
Relja Markovic
San Francisco

Član broj: 531
Poruke: 1793
*.client.comcast.net.



+18 Profil

icon Re: OpenGL, DirectX i 2D igre18.01.2005. u 06:50 - pre 232 meseci
Oba APIja mogu itekako da unaprede 2D grafiku - tacnije, bez njih je gotovo nemoguce napraviti pristojnu modernu 2D pucacinu, jer je vrlo tesko na procesoru imati dovoljno veliki fill rate za recimo 1024 * 768 * 60 fps sa dosta sprajtova i alfa blendingom.

Tako da prakticno moras da koristis jedan od ta dva. DirectX sadrzi DirectAudio i DirectInput koji se koriste za rad sa zvukom i dzojsticima, a DXUT biblioteka (takodje deo DirectXa) ti odradjuje standardne stvari kao sto su kreacija prozora, Direct3D device-a itd.
 
Odgovor na temu

Dark Icarus
Goran Lalić
Beograd

Član broj: 19775
Poruke: 428
*.nat-pool.bgd.sbb.co.yu.



+2 Profil

icon Re: OpenGL, DirectX i 2D igre11.02.2005. u 13:43 - pre 231 meseci
Samo jedno pitanje, srodno je sa ovom temom, pa da ne otvaram novi thread...Postoji li neki način da u DirectX 7 napravim Alpha Blending? Sasha++ je ovde postavio jedan primer ali taj je zahtevao da se inicijalizuje i DX8. Mene bi interesovao blending koji koristi samo DX7.

Citat:
bez njih je gotovo nemoguce napraviti pristojnu modernu 2D pucacinu
OK, biću direktan: zna li neko kako se u DX8 obično prave 2D igre? Ili neko možda ima iskustva s tim? Pošto sam video da u DX8 DirectDraw ne postoji, da li to znači da sve 2d sprajtove moram da regulišem preko billboard-a? I da li to znači da moram da inicijalizujem D3DDevice, postavim kameru, da renderujem na takozvani "3D" način (sa svim onim koracima - BeginScene...EndScene), iako na primer neću uopšte koristiti ni jedan jedini poligon već samo bitmape?

I ako je odgovor "da, moraš da koristiš billboarde", da li je to brže od DirectDraw-a? Kako ja na to gledam, DDraw samo treba da blituje - prekopira bajtove sa jedne bitmape na drugu. Billboarding, kao 3d tehnika, verovatno koristi gomilu kalkulacija koje DDraw ne mora da radi... zar ne?

Ili postoji neki način renderovanja sprajtova u DX8 koji ja ne znam?
In a game of chess you must never let your opponent see your pieces - Zap
Brannigan
 
Odgovor na temu

yooyo

Član broj: 4891
Poruke: 1101
*.nat-pool.bgd.sbb.co.yu.



Profil

icon Re: OpenGL, DirectX i 2D igre11.02.2005. u 16:38 - pre 231 meseci
Blit samo blituje... u eventualni stretch ili flip.

Bilboarding ti omogucava sve sto i blitovanje plus rotaciju, zoom, alpha blending, alpha masking, z-ordering... Razlika je u tome sto blit uglavnom radi CPU dok bilboarding izvrsava GPU. Uostalom... pogledaj specifikaciju neke od grafickih kartica i obrati paznju na fillrate. Primer jedne od jadnijih kartica na trzistu:
Code:

GeForce4 MX 420     
Fill Rate: 1 Billion Texels/Sec.
Triangles per Second: 31 Million
Memory Bandwidth: 2.7GB/Sec.
Maximum Memory: 64MB


Milijarda texela u sekundi i nije losa brojka za 2d igrice.

Pocev od DX8, M$ je integrisao DDraw u D3D. Najbolje je da ipak koristis bilboarding. U DX8.1 postoji func IDirect3DDevice8::CopyRects ali ne podrzava ni stretch ni alpha blending ni color key ni clipping.


yooyo
 
Odgovor na temu

Dark Icarus
Goran Lalić
Beograd

Član broj: 19775
Poruke: 428
*.nat-pool.bgd.sbb.co.yu.



+2 Profil

icon Re: OpenGL, DirectX i 2D igre11.02.2005. u 19:28 - pre 231 meseci
OK, samo je poenta da sam tek ovladao kako treba Direct Draw-om i napravio dobar 2d engine. Hej, svi moramo odnekud da počnemo...

Takođe, ne bih usred pravljenja igre da ponovo pišem grafički engine. A da ga pišem pred kraj projekta opet ne valja.

U svakom slučaju hvala, izgleda da mi ne gine DX8.1 SDK u šake...
In a game of chess you must never let your opponent see your pieces - Zap
Brannigan
 
Odgovor na temu

[es] :: 3D programiranje :: OpenGL, DirectX i 2D igre

[ Pregleda: 3845 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.