ubuntuusers.de

Direct3D vs. OpenGL

Status: Gelöst | Ubuntu-Version: Ubuntu
Antworten |

soc

Anmeldungsdatum:
4. März 2006

Beiträge: 479

Wohnort: Rheinland-Pfalz

hi,
ich bin schon seit längerem auf der suche nach leuten die mir ganz vorurteilsfrei ihre meinung bezüglich d3d und ogl sagen könnten.
mich würde interessieren
- wie technologisch fortgeschrittlich die beiden verglichen zueinander sind
- was ihr einfacher findet zu benutzen
- wem ihr mehr chancen in der zukunft aus rein technischer sicht einräumt
- was die konkreten unterschiede der beiden sind, die vor- und nachteile
is zwar ein bisschen viel verlangt, aber falls jemand lust hat mich ahnungslosen etwas aufzuklären, würde ich mich freuen!
thx
soc

hirschen

Anmeldungsdatum:
11. August 2005

Beiträge: 553

Hmm...

OpenGL ist älter als Direct3D und ist auf grafisches Zeichnen ausgelegt und weniger auf Multimedia, bei Direct3D ist es anders rum.
Ka... ich lege nur mein NWN rein das auf OpenGL läuft und fertig. Benutzen??? Ich habe mal programmierung von OpenGL angeguckt, also wenn man das so liest könnte man es evtl verstehen.
Chancen hatt momentan eindeutig Direct3D wegen der Spiele Software, im technischen Bereich ist OpenGL aber klar mehr verbreitet. Ab WinVista soll der OpenGL auf 1.2 beschränkt bleiben. Was schade ist, den OpenGL2.0 ist leistungsfähiger, aber in Linux bleibt der OpenGL.
Konkrete unterschiede...Direct3D kommt von MicroSoft, OpenGL ist offener Standart. OpenGL Werke sehen bei mir gut aus, Direct3D hässlich weil es mit meiner Grafikkarte nicht mehr so gut passt. Ich habe eine v8.1 graka, während direct3d in v9 liegt.

Bestes Beispiel für ist Doom3. Keine meiner DirectX Spiele sieht so gut aus wie dieser Titel. Bumpmapping, Schatten alles sieht ziemlich gut aus. Bei DirectX Spielen die ich hatte. Verwaschene Texturen, Kantig, rucklig...

mfg

soc

(Themenstarter)

Anmeldungsdatum:
4. März 2006

Beiträge: 479

Wohnort: Rheinland-Pfalz

würdest du sagen, dass man mit d3d schöneren/effizienteren code schreiben kann als mit opengl?

hirschen

Anmeldungsdatum:
11. August 2005

Beiträge: 553

Nee...ich denke mit opengl kann man schönere ergebnisse erzielen...

dgf

Anmeldungsdatum:
4. September 2005

Beiträge: 912

also ich kenne einen der spezies menschen denen alles außer computespiele egal ist. und der meint d3d sähe besser als opengl aus. microsoft hat jetzt auch bei den physikkarten den vorteil, dass es kein konsortium oder so gründen muss um die physikkarten in dx zu integrieren sondern macht es einfach. und linux wird dann auch da hinterher hinken, weil durch die wenigen spiele eh die wenigsten linuxer an spielen interessiert sind, bzw. den fähigen leuten sind spiele egal.

Baghira

Avatar von Baghira

Anmeldungsdatum:
13. April 2006

Beiträge: 123

Ne, dgf; wenn sich keine fähigen leute für spiele interressieren würden, würd's keine geben.

ryu

Avatar von ryu

Anmeldungsdatum:
6. Juli 2005

Beiträge: 288

Wenn ich mich recht erinnere war OpenGL, genau wie der X-Server, netzwerktransparent. DirectX und Direct3D aber nicht.

hirschen

Anmeldungsdatum:
11. August 2005

Beiträge: 553

