[ BackoSoft @ 18.12.2008. 13:29 ] @
Direct x ili OpenGL

[Ovu poruku je menjao BackoSoft dana 19.12.2008. u 11:41 GMT+1]
[ MarkoBalkan @ 30.03.2009. 21:14 ] @
OpenGl
[ reject @ 31.03.2009. 10:45 ] @
Zavisi sta hoces da radis. Pogledaj malo po forumu i googlu.
Mozda bi moderatori mogli i da ubiju temu jel si pitao apsolutno
nedefinisano pitanje "dal je bolji som il' saran".
[ component @ 31.03.2009. 11:41 ] @
DirectX OR OpenGL = TRUE

[ Filip Strugar @ 03.04.2009. 13:29 ] @
Citat:
reject: Zavisi sta hoces da radis. Pogledaj malo po forumu i googlu.
Mozda bi moderatori mogli i da ubiju temu jel si pitao apsolutno
nedefinisano pitanje "dal je bolji som il' saran".

som!
[ reject @ 04.04.2009. 13:05 ] @
saran!
[ Filip Strugar @ 04.04.2009. 18:11 ] @
som!
[ DjoleReject @ 04.04.2009. 18:48 ] @
Odgovor je DirectX, zato sto OpenGL nemam pojma.
Sto se tice rejectove dileme, jasno je da se radi o trik pitanju jer je tacan odgovor smudj.
Jos nesto?
[ component @ 05.04.2009. 10:19 ] @
Koliko se razumem DirectX u sebi sadrži DirectDraw, Direct3D, DirectSound, DirectPlay, DirectInput i verovatno još nešto. Sve što ti treba za jedan multimedijalni softver odnosno igricu. Problem je što je Microsoft-ova tehnologija i ako hoćeš da tvoj program radi samo na Windows-u samo napred.
OpenGL je otvorena biblioteka za rad sa grafikom (samo sa grafikom, nije za zvuk, džojstike itd.). Dobra stvar je što lako moežeš prebaciti aplikaciju da radi recimo za Linux.
Nekada davno sam imao istu dilemu i probao sam da radim u DirectX-u i OpenGL-u i ovaj drugi mi je nakako bio razumljiviji i lakši. Ali to je bilo davno, a sada je aktuelna verzija 10 za DirectX i ne znam šta se sve izdešavalo.
Probaj pa odluči.
[ DjoleReject @ 05.04.2009. 13:55 ] @
Citat:
component: Koliko se razumem DirectX u sebi sadrži DirectDraw, Direct3D, DirectSound, DirectPlay, DirectInput i verovatno još nešto.


Ono sto se Backo verovatno pitao je Direct3D ili OpenGL.

DirectDraw - Microsoft ga ubio (drze ga samo zbog kompatibilnosti). Za 2D crtanje se preporucuju quadovi sa teksturama.
DirectSound - neovisan. Ako koristite "Open" ekvivalent DirectSound-u, uzecete OpenAL. Na Windowsu se kao device koristi upravo DirectSound Device. Cini mi se da kako god okrenes, na kraju zavrsis koristeci DirectSound za bilo koju komplikovaniju stvar vezanu za zvuk (samo je pitanje da li si toga svestan ili ne).
DirectPlay - umrezavanje. Nisam koristio, pa da ne trucam...
DirectInput - Microsoft se lagano odmice od njega i preporucuje Message Loop, kao u klasicnim win aplikacijama. Koristio sam ga i mislim da je jako zgodan i da je to steta. Ali... vezi konja gde ti gazda kaze.

E, sve ovo su stvari koje mogu da ti odgovaraju ili ne i koje ti resavaju problem ili ne, ali fora je sto to ne treba da te rukovodi kad se odlucujes kako ces crtati 3D grafiku. Ja bih uvek radije doneo odluku o svim ostalim stvarima nakon sto sam odlucio Direct3D ili OpenGL. Ako ne zelis da budes vezan za Win, odluka je jednostavna, u svim ostalim slucajevima moras da izvazes za sebe.

