.[ ČeskéHry.cz ].
Fixne FPS v OpenGL

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Jorns



Založen: 27. 08. 2013
Příspěvky: 14

PříspěvekZaslal: 10. leden 2014, 00:34:27    Předmět: Fixne FPS v OpenGL Odpovědět s citátem

Zdravim, majstri, ako vyriesim v opengl konstantne fps, pre hladky pohyb napriklad auta po ceste ?
Teraz to ide nieco vyse 350 FPS a to nie je moc dobre, navyse pokial sa moje auto pohbuje o 0.5 jednotky vpred alebo vzad tak to koby seka. Neviete co s tym ? Sekanim sa to ani neda nazvat, neviem ako to presne popisat... Diky za rady...

EIDT: Mimochodom, je to vo win32
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
]semo[



Založen: 29. 07. 2007
Příspěvky: 1526
Bydliště: Telč

PříspěvekZaslal: 10. leden 2014, 10:26:17    Předmět: Odpovědět s citátem

http://nehe.ceske-hry.cz/cl_fps.php

Jde o to, že musíš měřit, jak dlouho trvá jeden frame a tento čas (říká se mu deltaTime nebo timeStep...) použiješ. A když se podíváš na fyziku střední školy, uvidíš v tom i nějaký teoretický základ.

Pro přesný změření času se používá na windows funkce QueryPerformanceCounter a spol. : http://stackoverflow.com/questions/1739259/how-to-use-queryperformancecounter
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Houp



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

PříspěvekZaslal: 10. leden 2014, 22:13:34    Předmět: Odpovědět s citátem

Něco k jednoduché fyzice ve hrách jsem kdysi sepsal na střední: resurrection.ic.cz/soubory/GamePhysics.pdf , třeba pomůže.
_________________
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Jorns



Založen: 27. 08. 2013
Příspěvky: 14

PříspěvekZaslal: 11. leden 2014, 16:01:35    Předmět: Odpovědět s citátem

Houp napsal:
Něco k jednoduché fyzice ve hrách jsem kdysi sepsal na střední: resurrection.ic.cz/soubory/GamePhysics.pdf , třeba pomůže.



Nikto tu nepojednava fyziku, nie si nahodou v nespravnom topic-u ?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
perry



Založen: 28. 07. 2009
Příspěvky: 879

PříspěvekZaslal: 11. leden 2014, 19:06:40    Předmět: Odpovědět s citátem

Fyzika souvisí s tím, že musí být upravená herní smyčka.. takže to s tím souvisí.
_________________
Perry.cz
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Jorns



Založen: 27. 08. 2013
Příspěvky: 14

PříspěvekZaslal: 12. leden 2014, 16:44:29    Předmět: Odpovědět s citátem

Mne zatial nejde o to ze ako to auto zrychli z 0 na 100 za x sekund vs. sklon terenu, mne predovsetkym ide o to aby sa mi objekt presuval plynule napriklad pri snimkovani 33 fps a nie 330 ako mam teraz...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Dlaha



Založen: 30. 07. 2007
Příspěvky: 598
Bydliště: Olomouc

PříspěvekZaslal: 12. leden 2014, 17:48:18    Předmět: Odpovědět s citátem

Mám pocit, že se na to díváš ze špatného konce. Snažíš se omezit FPS, což je ale hloupost. I kdybys omezil FPS na, řekněme těch 30 (což je dost málo). Tak by ti to sice jelo dobře, dokud by to ale nespustil někdo na pomalejším stroji. FPS by kleslo pod 30 a jseš tam, kde jsi byl.

Tohle se řeší tak, jak ti tady všichni radí. Herní smyčka musí být řešena tak, aby se všechny objekty pohybovaly stejně rychle při 30 i 330 FPS.
To trhání, jak popisuješ, je nejspíš způsobeno tím, že se FPS mírně mění. Třeba jednu vteřinu herní smyčka projde 330x, potom 315x, pak 340x, ...

To znamená, pokud budeš k pozici auta připočítávat v každém průběhu 0.5, tak se jednu sekundu přičte 165, další pak 157.5 atd. A to už způsobí pro lidské oko něco jako"sekání".

Řešení už tady je.
_________________
Other Inside
Greenlitnuto!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Jorns



Založen: 27. 08. 2013
Příspěvky: 14

PříspěvekZaslal: 12. leden 2014, 20:58:00    Předmět: Odpovědět s citátem

Dlaha napsal:
Mám pocit, že se na to díváš ze špatného konce. Snažíš se omezit FPS, což je ale hloupost. I kdybys omezil FPS na, řekněme těch 30 (což je dost málo). Tak by ti to sice jelo dobře, dokud by to ale nespustil někdo na pomalejším stroji. FPS by kleslo pod 30 a jseš tam, kde jsi byl.

Tohle se řeší tak, jak ti tady všichni radí. Herní smyčka musí být řešena tak, aby se všechny objekty pohybovaly stejně rychle při 30 i 330 FPS.
To trhání, jak popisuješ, je nejspíš způsobeno tím, že se FPS mírně mění. Třeba jednu vteřinu herní smyčka projde 330x, potom 315x, pak 340x, ...

To znamená, pokud budeš k pozici auta připočítávat v každém průběhu 0.5, tak se jednu sekundu přičte 165, další pak 157.5 atd. A to už způsobí pro lidské oko něco jako"sekání".

Řešení už tady je.


Ano toto presne myslim, ked sa autom hybem max 0.05 jednotky tak ide plynule ak je rozpatie vacsie tak uz to je badatelne, takze ako to vyriesim tak ci uz auto ide 10 alebo 200 km/h (myslene obrazne) ?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
split



Založen: 15. 05. 2013
Příspěvky: 68

PříspěvekZaslal: 12. leden 2014, 23:09:02    Předmět: Odpovědět s citátem

Toto nastuduj Smile

http://gafferongames.com/game-physics/fix-your-timestep/
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 13. leden 2014, 09:00:28    Předmět: Odpovědět s citátem

@Jorns - to co se ti tu lide snazi nastinit je, ze mas svazanou fyziku a zobrazovani, coz neni dobre.

Dnes je postup takovy, ze kreslis co to da, klidne 1000FPS a fyziku prepocitas jen obcas - treba kazdych 0.1s a updatnes stavy jednotlivych objektu (pozice, ...)

Tzn. kresleni a fyzika jsou zcela oddelene a to ze kreslis dalsi frame neznamena, ze mas znovu pocitat fyzicku s nejakym stalym krokem.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
]semo[



Založen: 29. 07. 2007
Příspěvky: 1526
Bydliště: Telč

PříspěvekZaslal: 13. leden 2014, 09:53:10    Předmět: Odpovědět s citátem

rezna: jemu opravdu stačí pohyb * deltaTime
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pcmaster



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

PříspěvekZaslal: 13. leden 2014, 16:23:32    Předmět: Odpovědět s citátem

rezna: aj keby to uplne oddelil, tak AJ TAK musi pocitat tak, ako pisu ostatni Wink
_________________
Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 14. leden 2014, 09:54:11    Předmět: Odpovědět s citátem

pcmaster napsal:
rezna: aj keby to uplne oddelil, tak AJ TAK musi pocitat tak, ako pisu ostatni Wink


ale jo Smile - ja se nepresne vyjadril - jsem se snazil naznacit ze fyzika musi byt FPS nezavisla Smile - uz mlcim a stydim se v rohu
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 -> Obecné Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
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