Also OpenGL Programmierung sieht so aus, das du meine twegen ein Funktion hast mit dem du einfach mal ein Würfel erstellst...einfach gesagt. OpenGL stellt die grundfiguren bereit wie würfel und Kugel usw. Damit ist es inn Technischen kreisen einfacher schnell hochwertige Ergebnisse zu erziellen. DirectX und Direct3D besitzen so etwas was aber schwieriger zu Programmieren ist, aber auch flexibler. Es ist zum Zocken entwickelt worden und weniger für Technischen krimskrams.

DirectX besitzt Schnittstellen um direkt auf die Tastaturen und so weiter zuzugreifen und sie gehen schnell ab als bei OpenGL. Bei Windows wird dann meist OpenGL und DirectX gekoppelt, weil das schneller gehen soll als rein OpenGL...

Hab ich mal irgendwann gelesen, irgendwie so ähnlich war es so...

mfg

Doener

Avatar von Doener

Anmeldungsdatum:
13. April 2006

Beiträge: 1647

Wohnort: Berlin

In der Diskussion zu dieser Heise-Meldung (natürlich auch OpenGL vs. DirectX) gab es auch wieder das Argument der Netzwerkneutrlität von OpenGL. Aber was genau bedeutet das eigentlich?

freak_me

Avatar von freak_me

Anmeldungsdatum:
3. Juli 2006

Beiträge: 129

Wohnort: Hanseat

ich bin nun jüngst in lage gewesen zb. doom3 auf beiden systemen zu testen/zoggen, weil mich es auch interessiert.
ich war ehrlich vom speed überrascht unter linux/opengl (alles auf high) und 1280x1024.
ich würde sagen, hier hatt opengl unter linux die nase vorn. unter d3d/ogl habe ich in der gleichen szene mit den selben einstellungen doch einige
leistungseinbrüche, allerdings wirkt das bild etwas "schärfer" und hat etwas mehr "tiefe", wirkt "farbiger", gegenüber opengl-linux, kann aber auch an der umsetzung von id liegen.
effekte waren bei beiden ähnlich schön anzusehen.
soweit ich mich an die diskusionen von früher erinnern kann, galt opengl als leichter zu programieren, man war ja auch am ball, im gegensatz zu d3d. aber das sollte sich im laufe
der jahre bis heute verbessert haben. zumindest sind viele hersteller dann auf d3d umgestiegen, ob es nun einfacher ist, oder ein besserer support/feedback dahinter steckt, kann ich nicht sagen.

Sorcerer

Avatar von Sorcerer

Anmeldungsdatum:
24. Januar 2005

Beiträge: 329

Wohnort: Helmstedt

Das viele Direct3D benutzen liegt am Komplettpacket DirectX. Das ist halt mehr als nur eine 3D Grafikbibliothek, da gibts noch DirectSound und den InputKram etc. OpenGL ist nur Grafik. Für Sound etc muss man halt dann andere Bibliotheken heranziehen z.B. OpenAL für den Sound sprich man muss sich alles selbst zusammensuchen was man braucht wogegen man bei DirectX alles auf einem Tablett serviert bekommt.

Doener

Avatar von Doener

Anmeldungsdatum:
13. April 2006

Beiträge: 1647

Wohnort: Berlin

Wobei es mit dem Simple_DirectMedia_Layer doch auch einplattformunabhängiges Rundum-Sorglos-Paket gibt, das dann unter Windows z.B. auf Direct3D für die Grafik zurückgreift und unter GNU/Linux und Mac OS X auf OpenGL.

wolk

Avatar von wolk

Anmeldungsdatum:
11. Juni 2006

Beiträge: 148

Doener hat geschrieben:

Wobei es mit dem Simple_DirectMedia_Layer doch auch einplattformunabhängiges Rundum-Sorglos-Paket gibt, das dann unter Windows z.B. auf Direct3D für die Grafik zurückgreift und unter GNU/Linux und Mac OS X auf OpenGL.

Ich bezweifle ernsthaft, dass eine weitere Abstraktionsebene keinen negativen Einfluß auf die Performance hat. Die Geschwindigkeit wird sinken und die Anzahl nutzbarer Features ebenfalls, da man sich quasi auf den kleinsten gemeinsamen Nenner einigen muss.

Zum Thema Netzwerktransparenz: X an sich ist ja ein netzwerktransparentes System, man kann X-Ausgaben "umleiten" über das Netzwerk. Das geht wohl auch mit OpenGL-Darstellungen. Womit es z.B. nicht geht sind TV-Karten, die ihre Ausgabe direkt in den Grafikkartenspeicher (über PCI) hineinschreiben, die sind nicht netzwerktransparent. Windows an sich ist erstmal nicht fürs Netzwerk gedacht, es gibt aber Zusätze wie Terminalserver etc. Ich weiß nicht, ob man über einen Terminalserver DirectX-Spiele verwenden kann, ich bezweifle es stark.

Zur Entwicklungsgeschwindigkeit: OpenGL hat da den Nachteil, das eine ganze Interessengruppe verschiedener Unternehmen hinter dem Standard steht, die Entwicklung ist entsprechend langsamer als bei DirectX, was praktisch Microsoft allein verwaltet. Auch ist OpenGL für Visualisierung allgemein entwickelt worden, während DirectX speziell für Spiele entworfen wurde.

Doener

Avatar von Doener

Anmeldungsdatum:
13. April 2006

Beiträge: 1647

Wohnort: Berlin

wolk hat geschrieben:

Zur Entwicklungsgeschwindigkeit: OpenGL hat da den Nachteil, das eine ganze Interessengruppe verschiedener Unternehmen hinter dem Standard steht, die Entwicklung ist entsprechend langsamer als bei DirectX, was praktisch Microsoft allein verwaltet. Auch ist OpenGL für Visualisierung allgemein entwickelt worden, während DirectX speziell für Spiele entworfen wurde.

Nunja, langsamer ist die Entwickklung in den letzten Jahren bei OpenGL natürlich gewesen. Das liegt aber auch daran, dass OpenGL Anfang der 90er schon fast alles technisch konnte, was Direct3D 9 jetzt bietet. DirectX hatte in der Grafikdarstellung einfach einiges aufzuholen. Inzwischen ist OpenGL 2.1 fertig und die Weiterentwickklung des offenen Standards wurde an die Khronos Group übergeben, der viele namenhafte Unternehmen angehören.

In der Khronos Group sind übrigens auch Handy-Hersteller vertreten, da mit OpenGL ES auch ein OpenGL-Standard für embedded Devices wie Handys, Smartphones und PDAs entwickelt wird. Auch Sony will mit seiner Playstation 3, auf der Linux laufen wird AFAIK zumindest auf einen OpenGL-Dialekt setzen.

Weiß jemand, was aus OpenML wurde?

wolk

Avatar von wolk

Anmeldungsdatum:
11. Juni 2006

Beiträge: 148

Doener hat geschrieben:

Nunja, langsamer ist die Entwickklung in den letzten Jahren bei OpenGL natürlich gewesen. Das liegt aber auch daran, dass OpenGL Anfang der 90er schon fast alles technisch konnte, was Direct3D 9 jetzt bietet.

Wie gut kennst du dich mit OpenGL aus, um das behaupten zu können? Für den Nutzer oder flüchtigen Betrachter mag das so aussehen, in der Praxis war es eher Flickschusterei, die aber erstaunlich gut funktioniert hat. OpenGL hat ein Extension-System, zahlreiche Neuheiten wie Texturkompression z.B. (von S3) werden schnell mal eben fix bei OpenGL als Extension hinzugefügt, das nenne ich aber nicht Standard. War damals ganz interessant zu sehen, wenn man QuakeGL gestartet hat, rasselten die ganzen Extensions durch, da wimmelte es von Extensions von Nvidia und S3, das waren KEINE Standards, sondern firmenspezifische Erweiterungen. Bei DirectX gibts eine neue Version und fertig. Bei OpenGL muss man sich erstmal einigen ....

Antworten |