Ovo sto cu sad reci je skroz lican stav, pa da se ne bacamo mnogo u vatru oko njega:

DirectX je mnogo bolji, ako ni zbog cega drugog, jer ima ozbiljnu podrsku. Recimo, kad naletis na neku funkciju koja ti je problematicna, ukucas u gugl i prva stranica je MSDN. Tamo imas objasnjenje za sve argumente koji dolaze u funkciju, sta funkcija vraca, cemu sluzi i (najcesce) primere na raznim jezicima u kojima se koristi. Kod OpenGL-a ti se cesto desi da imas neki problem, a jedino resenje ces naci na forumima na kojima se gomile retarada mesaju s ljudima koji stvarno znaju o cemu pricaju. Znaci, moras da pratis nekakve rasprave i flejmove gde se neki ljudi dogovaraju sta je sta. To je veliko cimanje...
Samo da napomenem da ovo sto sam rekao mozda i nije tacno, mozda postoji neka bolja podrska za OpenGL koje ja nisam svestan, jer sam s njim upoznat dosta povrsno, ali skoro je garantovano da ta podrska nije na nivou Microsoftove.
[ Filip Strugar @ 07.04.2009. 13:24 ] @
Citat:

Ovo je dobar odgovor.

Evo da dodam:
Ako si pocetnik, i ne smeta ti da ti program/igra/demo radi samo na windowsu, najlakse ti je da koristis DirectX i krenes tako sto uzmes neki od prostih primera iz SDK-a, koristis DirectX9 interfejse (radi kompatibilnosti i jednostavnosti) i modifikujes ga u ono sto ti treba. Imas podrsku za raznorazne sitnice, bolji debugging, bolju dokumentaciju i jednostavnije je i brze nego da kreces sa nekim od OpenGL toolkit-ova pa da onda na pola projekta skontas da ti, na primer, lupam, fali podrska za crtanje unicode teksta (npr zbog cirilice) i da moras da se zezas jos tolko da bi to dobio.
DirectX je takodje logicniji i jednostavniji za rad (mada je to mozda stvar navike), HLSL je za nijansu bolji od GLSL-a, DirectX se vise koristi, itd itd.

Sa druge strane, OpenGL je portabilan, i mozda malo jednostavniji za pocetak.

A na kraju krajeva, nije toliko ni bitno, to je samo tvoja veza izmedju tvog programa i graficke, radices iste stvari samo na malo drukciji nacin.


I, naravno, pitanje 'Direct x ili OpenGL' bez konteksta je besmisleno, zato smo se i zajebavali par prethodnih poruka... :)
[ reject @ 07.04.2009. 22:31 ] @
Citat:
Filip Strugar:pa da onda na pola projekta skontas da ti, na primer, lupam, fali podrska za crtanje unicode teksta (npr zbog cirilice) i da moras da se zezas jos tolko da bi to dobio.

Bas kad si to pomenuo, skoro je Djole radio jedan zanimljiv projekat na kome se (negde na pola rada)
postavio zahtev da sve mora biti cirilica. Da je krenuo sa openGL-om verovatno bi se mnogo smorio u
tom trenutku. Ovako se smorio znacajno manje.

