.[ ČeskéHry.cz ].
OpenGL 3.0 vs SDL 2.0
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
frca



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

PříspěvekZaslal: 30. prosinec 2013, 21:04:25    Předmět: OpenGL 3.0 vs SDL 2.0 Odpovědět s citátem

Zdravím,
snažím se rozjet funkční OpenGL core kontext na linuxu na tomto HW:

OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile
OpenGL version string: 3.0 Mesa 8.0.5
OpenGL shading language version string: 1.30

Nějak se to ale nedaří. Nepodařilo se to někomu z vás tady? SDL sveřepě hlásí "Could not create GL context", i když zkouším všechno možné. Na jiném HW (OpenGL 3.3) to funguje.
Díky.
_________________
www.FRANTICWARE.com
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: 30. prosinec 2013, 21:24:18    Předmět: Odpovědět s citátem

vytvaras core profile? nie som si isty o 3.0 ale viem ze mesa neposkytuje 3.1 compatibility profil.
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
frca



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

PříspěvekZaslal: 30. prosinec 2013, 23:28:30    Předmět: Odpovědět s citátem

Ano.
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
frca



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

PříspěvekZaslal: 31. prosinec 2013, 11:09:04    Předmět: Odpovědět s citátem

Nebo kdyžtak prosím hoďte třeba zdroják, který vám funguje ve windows. Tonoucí se stébla chytá Wink Nebo fakt nikdo OpenGL 3 nepoužívá?
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
frca



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

PříspěvekZaslal: 31. prosinec 2013, 16:08:21    Předmět: Odpovědět s citátem

Takto to nastavuju:
kód:
    SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, m_glVersionMajor);
    SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, m_glVersionMinor);
    SDL_GL_SetAttribute(SDL_GL_ACCELERATED_VISUAL, 1);
    SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS, SDL_GL_CONTEXT_FORWARD_COMPATIBLE_FLAG);
    SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);

    SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);

    SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24);
    SDL_GL_SetAttribute(SDL_GL_STENCIL_SIZE, 0);
   


Zvláštně se to chová i na nVidii GF9300M:
Na linuxu to funguje při nastavení 3.0 i 3.3.
Na windows to funguje pro 3.3, ale pro 3.0 opět hlásí, že nelze vytvořit kontext. Verzi SDL mám tu poslední, 2.0.1. Stejně se to chovalo ale i u několika (asi dvou) předešlých. Všechno to sem píšu v naději, že někoho trkne, v čem by to mohlo být, protože já už jsem v koncích.
Díky.
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
gindar



Založen: 05. 10. 2007
Příspěvky: 86

PříspěvekZaslal: 31. prosinec 2013, 20:38:20    Předmět: Odpovědět s citátem

zkus posledni snapshot SDL2 http://www.libsdl.org/tmp/SDL-2.0.zip
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
frca



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

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

Díval jsem se do logu repozitáře SDL a žádný související bugfix tam není, takže to nemá smysl zkoušet.
_________________
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: 1. leden 2014, 16:09:47    Předmět: Odpovědět s citátem

Není core profile k dispozici až od verze 3.2?
_________________
https://www.bluepulsar.cz/
https://twitter.com/11thDream_Game/
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
frca



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

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

Jo, resp. záleží na dostupnosti rozšíření WGL_ARB_create_context_profile, viz např. http://www.opengl.org/registry/specs/ARB/wgl_create_context.txt
Pro verzi 3.0 jsem odstranil následující kód (problém ve windows jsem tím opravil):
kód:
    SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS, SDL_GL_CONTEXT_FORWARD_COMPATIBLE_FLAG);
    SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);


Nicméně v linuxu na Intelu (což je můj základní problém) to nepomohlo, selhává funkce glXCreateContextAttribs s následujícími chybovými kódy:
kód:
error_code   1   
request_code   154   
minor_code   34

_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
frca



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

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

Tento nejzákladnější příklad taky funguje divně http://www.opengl.org/wiki/Tutorial:_OpenGL_3.0_Context_Creation_%28GLX%29

