.[ ČeskéHry.cz ].
GLFW/SDL :: context :: okno
Jdi na stránku 1, 2  Další
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy
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ň

PříspěvekZaslal: 21. květen 2011, 14:44:57    Předmět: GLFW/SDL :: context :: okno Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
nou



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

PříspěvekZaslal: 21. květen 2011, 22:28:31    Předmět: Odpovědět s citátem

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
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: 22. květen 2011, 02:28:26    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
VODA



Založen: 29. 07. 2007
Příspěvky: 1721
Bydliště: Plzeň

PříspěvekZaslal: 22. květen 2011, 09:52:45    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
if.then



Založen: 13. 04. 2008
Příspěvky: 579

PříspěvekZaslal: 22. květen 2011, 10:11:00    Předmět: Odpovědět s citátem

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
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: 22. květen 2011, 11:02:12    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
VODA



Založen: 29. 07. 2007
Příspěvky: 1721
Bydliště: Plzeň

PříspěvekZaslal: 22. květen 2011, 13:48:16    Předmět: Odpovědět s citátem

Samozřejmě, já jen jestli to někdo už nezkoušel předemnou, abych si ušetřil práci... Wink
_________________
Opravdovost se pojí s trýzní...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
VODA



Založen: 29. 07. 2007
Příspěvky: 1721
Bydliště: Plzeň

PříspěvekZaslal: 22. květen 2011, 13:56:54    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
Houp



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

PříspěvekZaslal: 22. květen 2011, 16:11:48    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
VODA



Založen: 29. 07. 2007
Příspěvky: 1721
Bydliště: Plzeň

PříspěvekZaslal: 24. květen 2011, 16:19:54    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
if.then



Založen: 13. 04. 2008
Příspěvky: 579

PříspěvekZaslal: 24. květen 2011, 17:08:45    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
VODA



Založen: 29. 07. 2007
Příspěvky: 1721
Bydliště: Plzeň

PříspěvekZaslal: 24. květen 2011, 17:26:07    Předmět: Odpovědět s citátem

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 Idea Shocked Question
_________________
Opravdovost se pojí s trýzní...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Ladis



Založen: 18. 09. 2007
Příspěvky: 1537
Bydliště: u Prahy

PříspěvekZaslal: 24. květen 2011, 18:37:15    Předmět: Odpovědět s citátem

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
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: 24. květen 2011, 18:47:12    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
VODA



Založen: 29. 07. 2007
Příspěvky: 1721
Bydliště: Plzeň

PříspěvekZaslal: 24. květen 2011, 18:57:07    Předmět: Odpovědět s citátem

...abych pravdu řekl, tak si to teď nějak nedokážu pospojovat v hlavě...
_________________
Opravdovost se pojí s trýzní...
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 -> 3D API / 3D Enginy Časy uváděny v GMT + 1 hodina
Jdi na stránku 1, 2  Další
Strana 1 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