Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
VODA

Založen: 29. 07. 2007 Příspěvky: 1721 Bydliště: Plzeň
|
Zaslal: 21. květen 2011, 14:44:57 Předmět: GLFW/SDL :: context :: okno |
|
|
Zdravím,
chtěl jsem se zeptat na pár věcí ohledně GLFW. Poslední dobou mě totiž začíná strašně rozčilovat SDL, především to, že při volání SDL_SetVideoMode se ztrácí kontext (alespoň tedy na Windows).
Jak je to u GLFW?
Máte s tím lepší zkušenosti než se SDL? _________________ Opravdovost se pojí s trýzní...
Naposledy upravil VODA dne 24. květen 2011, 18:58:28, celkově upraveno 1 krát |
|
Návrat nahoru |
|
 |
nou

Založen: 28. 07. 2007 Příspěvky: 1050
|
Zaslal: 21. květen 2011, 22:28:31 Předmět: |
|
|
co viem tak pri zmene okna na fullscreen sa na Windows ten OpenGL kontext proste strati a SDL alebo GLFW na to nema vplyv. _________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
 |
Marek

Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 22. květen 2011, 02:28:26 Předmět: |
|
|
Kontext se ztratí jenom když ho uvolníš (nebo ta knihovna), jinak se nemá jak ztratit. Změna rozlišení na to nemá vliv. _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
 |
VODA

Založen: 29. 07. 2007 Příspěvky: 1721 Bydliště: Plzeň
|
Zaslal: 22. květen 2011, 09:52:45 Předmět: |
|
|
A proto mě zajímalo, jestli to má GLFW nějak vyřešené...ne že bych neuměl reloadnout resourcy znovu na kartu, ale je to poněkud nepraktické... _________________ Opravdovost se pojí s trýzní... |
|
Návrat nahoru |
|
 |
if.then
Založen: 13. 04. 2008 Příspěvky: 579
|
Zaslal: 22. květen 2011, 10:11:00 Předmět: |
|
|
Asi tě zklamu, ale bohužel neexistuje žádný (jednoduchý) multiplatformní způsob, jak zachovat kontext při zrušení okna. Takže ani GLFW tuto vlastnost neposkytuje.
Něco je o tom napsáno zde _________________ For guns and glory, go to www.ceske-hry.cz.
For work and worry, execute VC++. |
|
Návrat nahoru |
|
 |
Marek

Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 22. květen 2011, 11:02:12 Předmět: |
|
|
Kdysi jsem to dokázal na Windows i Linuxu, ale musel jsem kvůli tomu trochu víc znát WinAPI a Xlib. A samozřejmě ignorovat tutoriály a jít přímo do dokumentace těch API.
Dopodrobna GLFW neznám, ale nejjednodušší mi případá podívat se přímo do zdrojáků GLFW. _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
 |
VODA

Založen: 29. 07. 2007 Příspěvky: 1721 Bydliště: Plzeň
|
Zaslal: 22. květen 2011, 13:48:16 Předmět: |
|
|
Samozřejmě, já jen jestli to někdo už nezkoušel předemnou, abych si ušetřil práci...  _________________ Opravdovost se pojí s trýzní... |
|
Návrat nahoru |
|
 |
VODA

Založen: 29. 07. 2007 Příspěvky: 1721 Bydliště: Plzeň
|
Zaslal: 22. květen 2011, 13:56:54 Předmět: |
|
|
A nevíte, jestli se kontext zachovává při volání SDL_setvideomode v nefullscreenovém okně (třeba při eventu SDL_VIDEORESIZE)?
Já jsem někde četl, že se ten kontext ztratí jen u fullscreenu a ve windowed módu to je v pohodě...
Jak to tedy v tom SDL je?
Díky. _________________ Opravdovost se pojí s trýzní... |
|
Návrat nahoru |
|
 |
Houp
Založen: 28. 07. 2007 Příspěvky: 672
|
Zaslal: 22. květen 2011, 16:11:48 Předmět: |
|
|
VODA napsal: |
A nevíte, jestli se kontext zachovává při volání SDL_setvideomode v nefullscreenovém okně (třeba při eventu SDL_VIDEORESIZE)?
|
Nevím, jestli to jde nějak ošetřit, ale ve svém Level editoru běžícím k odně musím kontext reloadnout _________________
 |
|
Návrat nahoru |
|
 |
VODA

Založen: 29. 07. 2007 Příspěvky: 1721 Bydliště: Plzeň
|
Zaslal: 24. květen 2011, 16:19:54 Předmět: |
|
|
No já si to ověřil, ve windowed okně se kontext neztratí při SDL_VIDEORESIZE ani při volání SDL_setvideomode, zkoušel jsem to na Widlích i na Linuxech, takže to je v pohodě...
Teď mám ale další problém. Nemohu se rozhodnout, co udělám s oknem ve windowed módu. Rád bych okno udělal resizable, ale to mi tady dost nadělá paseku s aspectRatio a když si okno upravím, tak aby to sedělo, tak mi to pak rozbije maximized okno, kde se nedá s tím oknem vůbec nic udělat (přes SDL)...
Začínám uvažovat nad tím, že vůbec takovou možnost, jako hrát v okně nebudu podporovat...
Jak to vidíte vy? _________________ Opravdovost se pojí s trýzní... |
|
Návrat nahoru |
|
 |
if.then
Založen: 13. 04. 2008 Příspěvky: 579
|
Zaslal: 24. květen 2011, 17:08:45 Předmět: |
|
|
Tak okno udělej resizable, ale tak, aby jeho aspect ratio bylo vždy stejné, ne? _________________ For guns and glory, go to www.ceske-hry.cz.
For work and worry, execute VC++. |
|
Návrat nahoru |
|
 |
VODA

Založen: 29. 07. 2007 Příspěvky: 1721 Bydliště: Plzeň
|
Zaslal: 24. květen 2011, 17:26:07 Předmět: |
|
|
No tak to se Ti ten obraz potom natáhne podle okna...
V takovém stavu jsem to nechal teď, ale moc se mi to nelíbí...
EDIT: Na druhou stranu, pak by už záleželo na uživateli jak si to okno nastaví, aby to viděl správně...hmm  _________________ Opravdovost se pojí s trýzní... |
|
Návrat nahoru |
|
 |
Ladis

Založen: 18. 09. 2007 Příspěvky: 1537 Bydliště: u Prahy
|
Zaslal: 24. květen 2011, 18:37:15 Předmět: |
|
|
Poměr stran můžeš počítat tak, že pixely jsou vždy čtvercové a vidí pevný úhel na výšku - na šířku se podle toho dopočítá. Takže můžu mít okno 4:3, nebo si ho roztáhnout na šířku (širokoúhlý pohled, podobně jako bys měl ve wide fullscreenu). _________________ Award-winning game developer |
|
Návrat nahoru |
|
 |
Marek

Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 24. květen 2011, 18:47:12 Předmět: |
|
|
Ale čtvercové pixely máš zaručené jenom když nejsi fullscreenu, samozřejmě.
Když jsi ve fullscreenu, tak nemáš šanci zjistit, jak se to zobrazí. _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
 |
VODA

Založen: 29. 07. 2007 Příspěvky: 1721 Bydliště: Plzeň
|
Zaslal: 24. květen 2011, 18:57:07 Předmět: |
|
|
...abych pravdu řekl, tak si to teď nějak nedokážu pospojovat v hlavě... _________________ Opravdovost se pojí s trýzní... |
|
Návrat nahoru |
|
 |
|