Tady je výstup:
Getting matching framebuffer configs
Found 4 matching FB configs.
Getting XVisualInfos
Matching fbconfig 0, visual ID 0x21: SAMPLE_BUFFERS = 0, SAMPLES = 0
Matching fbconfig 1, visual ID 0x60: SAMPLE_BUFFERS = 0, SAMPLES = 0
Matching fbconfig 2, visual ID 0x9d: SAMPLE_BUFFERS = 0, SAMPLES = 0
Matching fbconfig 3, visual ID 0x9e: SAMPLE_BUFFERS = 0, SAMPLES = 0
Chosen visual ID = 0x21
Creating colormap
Creating window
Mapping window
glXCreateContextAttribsARB() not found ... using old-style GLX context
Direct GLX rendering context obtained
Making context current

A tady ještě výstup z glxinfo:
http://nopaste.ceske-hry.cz/223559
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Ladis



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

PříspěvekZaslal: 1. leden 2014, 20:06:42    Předmět: Odpovědět s citátem

Existuje vůbec nějaký způsob, ve kterém funguje glXCreateContextAttribsARB() na Intelu v Linuxu? Na to bych se zaměřil první (abys zbytečně neztrácel čas, pokud tam skutečně nejede). Pak přinejhorším můžeš mít správnou codepath, a když chyba -a- Intel, tak zkusit tu, která na něm funguje, ale není "čistá".
_________________
Award-winning game developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
frca



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

PříspěvekZaslal: 1. leden 2014, 23:44:36    Předmět: Odpovědět s citátem

Dobrá myšlenka, díky. Už to nějak funguje, teď zbývá odladit (nejspíš) shadery Smile
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
frca



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

PříspěvekZaslal: 2. leden 2014, 01:47:34    Předmět: Odpovědět s citátem

Objevil se další problém, který s předchozím souvisí pouze tím, že se projevuje na uvedeném Intel ovladači. Textury fungují pouze v případě, že se po glTexImage2D (resp. 1D) zavolá glGenerateMipmap. V opačném případě jsou černé. Při vykreslování používám sampler objekty a nastavení mipmap funguje. Problém je, že tam, kde nejsou potřeba, se zbytečně plýtvá pamětí. Takže je to dobré jenom jako hotfix.
_________________
www.FRANTICWARE.com
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: 2. leden 2014, 10:52:30    Předmět: Odpovědět s citátem

Na Intel kartách je toho strašně moc rozbitého. O tom bych Ti mohl vyprávět, když jsem dával dohromady engine. Jeho vývoj se mi protáhl o strašně moc dlouho jen proto, že jsem ho chtěl odladit tak, aby běžel v pořádku i na Intelu (neboť jí mám v notesu).
Možná bych zkusil pohledat, jestli neexistují nějaké neoficiální drivery. Když jsem dělal bakalářku, tak moje aplikace vykazovala podivnou vlastnost. Po spuštění mi program renderoval ve viewportu cca kolem 500 FpS, ale jakmile jsem zahýbal s oknem (změnil rozměry, změnil pozici, atp.), tak FpS kleslo na 20, ať už se něco renderovalo nebo ne. Pak jsem našel neoficiální drivery (aktuální) a přestalo to dělat.
Čeho jsem si ještě třeba všiml na Intelu je to, že když chceš pomocí glClear mazat FBO, který má větší rozměry, než rozměry obrazovky (viewport na to neměl vliv), tak smaže jen tu část, která padne na velikost obrazovky. To bohužel nedokázal spravit ani neoficiální driver, takže jsem pak musel napsat vlastní alternativní Clear.

Dělat něco na Intel grafikách je zlo... o to je to větší zlo, když tam chceš dělat vyšší OpenGL než 2.0...

S generování mipmap jsem měl také problémy, když jsem se snažil použít funkci glGenerateMipmap (řešením bylo opět vlastní výpočet mipmap). Ale u mě to nedělo problémy, když jsem mipmapy negeneroval vůbec, tak jako ve Tvém případě...
_________________
Opravdovost se pojí s trýzní...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
frca



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

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

Z pohledu vývojáře je asi nejlepší AMD, kde funguje, co má, a nefunguje, co nemá (oproti nvidii, kde funguje i to, co nemá, a intelu, kde nefunguje to, co má). Aspoň takový je můj pocit ze zdejších diskusí.
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
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