E, nismo pomenuli, mada je ocigledno, xbox/360 = directx.
[ NemesisMMX @ 08.04.2009. 08:03 ] @
Sto se mojih iskustava tice DirectX, daleko ti lepa kuca. Ako hoces da pravis igricu onda moza da prodje, ali ako ako pravis iole zahtevniju aplikaciju, koja ce uz 3D interfejs jos nesto da radi pored, zaobidji ga. Sta reci o engine-u koji ti sitemski postavi SINGLE procesorsku preciznost bez pitanja, obavestenja ili upozorenja? Takvo ponasanje bilo cega sto pretenduje da bude ozbiljna stvar je prosto nedopustivo. To moze da padne na pamet samo Microsoft-u. Pa kada vidis da mogu tak nesto da urade onda pocnes da se pitas sta su jos sjebali a da ti to ne znas. Uostalom, nijedan program koji koristi 3D interfejs ne koristi DirectX po default-u, niti CAD programi niti programi za 3D modelovanje. Svi se baziraju na openGL...
[ Filip Strugar @ 08.04.2009. 20:11 ] @
Citat:
NemesisMMX: Sto se mojih iskustava tice DirectX, daleko ti lepa kuca. Ako hoces da pravis igricu onda moza da prodje, ali ako ako pravis iole zahtevniju aplikaciju, koja ce uz 3D interfejs jos nesto da radi pored, zaobidji ga. Sta reci o engine-u koji ti sitemski postavi SINGLE procesorsku preciznost bez pitanja, obavestenja ili upozorenja? Takvo ponasanje bilo cega sto pretenduje da bude ozbiljna stvar je prosto nedopustivo.

Ocigledno da tvoja iskustva sa DirectX-om nisu preterano opsirna ;) posto da si progooglao par minuta pronasao bi da se to spreciava koriscenjem D3DCREATE_FPU_PRESERVE flag-a kod kreiranja Direct3D divajsa (sto je i lepo dokumentovano u MSDN-u) :)
Mada se slazem sa time da to sto taj flag nije default je malo (mnogo) blesavo - i ja sam jednom izgubio zivce dok nisam skontao u cemu je stos jer naravno nisam procitao i zapamtio svaki parametar za kreiranje device-a...

Citat:
NemesisMMX: Pa kada vidis da mogu tak nesto da urade onda pocnes da se pitas sta su jos sjebali a da ti to ne znas. Uostalom, nijedan program koji koristi 3D interfejs ne koristi DirectX po default-u, niti CAD programi niti programi za 3D modelovanje. Svi se baziraju na openGL...

Cesto takve aplikacije imaju drajvere i za DirectX i za OpenGL jer se desava da u zavisnosti od grafickih kartica, device drajvera, korisnikovih potreba, itd, jedan ili drugi ponekad rade bolje. Slazem se sasvim da je OpenGL bolji (sigurniji) izbor za tako nesto.

Zato i kazem da je pitanje besmisleno jer nije rekao za sta mu treba - ako hoce da pravi softver koji ce mozda nekad raditi i na non-windows platformama onda je najlogicnije da za to koristi OpenGL. Ako hoce da pravi igre - kako stvari trenutno stoje - DirectX je jedini smisleni izbor.

[Ovu poruku je menjao Filip Strugar dana 08.04.2009. u 21:33 GMT+1]
[ Filip Strugar @ 08.04.2009. 20:38 ] @
Citat:
reject:E, nismo pomenuli, mada je ocigledno, xbox/360 = directx.

I PS3 == OpenGL ;)

Mada pazi tu razlike izmedju DirectX/OpenGL-a i nisu toliko velike, jer se sve ionako radi na skoro isti nacin (vertex bafer, index bafer, shejderi, crtaj - sto je zapravo blize DirectX-u nego OpenGL-u). Vece su razlike u samim grafickim kartama na konzolama (i ostatku hardvera) i u tome sta i kako mozes sa njima.
[ NemesisMMX @ 09.04.2009. 10:09 ] @
Ja nisam rekao da ne moze da se postavi flag pa da radi kako treba.
Jer da stvarno ne moze, onda bi bas bilo jadno. Moj komentar se
odnosio na default podesavanja. A sto se MSD-a tice to ja kao da su
postavili obavestenje na Alpha Centaury-ju. Mi smo dane izgubili dok
nismo shvatili o cemu se radi, jer nije radio kod koji blage veze nema
sa DirectX-om pa smo, naravno trazili bug tamo. Nikome nije palo na
pamet da directX moze nesto tako da uradi sistemu. Naravno, nekako smo
se iskobeljali iz toga, ali ostala je ruzna uspomena :)
[ DjoleReject @ 09.04.2009. 10:51 ] @
Citat:
NemesisMMX:A sto se MSD-a tice to ja kao da su
postavili obavestenje na Alpha Centaury-ju.


