dev.gamez.lv Forum Index dev.gamez.lv
Latvian Game Developers Community
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups 

Diena (2008.08.11), kad nomira OpenGL...

 
dev.gamez.lv Forum Index -> OpenGL
View previous topic :: View next topic  
Author Message
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Mon Aug 11, 2008 10:29 pm    Post subject: Diena (2008.08.11), kad nomira OpenGL...

Topika nosaukums ir drusku pārspīlēts, bet sava daļa taisnības tajā ir.
Īsi par to, ko vēlos pateikt - ir iznācis OpenGL 3.0 (visu tekstu šajā linkā lūdzams neuztvert nopietni - tas ir mārketinga cilvēku rakstīts).
Specifikāciju OpenGL 3.0 var palasīt šeit: http://www.opengl.org/registry/doc/glspec30.20080811.pdf
Un jauno GLSL 1.3 specifikāciju šeit: http://www.opengl.org/registry/doc/GLSLangSpec.Full.1.30.08.pdf
Draiverus, kas supportē OGL3, ATI un NVIDIA solās uztaisīt septembrī.

Taču lai saprastu kāpēc tāds topika virsraksts, man vajag uzrakstīt drusku pagarāku tekstu no OpenGL vēstures.

2006. gadā, kad aptuveni jau bija skaidras Direct3D10 iespējas ar visiem tā plusiem un mīnusiem, bija arī skaidrs, ka OpenGL ir lielas iespējas kļūt nozīmīgākam un lietojamākam spēļu izstrādāju vidū. Tas dēļ tā, ka Direct3D10 ir pieejams tikai Vistā, taču daudzi developeri vēl netaisījās un netaisās atmest WinXP kā spēļu platformu. Ja OpenGL spētu nodrošināt atbilstošu API jaunākajām hardwares iespējām, tad tam būtu visai lielas cerības kļūt par daudz plašāk lietotu API geimdeveloperu vidē.

Tika izstrādāts iespējamais API izskats un iespējas, par kurām var palastīt tā laika un drusku vēlākajos OpenGL Pipeline Newsletter'os:
http://www.opengl.org/pipeline/article/vol002_3/
http://www.opengl.org/pipeline/article/vol003_1/
http://www.opengl.org/pipeline/article/vol003_4/

Galvenās iespējas, kas tika solītas un sadarbībā ar OpenGL community izplānotas ir aptuveni sekojošas:
  • Satīrīt API un izmest vecas un neviena nelietotas funkcijas/iespējas ārā (glPolygonStipple un tml), kā arī izmest deprecated fīčas (immediate modi, listus un tml).
  • Padarīt API daudz atbilstošāku hardwarei tādējādi atvieglojot draiveru rakstītāju darbu (respektīvu - mazāk bugaini draiveri)
  • Ļaut rīkoties ar objektiem nebindojot tos - kods daudz smukāks un efektīvāks
  • Dot iespēju uzzināt vai izveidotie objekti (tekstūras, šeideri, freimbuferi, ...) tiks darbināti hardwarē (fast-path) jeb software emulācijā (ja hardware tādu iespēju neatbalsta). Šis ir diezgan svarīgi. Visvairāk šajā ziņā patreizējā GL2 grēko ATI - pamēģiniet uztaisīt tekstūru ar ne-2-pakāpes izmēriem un ieslēgt mipmapingu un bilineāro filtrāciju. 1 fps grantēts. Kaut arī GL2 standarts nosaka, ka ne-2-pakāpes izmēra tekstūras ir jāatbalsta ne sliktāk par 2-pakāpes izmēra teksūrām.
  • Viena no visgaidāmākajām fīčām - SM4 iespējas (ģeometrijas šeideri, integer tekstūras, utml)
  • Immutable state objekti (līdzīgi kā ID3D10RasterizerState, ID3D10DepthStencilState, ID3D10BlendState un tml ) - dikti atvieglotu render-stāvokļu uzstādīšanu un lietošanu.
un citas tml fīčas, kas API padarītu ērtāku un efektīvāk lietojamu! Gan gala lietotājiem (tb mums kā spēļu developeriem), gan arī draiveru developeriem (nvidia'i, ati, intel'im, ...)

Viss šis tika solīts uz 2007. gada martu (ja nemaldos). Martam pienākot bija klusums no Khronos'a (OpenGL API bīdītājiem). Tika pateikts tik vien, ka izstrādātajā API ir problēmas, un tā izlaišana tiek atlikta uz nenoteiktu laiku. Turpmāko gandrīz pusotru gadu bija pilnīgs klusums no Khronos'a. Netika publicēti pilnīgi nekāda informācija par statusu, progresu un plāniem. Tika dzirdētas baumas sākot no Microsoft iejaukšanās OpenGL API veidotāju grupā un apzināta API izlaišanas bremzēšanas līdz pat tādām kā iekšēji strīdi pašā Khronos'ā starp API izstrādātājiem. Lieki teikt, ka neviena no baumām netika apstiprināta.

