Diskuze: Náročnost vykreslování her

Grafika Grafika a design Náročnost vykreslování her

Aktivity (1)
Avatar
anticary
Člen
Avatar
anticary:2. dubna 21:10

Ahoj,
dělám hru a většinu věcí sem se naučil z internetu, ale nikde sem nezjistil jak je možný, že když já chci vykreslit pár obrázků, tak se mi to těžce seká (pokud překresluju celou obrazovku.. samozřejmě když to omezim, tak je to v pohodě).... ale když mám nějakou 3D hru a pohne se kamera, tak se celá obrazovka překresluje a jede to plynule. Nemohl by někdo ukrojit část svého drahocenného času a vysvětlit, jak vykreslují normální hry? Dělám v C# a na vykreslovaní používám System.Drawing. Taky dělám ve Windows Forms, je taky možný, že to není ideální?
Děkuji za odpověď :)

 
Odpovědět 2. dubna 21:10
Avatar
Luboš Satik Běhounek
Autoredaktor
Avatar
Odpovídá na anticary
Luboš Satik Běhounek:2. dubna 21:50

Ahoj, jak presne kreslis?

Hry se vetsinou vykresluji pres grafickou kartu, ktera to umi rychleji nez procesor, pres ktery ted nejspis kreslis, na to potrebujes treba OpenGL nebo DirectX.

Taky je dobry pouzivat nejaky culling (nekreslit objekty mimo obrazovku).

Taky pokud bys nahodou kreslil na bitmapu pres GetPixel/SetPixel, tak to je ultrapomaly, protoze se pro kazdej pixel znova zamyka a odemyka bitmapa.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět  +6 2. dubna 21:50
https://www.facebook.com/peasantsandcastles/
Avatar
anticary
Člen
Avatar
Odpovídá na Luboš Satik Běhounek
anticary:3. dubna 16:24

Super, tohle s tim procesorem jsem potřeboval vědět. Diky moc :)

 
Nahoru Odpovědět 3. dubna 16:24
Avatar
Luboš Satik Běhounek
Autoredaktor
Avatar
Odpovídá na anticary
Luboš Satik Běhounek:4. dubna 15:03

Pokud chceš dělat něco nízkoúrovňovýho, tak třeba sharpdx, pokud shanis herní engine co udělá většinu věcí za tebe, tak třeba unity, někde mezi nima je ještě monogame.

Nahoru Odpovědět  +4 4. dubna 15:03
https://www.facebook.com/peasantsandcastles/
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:11. června 15:13

viz Luboš Satik Běhounek. 3d hry vykresluji pres grafickou kartu. Bez jejich pomoci to vykresluje cpu a ten je obvykle jako snek pro vetsi veci.
Ale, kdyz vis jak, lze pouzit i ten. Jen si budes muset udelat nejspis vlastni ovladaci system.
Dnesni 3d sw pouziva priblizne vykreslovani. Hlavu postavy treba rozdeli na 12 sten. Nanese texturu. Nasviti paprskem svetla. A pak kazdou plosku rodeli treba na 10 zakrivenych a nasvicenou texturu prepocita takhle priblizne. Coz je rychlejsi nez pocitat nasviceni pro vsech 120 plosek a vysledek se tolik nelisi.
Jinymi slovy, vzdalena nebo blizka postava se pocita temer stejne rychle.

Tohle maji udelane v js. Podle mne jeste starym zpusobem, ale je to take pomerne svizne. Takze, asi to nemas uplne ok vymyslene.
https://threejs.org/
http://showroom.littleworkshop.fr/ - pockas na loading a pak kliknes na Enter room

 
Nahoru Odpovědět 11. června 15:13
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.