DirectX vs. OpenGL

Tags:    snak

<< < 12 > >>
Hvad er fordelene og ulemperne ved DirectX og OpenGL egentlig? Nu ved jeg godt at ingen vil sige hvad der er bedste, men hvad ville i anbefale til spilprogrammeringen på Windows?



16 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Tak for alle svarene, i må gerne poste mere. Jeg deler UP'ne ud i morgen så dem der har lavet kommentarer har tid til også at lave et svar (behøves ikke have noget relevant i sig).



Den 19-06-04 21:51 skrev Daniel Truelsen følgende:
-----------------------------------------------------------------------------
OpenGL er klart det bedste, men bliver så vidt jeg ved ikk understøttet af ældre grafikkort, og 2d grafikkort, hvorimod DirectX jo er en del af Windows, og der derfor ikke er nogen problemer der.

---------------------
Daniel Truelsen
http://truelsenweb.TK
-----------------------------------------------------------------------------
jeg mener bestemt at mit gamle voodoo2 kort kan høvle noget OpenGL.

hvad der er det "bedste" kommer an på hvor og hvordan det skal anvendes.



Hehe, Voodoo 2 har ikk direkte OpenGL, så vidt jeg ved, men bruger og noget der hedder MiniGL :p
(har selv haft Voodoo2, hvor jeg brugte MiniGL til CS) :o)

---------------------
Daniel Truelsen
http://truelsenweb.TK




Har læst en MASSE andre steder bl.a. www.gamedev.net, næsten alle andre steder er der både fans af openGL og Direct3D, jeg har fået det indtryk at begge er nødvendige hvis man skal blive professionel.

Direc3d er lavet til windows, og kun windows. OpenGL er platformsuafhængigt. Ingen grund til, at spilde mere tid på MS end nødvendigt er. Jeg husker en artikel fra John Carmack (han der laver motoren til Quake), and han foretrak OpenGL, fordi det var nemmere og hurtigere.

[Redigeret d. 20/06-04 13:12:38 af Michael Bjerregaard]

Hvornår var det at John Carmack sagde det, for idag er OpenGL ikke meget, hvis overhovedet lettere end DirectX Det er rigtigt at DirectX version 1-6 var svært, men DirectX har udviklet sig rigtigt hurtigt i forhold til openGL som stortset ikke har udviklet sig. Og jo der er grund til at spilde tid på Windows, næsten alle gamere bruger Windows, sig tre store spil som i dag er lavet til Linux og jeg taler ikke om Wine eller andre emulatore. En kommentar som jeg støtte på, på gamedev.net er:
Fold kodeboks ind/udKode 




OpenGL er et low-leveled "sprog" (for det er i grunden slet ikke et sprog, men nærmere en række kommandoer), hvor imod DirectX er opygget i to versioner: en som low-leveled og en som high-leveled! Det vil sige, at man med DirectX har muligheden for hurtigere at komme igang med at lave sine egne 3D applikationer end med OpenGL! Men hvis du vil lave effektive (profesionelle) 3D applikationer, er det nok en meget god idé at dykke ned i det low-leveled område! Den store forskel findes ikke mellem OpenGL og DirectX i dag! De er begge så udviklet at forskellen grænser til minimaler. Det er rigtigt nok at der er sket mest udvikling indenfor DirectX i de sidste mange år, men det betyder ikke at DirectX er langt bedere end OpenGL i dag, men nærmere at DirectX VAR MEGET DÅRLIG i sine tidligere versioner! Det er også grunden til at John Carmack i rigtigt RIGTIGT mange år sværgede og lovpriste OpenGL så meget. Der er ingen tvivl om at OpenGL er langt det mest erfarne og gennemtestede 3D Api. Mange folk (inkluderet mig selv) tænker ofte på OpenGL som 3D (Only) og DirectX som en hel serie af komponenter der kan håndtere alt fra Lyd, Pixels, Netværk osv. Alt hvad en spil programmør kunne ønske sig. Men fakta er at en lign. serie findes også for OpernGL, dert hedder bare OpenML (Open Medis Library)... Der i blandt er eks. OpenAL (Open Audio Library) der kan håndtere lyd! Men i virkligheden tror jeg ikke at der findes den store forskel mellem OpenGL og DirectX! De fleste professionelle programmøre tager heller de 2 grafik Api'er som et valg, men som et MUST, at kunne håndtere! Jeg personligt kan godt lide OpenGL fordi det er lynhurtigt at gå til. Jeg er fri for at installere en lang række komponenter og tænke på licenser når jeg arbejder med OpenGL! Men derfra også til at udelukke DirectX helt ville være dumt! De fleste spil konsoller (af hvad jeg har hørt) er nemlig implementeret med DirectX teknologien, så hvis man engang i fremtiden ville lave andet end lige PC spil, ville det jo være ret godt at kunne begge API'er! Det var så bare min mening!

NB: Pixel Shading er implementeret i både DirectX og OpenGL og skulle efter sigende også være lige hurtige! Min profeti er, at Pixel Shading bliver fremtidens 3D teknologi - med denne teknologi kan du nemlig lave Ray-Tracing teknik der bevirker at Real-Time grafik (så som spil grafik) vil blive High-End renderet (Altså med andre ord at det nærmere sig film-kvalitet)! Enkle spil understøtter allerede denne teknologi og det bliver rigtigt spændende når hele markedets grafikkort får Pixel Shading implementeret som standard!



Den 19-06-04 21:51 skrev Daniel Truelsen følgende:
-----------------------------------------------------------------------------
OpenGL er klart det bedste, men bliver så vidt jeg ved ikk understøttet af ældre grafikkort, og 2d grafikkort, hvorimod DirectX jo er en del af Windows, og der derfor ikke er nogen problemer der.

---------------------
Daniel Truelsen
http://truelsenweb.TK
-----------------------------------------------------------------------------
jeg mener bestemt at mit gamle voodoo2 kort kan høvle noget OpenGL.

hvad der er det "bedste" kommer an på hvor og hvordan det skal anvendes.



Hehe, Voodoo 2 har ikk direkte OpenGL, så vidt jeg ved, men bruger og noget der hedder MiniGL :p
(har selv haft Voodoo2, hvor jeg brugte MiniGL til CS) :o)

---------------------
Daniel Truelsen
http://truelsenweb.TK

Jeg er næsten 100% sikker på at der var openGL understøttelse på mit voodoo2, men at det var nødvendigt med nogle spil at skifte opengl.dll yd med den fra minigl, pga at spillene ikke understøttede voodoo2 grafikkortene.

MvH

Stefan Svensson
http://SimLock.frac.dk







<< < 12 > >>
t