SDL ist ja da ein guter Ansatz. Bei SDL ist das einzige 'Problem', das es spezielle API Befehle(von DirectX oder OpenGL) nicht ausschöpfen kann, weil es ja eine Art 'wrapper' darstellt. Leider ist DirectX -im Moment- im Gegensatz zu OpenGL 'einfacher' zu programmieren weswegen der auch bevorzugt wird. Es ist aber eh nur eine Frage der Zeit...
>Leider ist DirectX -im Moment- im Gegensatz zu OpenGL 'einfacher' zu programmieren weswegen der auch bevorzugt wird.<
Also alle die ich kenne die DX und OpenGL unter Windows nutzen würden lieber auf Direct3D verzichten weil es im grunde nur ein OpenGL Clone ist in den neuen Versionen und dennoch immernoch umständlicher sein soll (eben keine gute Kopie)
Daß SDL einige plattformabhängige API-Befehle nicht komplett ausschöpfen kann ist sicher richtig. Man muß sich halt im wesentlichen auf den gemeinsamen Nenner aller unterstützten Systeme beschränken.
Mit OpenGL hat das aber nichts zu tun. Die SDL-Library stellt nur eine gewisse Basis zur Verfügung, auf der man dann mit OpenGL arbeiten kann. Und OpenGL selbst ist komplett plattform-unabhängig, d.h. fehlerfrei geschriebener OpenGL-Code ist absolut portabel. Aber OpenGL ist, im Gegensatz zu DirectX, ausschließlich auf 3D-Grafik beschränkt; für alles andere muß man andere Systeme verwenden, und genau da bietet sich SDL an...
Daß DirectX (bzw. Direct3D) einfacher ist als OpenGL, ist übrigens meiner Meinung nach Unsinn. Ich habe beides schon verwendet, und gerade für Anfänger auf dem Gebiet der 3D-Grafik ist OpenGL in aller Regel erstmal verständlicher. BTW, etwas einfacheres als SDL gibt es wohl kaum...
Solltet ihr es noch nicht wissen, es gibt kein Direct3D mehr. Direct Draw und Direct3D sind jetzt DirectGraphics.
Aber nun zur Sache: OpenGL ist halt eben "nur" eine 3D Grafikschnittstelle. Und DirectX hat 2D und 3D Grafik, DirectSound, DirectMusic, DirectInput und Direct Play. Und es ist sogar abwärtskompatibel. Sogar Q3 benutzt unter Windows DirectX.
Was jetzt besser oder einfacher ist, ist IMHO Meinungssache. Aber ohne DX gäbe es unter WIndows vermutlich nur halb so viele Spiele.
Ok stimmt, DirectGraphics. Die letzte DirectX-Version die ich benutzt habe war 7.0, und da hieß es halt noch anders.
Natürlich ist OpenGL nur für 3D-Grafik. In allen anderen Bereichen ist es sicher auch sinnvoll DirectX einzusetzen, da das häufig die einzige Möglichkeit ist, die Hardware wirklich auszunutzten. Die Frage wäre nur, ob man DirectX direkt verwendet, oder über eine andere Library, die selbst intern auf DirectX zurückgreift (das macht SDL ja teilweise auch).
Aber, daß DirectX abwärtskompatibel sein soll, ist doch wohl ein Witz, oder? Der einzige Grund, warum beispielsweise DX5-Spiele auch mit DX8 (meistens) noch laufen, ist daß DX8 auch die Interfaces aller älteren Versionen gleich mitliefert. Das Design des DirectX-APIs ändert sich aber mit jeder Version ziemlich radikal, und macht auch keinen besonders durchdachten Eindruck. Das OpenGL-API dagegen ist, von einigen Ergänzungen abgesehen, seit Jahren unverändert...
Von BufferOverflow am Do, 23. August 2001 um 14:51 #
@ LH:
"Also alle die ich kenne die DX und OpenGL unter Windows nutzen würden lieber auf Direct3D verzichten weil es im grunde nur ein OpenGL Clone ist in den neuen Versionen und dennoch immernoch umständlicher sein soll (eben keine gute Kopie)"
Das ist genau das, was ich immer meine. Du hast diese Info nur von anderen gehoert, Dich aber selber damit noch net beschaeftigt, oder? Wenns danach geht, kenne ich auch genug Leute, die DX bevorzugen, weil es IMHO technisch (was den Grafikteil angeht) an OpenGL vorbeigezogen ist. Grafikkarten sind DX-optimiert, etc, was spricht also dagegen? Habe hier das Dx8-SDK installiert und muss sagen, dass ich ziehmlich schnell zu Ergebnissen gekommen bin. Sehr gute Doku, viele Samples (Source wie auch lauffertige Sachen).
>Das ist genau das, was ich immer meine. Du hast diese Info nur von anderen gehoert, Dich aber selber damit noch net beschaeftigt, oder? <
Doch, aber nicht sehr ausgiebig. Nicht ein hunderstel sogut wie der Freund von dem ich sprach. www.digitalprojects.com/way-x
Wird es in einer OpenGL und D3D Version geben. Er kennt die beiden SEHR gut. Und er hasst D3D für seine macken! (Der rest von DX soll nicht so schlimm sein).
Es gibt Leute , bei denen weiss man genau was man glauben kannn und was nicht. Und wenn Peter (einer der Hauptentwickler) sich über 2 Stunden über Direct3D auslässt dann ist da wirklich was faul drann.
Ihm glaube ich auf jeden fall eher als irgendjemanden in diesem Forum
werd mir das neue directx sdk demnaechst mal angaffen. (kann ich leider nur windows entpacken, weils n .exe-archiv ist). bin gespannt ob sich, wie carmack sagt, wirklich einiges gebessert hat. (glauben kann ichs aber nicht )
Ich habe auch schon mit beidem gearbeitet und kann nur sagen OpenGL ist definitiv einfacher zu verstehen.
das DirectX besser sein soll als OpenGL (was die Grafikleistung etc. betrift) halte ich für ein gerücht. Direct3D (ja ich weiß ist jetzt in DirectGraphics blabla) kann nichts was OpenGL nicht auch kann. Es liegt halt nur daran wie gut man sich mit der jeweiligen API auskennt.
Damit liessen sich Spiele sicher einfacher auf Linux portieren...
Bei SDL ist das einzige 'Problem', das es spezielle API Befehle(von DirectX oder OpenGL) nicht ausschöpfen kann, weil es ja eine Art 'wrapper' darstellt.
Leider ist DirectX -im Moment- im Gegensatz zu OpenGL 'einfacher' zu programmieren weswegen der auch bevorzugt wird.
Es ist aber eh nur eine Frage der Zeit...
Also alle die ich kenne die DX und OpenGL unter Windows nutzen würden lieber auf Direct3D verzichten weil es im grunde nur ein OpenGL Clone ist in den neuen Versionen und dennoch immernoch umständlicher sein soll (eben keine gute Kopie)
Daß SDL einige plattformabhängige API-Befehle nicht komplett ausschöpfen kann ist sicher richtig. Man muß sich halt im wesentlichen auf den gemeinsamen Nenner aller unterstützten Systeme beschränken.
Mit OpenGL hat das aber nichts zu tun. Die SDL-Library stellt nur eine gewisse Basis zur Verfügung, auf der man dann mit OpenGL arbeiten kann. Und OpenGL selbst ist komplett plattform-unabhängig, d.h. fehlerfrei geschriebener OpenGL-Code ist absolut portabel. Aber OpenGL ist, im Gegensatz zu DirectX, ausschließlich auf 3D-Grafik beschränkt; für alles andere muß man andere Systeme verwenden, und genau da bietet sich SDL an...
Daß DirectX (bzw. Direct3D) einfacher ist als OpenGL, ist übrigens meiner Meinung nach Unsinn. Ich habe beides schon verwendet, und gerade für Anfänger auf dem Gebiet der 3D-Grafik ist OpenGL in aller Regel erstmal verständlicher.
BTW, etwas einfacheres als SDL gibt es wohl kaum...
Solltet ihr es noch nicht wissen, es gibt kein Direct3D mehr.
Direct Draw und Direct3D sind jetzt DirectGraphics.
Aber nun zur Sache:
OpenGL ist halt eben "nur" eine 3D Grafikschnittstelle.
Und DirectX hat 2D und 3D Grafik, DirectSound, DirectMusic, DirectInput und Direct Play. Und es ist sogar abwärtskompatibel.
Sogar Q3 benutzt unter Windows DirectX.
Was jetzt besser oder einfacher ist, ist IMHO Meinungssache.
Aber ohne DX gäbe es unter WIndows vermutlich nur halb so viele Spiele.
Natürlich ist OpenGL nur für 3D-Grafik. In allen anderen Bereichen ist es sicher auch sinnvoll DirectX einzusetzen, da das häufig die einzige Möglichkeit ist, die Hardware wirklich auszunutzten. Die Frage wäre nur, ob man DirectX direkt verwendet, oder über eine andere Library, die selbst intern auf DirectX zurückgreift (das macht SDL ja teilweise auch).
Aber, daß DirectX abwärtskompatibel sein soll, ist doch wohl ein Witz, oder?
Der einzige Grund, warum beispielsweise DX5-Spiele auch mit DX8 (meistens) noch laufen, ist daß DX8 auch die Interfaces aller älteren Versionen gleich mitliefert.
Das Design des DirectX-APIs ändert sich aber mit jeder Version ziemlich radikal, und macht auch keinen besonders durchdachten Eindruck. Das OpenGL-API dagegen ist, von einigen Ergänzungen abgesehen, seit Jahren unverändert...
Active AllDirect ++
"Also alle die ich kenne die DX und OpenGL unter Windows nutzen würden lieber auf Direct3D verzichten weil es im grunde nur ein OpenGL Clone ist in den neuen Versionen und dennoch immernoch umständlicher sein soll (eben keine gute Kopie)"
Das ist genau das, was ich immer meine. Du hast diese Info nur von anderen gehoert, Dich aber selber damit noch net beschaeftigt, oder? Wenns danach geht, kenne ich auch genug Leute, die DX bevorzugen, weil es IMHO technisch (was den Grafikteil angeht) an OpenGL vorbeigezogen ist. Grafikkarten sind DX-optimiert, etc, was spricht also dagegen? Habe hier das Dx8-SDK installiert und muss sagen, dass ich ziehmlich schnell zu Ergebnissen gekommen bin. Sehr gute Doku, viele Samples (Source wie auch lauffertige Sachen).
Doch, aber nicht sehr ausgiebig. Nicht ein hunderstel sogut wie der Freund von dem ich sprach.
www.digitalprojects.com/way-x
Wird es in einer OpenGL und D3D Version geben. Er kennt die beiden SEHR gut. Und er hasst D3D für seine macken!
(Der rest von DX soll nicht so schlimm sein).
Es gibt Leute , bei denen weiss man genau was man glauben kannn und was nicht. Und wenn Peter (einer der Hauptentwickler) sich über 2 Stunden über Direct3D auslässt dann ist da wirklich was faul drann.
Ihm glaube ich auf jeden fall eher als irgendjemanden in diesem Forum
Wenn Du jemanden findest, der Beitraegen gegenueber kritischer darsteht, als ich, geb ich Dir'n Bier aus
is ja schön wie ihr euch hier streitet,
aber ich denke Carmack wird im endeffekt recht haben. (immerhin kennt er sich aus)
ich habe auch schon beides benutzt. OpenGL ist meiner meinung nach leichter verständlich, und...
...es funzt eben unter linux
bin gespannt ob sich, wie carmack sagt, wirklich einiges gebessert hat.
(glauben kann ichs aber nicht )
viel spass noch...
das DirectX besser sein soll als OpenGL (was die Grafikleistung etc. betrift) halte ich für ein gerücht. Direct3D (ja ich weiß ist jetzt in DirectGraphics blabla) kann nichts was OpenGL nicht auch kann. Es liegt halt nur daran wie gut man sich mit der jeweiligen API auskennt.
und für sound verwende ich fmod.