Moram ti reci da te ne kontam u vezi ovoga. Na stranu pitanje da li je bolje da default opcija bude ovakva ili onakva, ali ja ne vidim kako drukcije da se sredi da korisnik bude obavesten o tome.
Svaki flag je objasnjen u sitna crevca i sve to na jednom istom mestu, pa bih ja da upadnem u takav problem lupio prvo sebe po celu, a ne Bilija. :)

A sto se tice softvera koji imaju 3D prikaz kao jedan svoj deo (CAD, modelovanje...) ja bih ipak pre pomislio da je OGL prvi pik zbog portabilnosti, a ne nekog nespornog kvaliteta. Uostalom, rekao bih da je to potpuno nebitno kad je cest slucaj da jednostavno mozes izabrati kako zelis da renderujes. A u situaciji kad vec imas oba, mislim da bi bilo logicnije odreci se DXa (jer je neportabilan), cime njegovo opstajanje paralelno sa OGLom postaje dokaz da ima nekih prednosti i da postoje situacije u kojima je bolji. Kad kazem bolji, mislim na situaciju izvan igara - u igrama bih rekao da je situacija jasna i da prebrojavanje naslova i zaradjenog novca daje prilicnu prednost DXu.

Inace, mali zakljucak za pokretaca teme:
Kad god dve stvari koje rade isti posao opstaju jedna pored druge, sigurno je da za to postoji razlog. U tim situacijama se oko ovakvih pitanja obicno ukrstaju argumenti korisnika jednog od dva resenja. Dobar nacin za izvlacenje nekakvog zakljucka je da vidis sta tacno oni rade s tom tehnologijom i zasto su se odlucili za nju, pa da vidis sta bi ti radio s njom i shodno tome doneses odluku. Najbolje od svega je sto verovatno neces pogresiti sta god da odlucis...
[ NemesisMMX @ 09.04.2009. 12:24 ] @
Jednostavno, bilo koja opcija koja ( a valjda se zove ocija zato sto
je opciono) bi trebalo da utice na DirectX a ne da brlja po
podesavanjima sistema jer mu tamo nije mesto. Ako hoces da menjas
sistem onda postoje mesto i vreme za to a ne ovako. Da li ja treba da
naucim svaki flag napamet da bi znao sta ce da mi se desi sa
kompjuterom? Program treba da radi samo ono zasta sluzi i svako
brckanje po onome zasta nije specijalizovan se smatra prestupom.
Naravno, MS moze sebi to da dopusti, pa jos i da prica kako je to
pozeljno, ali ja da napravim engine koji ce da radi konverziju valuta
a da pri tom recimo otvorim sve portove na kompu bez znanja korisnika
verovatno bih bio u najmanju ruku popljuvan. I onda treba da se branim
sa recima: Pa ako niste hteli to da se desi mogli ste da podesite flag
u toj i toj funkciji na false... BTW A.Centaury je paralela iz knjige
Autostoperski vodic.
Zamisli kada bi se recimo kada instaliras neki DB server na kompu
automatski setovao CAPS lock, eto zato sto oni vise vole da se tekst
unosi kao velika slova, a pri tom ti nepas pojma o tome.
Ono sto sam ja hteo da kazem sa ovim primerom je: Ako se ne libe da
tako nesto urade sta se jos moze ocekivati tu?


