.[ ČeskéHry.cz ].
Magic The Gathering
Jdi na stránku Předchozí  1, 2
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Inkubátor
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
OndraSej



Založen: 28. 07. 2007
Příspěvky: 767
Bydliště: Brandýs nad Labem

PříspěvekZaslal: 6. srpen 2011, 08:38:45    Předmět: Odpovědět s citátem

Gurthfin> odpoved, kterou hledas, dost mozna lezi tady: http://newwiki.ceske-hry.cz/Herní_návrhový_vzor_Herní_smyčka
_________________
http://trionteam.net
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
nou



Založen: 28. 07. 2007
Příspěvky: 1050

PříspěvekZaslal: 6. srpen 2011, 09:41:03    Předmět: Odpovědět s citátem

k tomu 2.0f myslis ze suradnice okna boli od -1 do 1? tak ano da sa to nastavit na hodnoty pri ortographickej projekcii.

sluzi na to void glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble nearVal, GLdouble farVal);
napriklad nastavis takto.
kód:

glMatrixMode(GL_PROJECTION);
glOrtho(0, 1024, 0, 768, 0, 1);


takto ziskas okno kde mozes kreslit od [0,0] po [1024,768] pricom nula je v lavom dolnom rohu. ak prehodis hodnoty bottom s top tak dostanes nulu v hornom lavom rohu.
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
VladR



Založen: 30. 07. 2007
Příspěvky: 1322
Bydliště: Greater New York City Area

PříspěvekZaslal: 7. srpen 2011, 03:52:22    Předmět: Odpovědět s citátem

Gurthfin napsal:

Pokat, pockat, pockat... a teraz pomaly a jasne. Toto je to, na co hladam odpoved. ...
Ono, ako sa to da oddelit? Stale sa budem pohybovat v drawGlScene akoby to bol main, alebo si vytvorim vlastny Logic_main a v nom budem volat drawGlScene ako normalnu funkciu a ostatne bude logika, popripade nejaky iny main, kde budem volat drawGlScene a Logic_main?
Pokial v mas aktualnom projekte chaos, tak silne doporucujem stiahnut nejaku Lesson 5, alebo 10 od neHe a pozriet ako to ma posekane v kode. To su kratke projekty - tak do 200 riadkov max, takze je to lahke najst to.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
frca



Založen: 28. 07. 2007
Příspěvky: 1561

PříspěvekZaslal: 7. srpen 2011, 09:27:55    Předmět: Odpovědět s citátem

NeHe OpenGL tutorialy SUXXXXXXXXXXXX.
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
micky



Založen: 28. 02. 2008
Příspěvky: 348
Bydliště: Plzeň, Praha

PříspěvekZaslal: 7. srpen 2011, 11:23:41    Předmět: Odpovědět s citátem

frca napsal:
NeHe OpenGL tutorialy SUXXXXXXXXXXXX.


Pro někoho, kdo si na OpenGL ani nesáhl (a případně se při tom ještě učí C/C++), je to náhodou dobrý start. Já "vyrostl" na tutoriálech sulaco.co.za, což je v podstatě něco jako NeHe, akorát k tomu není napsané poučné pojednání. Prostě jednodušší začátek, několik odpolední čtení a upravování kódu...

Jak oddělit herní logiku a kreslení? Nějak brutálně rozdělené to není, může se to volat za sebou, kromě toho kreslení potřebuje od herní logiky povědět, co má vlastně na obrazovce spáchat. Na druhou stranu je dobré to nemíchat dohromady (mezi kreslením počítat důsledky toho a toho kouzla).

Možná je dobré to prostě nějak zkusit, kdyžtak to bude špatně... co na tom, člověk se poučí pro příště.
_________________
https://www.bluepulsar.cz/
https://twitter.com/11thDream_Game/
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
VladR



Založen: 30. 07. 2007
Příspěvky: 1322
Bydliště: Greater New York City Area

PříspěvekZaslal: 7. srpen 2011, 15:11:49    Předmět: Odpovědět s citátem

Gurthfin napsal:
Pokat, pockat, pockat... a teraz pomaly a jasne. Toto je to, na co hladam odpoved. ...
Ono, ako sa to da oddelit? Stale sa budem pohybovat v drawGlScene akoby to bol main, alebo si vytvorim vlastny Logic_main a v nom budem volat drawGlScene ako normalnu funkciu a ostatne bude logika, popripade nejaky iny main, kde budem volat drawGlScene a Logic_main?
Pozrel som si zbezne Lesson 02 na http://nehe.gamedev.net/tutorial/creating_an_opengl_window_(win32)/13001/ a tam to vyzera tak, ze DrawGLScene sa vola z funkcie WinMain. Tam zaroven riesi input, takze tam by si mohol nasekat aj hernu logiku. Vsimni si premennu done - ta zabezpecuje nekonecny kolobeh renderingu (v prirode). A pokial nestlacis Escape, ten cyklus neprerusis.
Fakt by som ale doporucil rovno vytvorit novu metodu - napr. ProcessGameLogic () a len ju zavolat z toho WinMainu. A hod to ako riadok tesne pred DrawGLScene ().

Gurthfin napsal:
a tiez som si spomenul na OpenGL a vcelku nepeknu vec a to rozlisenie. Viem, ze prvy projekt som robil na rozlisenie 2,0f. S tym sa velmi zle pracovalo. Tak sa chcem spytat, ci sa da pracovat aj s normalnym rozlisenim, ako ho poznam z prace s PC.
Tym normalnym rozlisenim teraz myslis nieco ako 1024x768 ?Cize 2D ? Ak nepotrebujes 3D, a chces len posuvat sprity, tak je na zvazenie ci nepouzijes rovno kniznicu SDL -http://wiki.libsdl.org/moin.cgi/SDL1.2Tutorials a pozri si napr. tutorial na sprity : http://sol.gfxile.net/gp/ch03.html
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Gurthfin