Informācija, kas pa to laiku tika padarīta zināma, bija neoficiāls paziņojums no viena no Khronosa darbiniekiem (cik es sapratu), ka pie API tiek aktīvi strādāts un viss būs.

Pirms ~mēneša tika beidzot oficiāli padota ziņa, ka jaunais OpenGL standarts tiks darīts pieejams patreiz notiekošajā SIGGRAPH 2008 konferencē (13. augustā). Mums par laimi (vai nelaimi) GL3 standarts ticis publiskots šodien. Un ja likās, ka klusums iepriekšējā gada laikā ir liela vilšanās, tad vajag tikai uzmest aci uz jauno specifikāciju... To apskatot var secināt - maigi sakot OpenGL communitijam ticis pateikts ejiet dēt un API ir ticis uztaisīts pilnīgi pretstatā solītajam un gaidītajam.

Pirmām kārtām - API palicis tāds pat vien kā agrāk, viss atšķirīgais no GL2 standarta ir tik vien kā dažu paplašinājumu padarīšana par core fīčām (tb obligātiem). No vienkāršota API ne miņas. No fast-path noteikšanas ne miņas. No ģeometrijas šeideriem - ne miņas. Īsāk sakot īsti nav skaidrs, ko šie ir darījuši pēdējos 2 gadus. API praktiski ir nemainījies. Viss pa vecam - joprojām jālādē kaudze paplašinājumu, lai izdarītu ko sakarīgu. Pus-neoficiālais attaisnojums, kas ticis dzirdēts, ir tāds, ka CAD programmatūras izstrādātāji esot bijuši pret radikālām izmaiņām, jo nevēlas portēt savu veco codebase uz jauno API.

Vissmieklīgāk ir tas, ka Khronos sola iepriekš solītās iespējas pēc viena gada. Tas jau atgādina Buša izteicienu: "Fool me once, shame on...shame on you. Fool me...you can't get fooled again". Ja arī pat notiktu brīnums un pēc gada tiešām tiku pasniegts jauns spīdošs API uz paplātes, tas jau būtu sen kā par vēlu - Microsoft'am tai laikā jau būs DX11 API izlaists un jaunas fīčas un hardwares iespējas kārtējo reizi būs lielus soļus priekš OpenGL3 versijai.

No labajām ziņām - ir jau šis tas noderīgs ieviests GL3 versijā. Daži no jaunumiem: freimbuferi (ar visu multisamplingu un blit) padarīti par obligātiem. GLSL'ā atļautas integer operācijas, tekstūru masīvi. Packed depth/stencil formāts. Transform feedback. Tātad šis tas no SM4 tomēr ir. Vēl jo vairāk, parādījušies daži jauni paplašinājumi, kas tomēr dos iespēju pilnvērtīgi izmantot visas SM4 iespējas (http://www.opengl.org/registry/ Nr 47. GL_ARB_geometry_shader4 un uz leju līdz 55.)

Bet anyway - 2 gadi un šis ir tas, ko mēs sagaidām... Es esmu sašutis! Šeit varat palasīt paši, cik cilvēki ir sašutuši par to:
http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=243241&fpart=1
http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=243138#Post243138 (jālasa no 154.lpp vidus)
http://www.gamedev.net/community/forums/topic.asp?topic_id=504547

Kā daudzi tagad runā - 3.0 versijas numurs nemaz nepiestāv izlaistajai specifikācijai. Drīzāk 2.2 būtu piemērotāks. Tas atgādina līdzīgu situāciju, kad tikai izveidota OpenGL 2.0 specifikācijas. Reāli tikai 1.5 versijai pielikts klāt GLSL (+/- 4 paplašinājumi) un tad nosaukts par 2.0. Daudzi jau tolaik teica, ka piemērotāk būtu bijis 1.6.

Un nav tā, ka tikai indie developeri ir neapmierināti. Iepriekš minētajā saitēs var izlasīt, ka arī AAA geimdevā iesaistīti cilvēki ir visai neapmierināti ar radušos situāciju. Khronos'am bija patiešām liela iespēja radīt atvērtu, modernu, cross-platform (Windows/Linux/MacOSX) spēļu grafikas API, kas būtu spēcīgs konkurents patreiz esošajam Direct3D10. Taču ar šo gājienu viņi tā jau pussprāgušo OpenGL ir iedzinuši vēl lielākā bedrē. Mikrosofts ir uzvarējis. Turpmāk uz jautājumu, kas labāks OpenGL vai Direct3D, atbilde būs viennozīmīga ;)

Parastam OpenGL programmētājam-iesācējam gan visdrīzāk viss šeit uzrakstītais neko daudz nemaina. Ja vajag pārdesmit poligonus dabūt uz ekrāna, tad arī vecumvecā immediate mode ir pilnīgi pietiekoša. Un tāpat iesācējs neko par ģeometrijas šeideriem, vertex buffer objektiem un freimbuferiem nezin un labu laiku vēl neiemācās. Bet tomēr... žēl, ka OpenGL nespēj turēt līdzi videokaršu hardwares iespējām.

Personīgi es turpmākās pāris nedēļas pavēršu situāciju šajā jomā, un ja Khronos neņems vērā community kritiku un nekas nemainīsies, tad nopietni apsveršu GL pamešanu saviem softeļiem un pāriešanu uz Vista & DX10 only.

Vēl arī jāpagaida 13. datums (trešdiena), kad SIGGRAPH konferencē noritēs oficiālās OpenGL 3.0 prezentācijas un plāni. Iespējams, ka tur tiks dzirdēts daudz pamatotāks oficiālais viedoklis par šo visu.

P.S. Lūdzu nepārvērst topiku par D3D vs OGL vai Windows rullz, Linux sux topiku. Šajā foruma sadaļā un it sevišķi šajā topikā runa ir par OpenGL.
Back to top
View user's profile Send e-mail
Storm



Joined: 11 Apr 2006
Posts: 742

PostPosted: Tue Aug 12, 2008 12:10 pm    Post subject:

Yup, DirectX ftw. BET, es gan neizprotu kaada tur lielaa breeka atskaitot to ka nav DX uz linux masiinaam (kuras taa pat parasti pilda serveru lomas). Viss tas api ir pietiekami viegli un aatri apguustams in-the-fly. Manupraat no developera puses (it sevikski jauno) radiisies viens jautaajums (gribot 4.0 modeli) - DX vai OGL. Un atbildi faktiski vareetu noteikt nevis tas ka ogl neatbalsta (jo uz veelaku laiku iespeejams tomeer viss tiks izstraadaats), bet tas ka nav codebase(like kaads iemet jaunajam censojam kaudzi ar DX10(11) saitaam un par OGL... "we are just starting to get using it") Guess ko vins izveeleesies... Jau sobriid next-gen veidojaas uz DX jo vnk OGL platformaa nav no kaa...
_________________
Izraadaas ka dazu dev.gamez.lv lietotaaju absurdaa ignorance meedz eksisteet arii augstaakas paakaapees : http://www.gamedev.net/community/forums/topic.asp?topic_id=411552
Back to top
View user's profile
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Tue Aug 12, 2008 12:22 pm    Post subject:

Nu nevajag gan par tām tavām "saitām". Nvidiai ir sakarīgi piemēri: http://developer.download.nvidia.com/SDK/10/opengl/samples.html Vairums no tiem ar nelielām izmaiņām darbosies arī ar GL3 core. Pārējie no tiem ar ARB paplašinājumiem. Arī sampļi no Cg toolkita ir vērā ņemami.

Quote:
Jau sobriid next-gen veidojaas uz DX jo vnk OGL platformaa nav no kaa...

Par to jau viss mans posts iepriekš bija. Ka OpenGL 3.0 bija lieliska iespēja kļūt par tādu (un tika solīts, ka tā arī tas notiks iepriekšējo 2 gadu laikā). Bet Khronos šo iespēju patlaban izskatās ka nolaida podā..
Back to top
View user's profile Send e-mail
Storm



Joined: 11 Apr 2006
Posts: 742

PostPosted: Tue Aug 12, 2008 12:27 pm    Post subject:

Es nesaprotu kas par lietu... Kapeec microsoft vareeja vispaar veesaa mieraa nomest fixed function nost (un pareizi dariija) Bet ogl 3 jaasaglabaa vesela kaudz ar - man pat bail domaat kura gada - "fiicaam" ? Gan jau ka tie autodesks noblekjoja :lol:

Hell 26 augustaa mees, multicore laikmetaa, izdzirdeesim vaardus no microsoft. DX11 as it is un more important - multithreaded rendering.
_________________
Izraadaas ka dazu dev.gamez.lv lietotaaju absurdaa ignorance meedz eksisteet arii augstaakas paakaapees : http://www.gamedev.net/community/forums/topic.asp?topic_id=411552
Back to top
View user's profile
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Tue Aug 12, 2008 1:56 pm    Post subject:

Es tač lūdzu nepārvērst šo topiku par fleimu par d3d... Visi, Storm, zina, ka tu esi DX fans. Nevajag to bāzt šajā topikā lūdzams. Un vēl jo vairāk par DirectX, jo tas ir pavisam kas daudz vairāk nekā tīrs grafikas API.
Back to top
View user's profile Send e-mail
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Thu Aug 14, 2008 9:01 am    Post subject:

Hm, vakar SIGGRAPH'ā Nvidia esot anouncējusi, ka GL3 draiveris (beta stadijā) ir jau pieejams: http://developer.nvidia.com/object/opengl_3_driver.html

No supportētajām fīčām viss, kas atbilst jaunākajai hardwarei (SM4), tur ir iekšā. Gan jau līdz final versijai šie paspēs uztaisīt vienu no galvenākajām fīčām - "Forward-compatible context" (tas, kas aprakstīta Appendix E GL3 specifikācijā). Eneiblojot šo kontekstu, visas deprecated fīčas tiks diseiblotas. Rerespektīvi - visas FFP un daudzas citas nevajadzīgas fjas (sīkāks uzskaitījums ir Appendix'Ā E). Ja vendori vēl būs speciāli piestrādājuši pie šī forward konteksta optimizēšanas, tad varam arī sagaidīt labāku performanci!

Ja vēl tagad ATI arī saņemtos un updeitotu savu draivier ar šiem pašiem ARB paplašinajumiem, tad OpenGL nākotne neizskatās tik traki. Jā - diemžēl netika sagaidīts jauns un modernāks API, bet nu fīču ziņā palaban izskatās, ka OGL neatpaliks no D3D10. Tb īpaši labāk (kā tika gaidīts) nekas nepalika, bet nu baisi sliktāk, kā pirmajā brīdī šķita, arī ne...

(žēl, ka man ir ATI videokarte, nesanāks tagad vēl kādu laiku paspēlēties ar GL3 ;)
Back to top
View user's profile Send e-mail
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Thu Sep 18, 2008 12:08 pm    Post subject:

Beidzot arī ATI ir pacenties un upgreidojis savu draiveri, lai varētu izmanto grafikas karšu fīčas, kas pieejamas jau aptuveni 2 gadus.
http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=245984
Nav tur vēl pilns OGL3 supports, bet nu tuvu tam ir. Vairs jau nebūs tik ilgi jāgaida.
Back to top
View user's profile Send e-mail
kovacs
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 16 Mar 2007
Posts: 51

PostPosted: Thu Sep 18, 2008 12:22 pm    Post subject:

Nezinu vai esat lasījuši, bet imo visai reāls scenārijs par nākotni turpmāko dažu gadu perspektīvā:

http://arstechnica.com/articles/paedia/gpu-sweeney-interview.ars
Back to top
View user's profile
snake5
Indago dalībnieks
Indago dalībnieks


Joined: 27 Jun 2007
Posts: 2590

PostPosted: Thu Sep 18, 2008 2:40 pm    Post subject:

man izskatās pēc tā paša, kas notiek ar web browseriem.
vajadzēs, lai strādā ar vienu un otru, un trešo..
un vēl kādu pašmāju videokarti ar īpašu draiveri un speciālu grafikas API, ja tas nebeigsies :D

kur jēga?
videokartes jau itkā priekš spēlēm domātas.. nevis spēles priekš videokartēm.. wtf?
_________________
"There are two choices here: "looks good" and "realism"." -- Paul Nettle
Back to top
View user's profile Visit poster's website
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Thu Sep 18, 2008 5:09 pm    Post subject:

Ar OpenGL tas nevis notiek, bet ir jau sen noticis. Kopš pašiem pirmsākumiem. Palasi, ko Karmaks saka par Q3 un par fast-path renderingu.
Taču ar Direct3D gan tā nenotiek. Ir konkrēti šeideru modeļi un ir konkrētas tiem atbilstošās DirectX versijas.
A par Larabee var vēl ilgu laiku neuztraukties. Gadus 5 vismaz.
Back to top
View user's profile Send e-mail
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Wed Dec 17, 2008 11:29 am    Post subject:

Nvidia vakar oficiāli izlaida pilnvērtīgu OpenGL 3.0 draiveri: http://developer.nvidia.com/object/opengl_3_driver.html
ATI pēdējās draiveru versijās jau tuvojas OGL3 supportam, bet vēl nav līdz galam viss uztaisīts.

Jāņem vērā, ka OpenGL 3.0 supports būs pieejams tikai uz DX10 sērijas hardwarēm (t.i. GF8 un Radeon HDx un uz augšu), kas sākumā varbūt nebija gluži acīmredzami. Savā ziņā tas ir pat apsveicami - vismaz varēs orientēties tāpat kā DX'ā uz konkrētām videokartes iespējām, nevis pārbaudīt vai miljons un viens extensions ir supportēts vai nav. Atliks tik pārbaudīt/pieprasīt konkrētu OGL versiju un ja ir 3.0 vai > tad ir zināms, ka ir SM4 klases videokarte.
Back to top
View user's profile Send e-mail
Display posts from previous:   
dev.gamez.lv Forum Index -> OpenGL All times are GMT + 2 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group