Moje licno misljenje je da DX opstaje zato sto iza njega stoji MS i
sto ulaze silan novac u to. Njihov nacin distribucije DX10 samo
pokazuje dokle su spremni da idu.
[ SashaX @ 09.04.2009. 13:45 ] @
Stvarno sta taj Microsoft hoce od nas. Misle ako imaju vecinu trzista operativnih sistema da mogu da rade sta hoce i da upravljaju nasim zivotima. E ne mogu! Taj bezvezni xbox360 je jos jedan njihov ocajnicki pokusaj da nametnu svoju igru i napune se para, ali nece preko nasih ledja ja im garantujem!
[ reject @ 09.04.2009. 15:33 ] @
Preko nasih ledja sigurno nece posto se ovde u Srbiji prodalo minimalno konzola. :D

Citat:
NemesisMMX:Moje licno misljenje je da DX opstaje zato sto iza njega stoji MS i
sto ulaze silan novac u to.

Upravo tako, kao i sve ostale tehnologije. Zato i jeste odlicna opcija.
[ Filip Strugar @ 10.04.2009. 13:15 ] @
Citat:
NemesisMMX: Jednostavno, bilo koja opcija koja ( a valjda se zove ocija zato sto
je opciono) bi trebalo da utice na DirectX a ne da brlja po
podesavanjima sistema jer mu tamo nije mesto. Ako hoces da menjas
sistem onda postoje mesto i vreme za to a ne ovako. Da li ja treba da
naucim svaki flag napamet da bi znao sta ce da mi se desi sa
kompjuterom? Program treba da radi samo ono zasta sluzi i svako
brckanje po onome zasta nije specijalizovan se smatra prestupom.
Naravno, MS moze sebi to da dopusti, pa jos i da prica kako je to
pozeljno, ali ja da napravim engine koji ce da radi konverziju valuta
a da pri tom recimo otvorim sve portove na kompu bez znanja korisnika
verovatno bih bio u najmanju ruku popljuvan. I onda treba da se branim
sa recima: Pa ako niste hteli to da se desi mogli ste da podesite flag
u toj i toj funkciji na false... BTW A.Centaury je paralela iz knjige
Autostoperski vodic.
Zamisli kada bi se recimo kada instaliras neki DB server na kompu
automatski setovao CAPS lock, eto zato sto oni vise vole da se tekst
unosi kao velika slova, a pri tom ti nepas pojma o tome.

Hej, potpuno si u pravu, apsolutno se slazem sa tobom, to je jedna od glupih stvari koje su uradili. Postoje razlozi za to sto su uradili (npr brzina), i (ocigledni) razlozi protiv, ali da ne ulazimo sad u diskusiju o tome, ko hoce moze da progoogla. Imaj na umu da je DirectX ipak platforma namenjena za igre i multimediju, ne za CAD/CAM i slicno.

Sa druge strane nije to bas toliko katastrofalan problem kao sto ga predstavljas, to je relativno poznata stvar i neko ko ima iole iskustva sa DirectX-om za to zna.
I OpenGL ima svoje quirks, i to, po mom misljenju, mnogo vise njih, pogotovu ako pokusavas da izvuces maximum iz graficke karte.

Citat:
NemesisMMX:Ono sto sam ja hteo da kazem sa ovim primerom je: Ako se ne libe da
tako nesto urade sta se jos moze ocekivati tu?

Znaci ako su napravili jednu glupost, to znaci da je sve sto prave glupost?
Znaci ako bolnica zezne stvar i ubije jednog pacijenta greskom, onda je sve sto radi pogresno i najbolje da kad ti treba operacija ides kod travarke mare?
Takvo uopstavanje bas i nema preterano smisla.

Citat:
NemesisMMXMoje licno misljenje je da DX opstaje zato sto iza njega stoji MS i
sto ulaze silan novac u to. Njihov nacin distribucije DX10 samo
pokazuje dokle su spremni da idu.

Dx opstaje zato sto nema konkurenciju. Nema konkurenciju delom zbog toga sto MS ima monopol, a delom zbog toga sto OpenGL jednostavno ne uspeva da drzi korak, i trenutno (tojest, od izlaska DirectX 9) jednostavno nije konkurentan kad je rec o razvoju igara za Windows.

Ako hoces da pravis demo ili igru za Windows koja ce da koristi bilo koje modernije rendering tehnike, DirectX je mnogo bolji izbor od OpenGL-a, i to je cinjenica, svidelo ti se to ili ne.

Poenta je u tome da sa sto manje zezanja dodjes do resenja. Za to koristis najbolje alatke koje postoje. Ako ti OpenGL vise odgovara jer za to imas konkretne razloge (kao na primer ti) onda super, pametan izbor. Ako pak nekome ideali (tipa microsoft je zli monopolista) uticu na izbor alatke koja na kraju treba da mu zaradi za hleb, onda je taj neko magarac, jer je jedini koga je zajebao upravo sam on.

Ali onda nemoj da uopstavas i savetujes nekoga da koristi OpenGL u svim slucajevima, jer je to jednostavno pogresno. Izbor zavisi od potreba!

Svim ostalim pricama na temu 'zli microsoft monopolista' nisu konstruktivne i ovde im nije mesto. Ne negiram da je MS monopolista i da je monopol losa stvar, (hej, pa zbog cega hrana u srbiji kosta isto kao i hrana u engleskoj?) ali to stvarno nema veze sa ovom temom.



Citat:
SashaX: Stvarno sta taj Microsoft hoce od nas. Misle ako imaju vecinu trzista operativnih sistema da mogu da rade sta hoce i da upravljaju nasim zivotima. E ne mogu! Taj bezvezni xbox360 je jos jedan njihov ocajnicki pokusaj da nametnu svoju igru i napune se para, ali nece preko nasih ledja ja im garantujem!

Ovo se toliko granici sa parodijom tako da ne znam dal' se zajebavas il si ozbiljan :)


[Ovu poruku je menjao Filip Strugar dana 10.04.2009. u 14:38 GMT+1]
[ Filip Strugar @ 10.04.2009. 13:41 ] @
Citat:
DjoleReject:Inace, mali zakljucak za pokretaca teme:
Kad god dve stvari koje rade isti posao opstaju jedna pored druge, sigurno je da za to postoji razlog. U tim situacijama se oko ovakvih pitanja obicno ukrstaju argumenti korisnika jednog od dva resenja. Dobar nacin za izvlacenje nekakvog zakljucka je da vidis sta tacno oni rade s tom tehnologijom i zasto su se odlucili za nju, pa da vidis sta bi ti radio s njom i shodno tome doneses odluku. Najbolje od svega je sto verovatno neces pogresiti sta god da odlucis...


Mudro recheno :)
[ DjoleReject @ 10.04.2009. 20:10 ] @
Citat:
NemesisMMX: Jednostavno, bilo koja opcija koja ( a valjda se zove ocija zato sto
je opciono) bi trebalo da utice na DirectX a ne da brlja po
podesavanjima sistema jer mu tamo nije mesto. Ako hoces da menjas
sistem onda postoje mesto i vreme za to a ne ovako.


Slazem se skroz. Ja da se pitam, postojali bi zakoni protiv raznih Yahoo toolbarova uz instalaciju, Nero otimaca sistema, cackanja po stvarima koje se ne ticu konkretnog programa... Cak mislim da bih otisao toliko daleko i uveo obavezu da jedan program moze da radi samo jednu stvar i da ne dira nista drugo. Za procese koji ostanu posle deinstalacije bih verovatno uveo smrtnu kaznu. I tako... jasno ti je o cemu pricam... Ali sta da se radi, kad je takva tendencija da svako gura nos tamo gde mu nije mesto. Nije da je MS nevin u toj igri, ali nisu bogme ni jedini.

Ono sto sam ti ja zamerio je poredjenje MSDNa sa poplavljenim podrumom na Alfa Kentauriju na cijim vratima pise "cuvaj se leoparda". Kad su vec napravili tako kako su mislili da treba, valjda je logicno da ce objasnjenje staviti tamo gde su stavili sva druga.

Najvaznije u celoj prici je da se poslusa Filipov savet i ne baca u vatru oko DX/OGL dileme. To je pitanje oko koga ne trebaju predrasude, nego dobra analiza problema koji se resava i samim tim ce se nametnuti i resenje.
Pa nismo valjda ko oni Windows / Linux zeloti pa da se opasujemo minama i ubijamo nejac korisnicima drugih sistema
[ vpoqol5 @ 12.04.2009. 11:49 ] @
Ja koristim OpenGL.
Prvo sam počeo učiti DirectX, jer recimo SDK je pun primjera i kao što je rečeno podrška / dokumentacija je nezmanjenjiva.
Kako sam koristio linuxe i općenito preferiram open source naletio sam na nehe.gamedev.net gdje je na isti (meni čak i bolji) način kao i primjeri u dx sdk-u cijela hrpa tutorijala, od početka, otvaranja prozora do zadnjih mogućih efeketa. Tako da je početnik u tom polju mogao vrlo lako da krene sa tim.
Kad sam krenuo, kod mi je bio nevjerojatno lagan, dok mi directx-ov nikako nije legao (mislim da je to bilo vrijeme directx-a 8, a možda i 9 no sumnjam da je neka razlika u samoj sintaksi).
Sam način na koji opengl-ov model funkcionira, sustav "stanja" ili ne znam kako bi bio pravilan opis, je vrlo razumljiv, funkcije koje uključuju ili isključuju određene komponente te se dobije završni efekt (fixni način, sad totalno nepreferiran zbog shadera koji daju da sve radimo po svojoj volji, a i novi model koji je trebao doći u opengl 3.0 ga je trebao zamjeniti, odnosno predstaviti novi, a stari ostaviti zbog kompatibilnosti) i smatram da je to vrlo razumljivo za nekog ko kreće sa tim.
Problem stvaraju na početku mogućnosti integracije, u windowse, linuxe, netko radi kod za oboje, netko se uči sa glutom, no na kraju je ovo prvo glavna opcija, jer glut nema dovoljno funkcija za napredne stvari (tako "svi" kažu, nikad ga nisam nešto koristio). Stvar je u tome da postoji SDL, koji po meni sasvim dostojno zamjenjuje cijeli paket directx-a, i zvuk i input, sve se lijepo intergrira. Kad se jednom lijepo složi kompletan sustav u kojem opengl funkcionira, mislim da djeluje stvarno lijepo i uredno kao i directx, ali eto, ima posla, a ako se programira samo na windowsima, većini nema smisla.
Također ima i SFML, dosta nov, u razvoju, ali također sa podrškom za zvuk, input, mrežu, i mogao bi stvarno dobro poslužiti.
Naravno tako cijela hrpa biblioteka nikom nije lijepa, no zato ja volim opensource, mogućnost izbora svake komponente, a ne pristup ako ti se ne sviđa nemoj koristi (naravno nije takav, ali to skoro znači closed source)

Ovako bih ja sredio lijepo jedan prosječan (besplatan) projekt da sad radim (a i radim) u opengl-u
Visual C++ (Express), općenito visual studio, bez njega nikud
http://www.microsoft.com/express/vc/

SFML (Simple and fast multimeida library) / SDL (Simple DirectMedia Layer) - za naš cijeli managment sustav
http://www.sfml-dev.org/
http://www.libsdl.org/


PhysX / Newton Game Dynamics - Za simulaciju fizike
http://www.nvidia.com/object/nvidia_physx.html
http://www.newtondynamics.com/downloads.html

Anim8or - besplatan program za kreiranje modela, općenito cijelog okruženja
http://www.anim8or.com/main/index.html
liban8 - sitna biblioteka pomoću koje ih jednostavno učitavam u igru
http://texel3d.free.fr/projets/liban8/index.html

Može se uzeti i milkshape 3d - nije besplatan, ali njega sam do sada koristio, trebalo mi je dosta da izvedem kod koji učitava animaciju
i texture, odnosno sve što se napravi u programu da se učita u igru, no to zbog korištenja njihove biblioteke funkcionira samo na win sustavu,
a inaće imaju kodovi koji učitavaju sve no bez animacije
http://chumbalum.swissquake.ch/

GLGX - nasuprot D3DX, nije nešto potrebno niti toliko napredno al da se spomene
http://texel3d.free.fr/projets/glgx/

Eto, tako postoji cijela hrpa opensource biblioteka a na vama je da je koristite, ja sam inaće sam sve programirao, znači bez ijedne ove biblioteke, za zvuk koristio openal i za modele milkshape 3d, fiziku/collison detection sam radio no zato danas imamo ovakve stvari.

To bi bila moja dva dinara :D

Lp
[ Filip Strugar @ 14.04.2009. 13:32 ] @
Citat:
vpoqol5:... To bi bila moja dva dinara :D

Hej, to su korisne informacije!

Jedno malo pitanje - ako vec preferiras open source / free libraries, zasto preporucujes Newton Game Dynamics i PhysX, kada su oba closed i proprietary?

Po meni je Bullet (www.bulletphysics.com) mnogo logicniji izbor - trenutno je ozbiljniji od NGD-a, a potpuno je free (zlib license).
[ vpoqol5 @ 16.04.2009. 10:12 ] @
For Developers
NOTE: All binary PhysX SDKs are free for commercial and non-commercial uses*
For information on commercial licenses, source code, and console-game versions of the library, email PhysX Developer Support.

Zato jer je PhysX vjerojatno najsnažniji engine za fiziku uz havok, a ovo je dovoljno da se koristi bez problema u našim projektima.
Newton sam naveo zato jer je preporučen za korištenje od jednog fakulteta u ljubljani, a nikad ga nisam koristio.

Odlično da si preporučio taj bullet, radio sam pregled opensource enginova no naravno prema PhysX-u nijedan nije bio dovljno dobar no pa sam se odmah odlučio za njega te nije bilo potrebe da se malo detaljnije ubacim u pregled.
Definitivno ću isprobati ovaj bullet.

Lp

[ Filip Strugar @ 16.04.2009. 13:39 ] @
Citat:
vpoqol5: For Developers
NOTE: All binary PhysX SDKs are free for commercial and non-commercial uses*
For information on commercial licenses, source code, and console-game versions of the library, email PhysX Developer Support.Lp

...sto znaci free binaries (bez source koda), _samo za PC_, potpuno isto kao i Havok, i daleko od Open Source ili Freeware-a :)

Citat:
vpoqol5:
Odlično da si preporučio taj bullet, radio sam pregled opensource enginova no naravno prema PhysX-u nijedan nije bio dovljno dobar no pa sam se odmah odlučio za njega te nije bilo potrebe da se malo detaljnije ubacim u pregled.
Definitivno ću isprobati ovaj bullet.

Trenutno je Bullet prilicno mocan - moze da se nosi sa PhysX-om i Havok-om u prostijim slucajevima (sto pokriva vecinu potreba Indie igara). Pritom je lepo organizovan - nije neka budzevina poput ODE-a i slicnih, i imas ceo source - for free (a ne neki budjavi open-source license). Plus, radi na konzolama, i aktivno se razvija!

Taj Newton Dynamics ne bih nikome savetovao - nema neku perspektivu kao komercijalni middleware, ne vidim da se nesto preterano koristi a ni razlog zasto bi ga koristio...
[ Filip Strugar @ 18.04.2009. 13:04 ] @
Zanimljiv clanak - prvi deo se dotice ove teme:

http://www.tomshardware.com/reviews/opengl-directx,2019.html