Založen: 04. 08. 2011
Příspěvky: 5

PříspěvekZaslal: 12. srpen 2011, 23:05:55    Předmět: Odpovědět s citátem

konecne mam cas sa pohnut dalej.. poobedna v robote je na figu.. pridem dom, pustim si nieco na odpocinutie na hodinku dve a mozem ist spat. A vstavam pol hodinu pred odchodom do prace...

tak som sa dostal na lesson 02 a tam je to, co som spominal:
kód:
glBegin(GL_TRIANGLES);// Začátek kreslení trojúhelníků

glVertex3f( 0.0f, 1.0f, 0.0f);// Horní bod

glVertex3f(-1.0f,-1.0f, 0.0f);// Levý dolní bod

glVertex3f( 1.0f,-1.0f, 0.0f);// Pravý dolní bod

glEnd();// Ukončení kreslení trojúhelníků


da sa to v normalnom systeme rozlisenia(napr 1920x1080) napisat? Alebo je na to nejaky trik?


VladR: vdaka za tu poznamku, skusim sa na to lepsie pozriet, mozno by to tak slo.
Co sa tyka konceptu hry, tak zatial uvazujem qvazi 3D. Chcem urobit 3 Layeri - L1. budu karty na ruke na spode obrazovky, L2 bude hracia plocha posunuta na ose z dozadu a L3 budu zvacsene karty (ukazanie karty, boj kariet atd.) posunute na ose z dopredu. Ale este musim pokrocit v tutorialoch, takze toto je le prvotny nastrel.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 13. srpen 2011, 05:34:56    Předmět: Odpovědět s citátem

3D souřadnice nemají nic společného s rozlišením monitoru.
_________________
AMD Open Source Graphics Driver Developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Houp



Založen: 28. 07. 2007
Příspěvky: 672

PříspěvekZaslal: 13. srpen 2011, 09:06:02    Předmět: Odpovědět s citátem

Pamatuji si své začátky před cca 10 lety, já měl dotaz přímo na autora překladu nehe-tutoriálů, víceméně totožný jako ty.

Nejdřív se musíš rozhodnout, jestli chceš hru 2D, nebo 3D. Pokud 2D, v OpenGL použiješ glOrtho - v nehe tutoriálech je to tužším v lekci s pickingem (je to pozdější lekce, ale neboj se občas přeskočit). V glOrtho si určíš, jaké souřadnice budou mít rohy vykreslovací plochy, většinou jeden roh [0, 0] a druhý dle rozlišení monitoru, např. [1024, 768]. Poté už budeš vykreslovat pro tebe přirozeně, tedy, že chceš 100px zleva a zeshora nakreslit čtverec.

Ve 3D se souřadnicemi pracuje trochu jinak. Je vhodné si na začátku říct, co budeš považovat za vzdálenost od 0.0f do 1.0f, jestli to bude např. 1m, 1km, to záleží asi hlavně na zvolené hře. Pak už jednoduše můžeš definovat, co je kde, např. že dům je od 0.0f do 5.0f, na 5.0f začíná trávník apod. Máš definovanou scénu, pak je potřeba určit jakou část scény hráč uvidí. Jestli má vidět jen okno u domu, nebo celý dům i s trávníkem. To uděláš např. pomocí příkazu glLookAt, který slouží k umístění kamery. To si můžeš představit např. jako bys do té své scény stoupil s videokamerou, stoupl si před okno domu, otočil se na to okno a např. navíc kameru otočil o 90 stupňů (to jsou parametry funkce glLookAt) a díky tomu se ti poté vykresluje to, co chceš.

Snad je to dost laicky popsáno a zároveň tam není moc nepřesností, které by mohli začátečníkovi spíš uškodit.
_________________
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Gurthfin



Založen: 04. 08. 2011
Příspěvky: 5

PříspěvekZaslal: 13. srpen 2011, 13:00:20    Předmět: Odpovědět s citátem

vdaka Houpe, konecne mi niekto zrozumitelne vysvetlil, preco nemozem pouzivat rozlisenie v 3D...

zbezne som si pozrel dalsie tutorialy, ale nevidel som tam kreslenie podla pixelov.. takze ak pouzijem to glOrtho, tak v glVertex3f( 0.0f, 1.0f, 0.0f) mozem pouzit pixelovy format?

A este jedna vec ma napadla.. pri praci s DarkGDK som mal problem loadovat obrazky (textuty), lebo to trvalo nehorazne dlho. Ked som si vytvoril jeden obrazok o max velkosti (nieco cez 4000px x4000px) tak som cas skratil, ale aj tak sa do toho obrazku nezmestili vsetky karty, takze znova som musel pouzit viac obrazkov a cas sa natahoval.. a tym myslim az na niekolko minut. Ako je to v OpenGl?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
nou



Založen: 28. 07. 2007
Příspěvky: 1050

PříspěvekZaslal: 13. srpen 2011, 14:39:43    Předmět: Odpovědět s citátem

starsie karty podporuju textury s maximalnym rozmerom tak 2048-4096 pixelov. dnesne modernejsie karty zvladaju 8192-16386 pixelov. dlzka nacitania takej velkej textury bude myslim maximalne v desatinach sekundy. ale to je iba nacitanie do OpenGL. ak ich nacitavas z JPG alebo PNG tak sa ti to moze dost predlzit kedze ju treba najprv rozbalit kedze je ulozena komprimovane. to moze zabrat aj tie sekundy pri takto velkych obrazkoch.

jednym z rieseni je pouzit S3TC kompresiu ktora do zmensi textury stvor alebo osemnasobne.
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Inkubátor Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2
Strana 2 z 2

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna