Du bist nicht angemeldet.

Werbeanzeige

1

09.02.2007, 13:49

DirectX vs OpenGL

Hallo,

bisher habe ich zur Graphiausgabek GDI+ unter C# benutzt.

:?: Worin liegen jeweils die Vorzüge von DirectX und OpenGL?

:?: Woher bekommt man OpenGL - kostdaswas?

Dank und Gruß
Benutzername

FBI

Frischling

  • Private Nachricht senden

2

09.02.2007, 13:54

Hier gibts OpenGL: http://www.opengl.org/

und nein, das kostet nix.

3

09.02.2007, 13:57

OpenGL bekommst du von www.opengl.org und es ist frei verwendbar.

Zu den Vorzügen von OpenGL kann ich nichts sagen da ich es nicht benutze.

In C# ist DX ganz nett, da es managed DX gibt, welches mit dem .Net Framework gut zusammen arbeitet.

Es ist aber mehr geschmacksache welcher API man nimmt. DX Besteht halt aus vielen Komponenten, OpenGL ist nur für Grafik und sollte nur mit Direct3D verglichen werdfen.

EDIT: Das von FBI stand gerade noch nicht da

ChrisJ

Alter Hase

Beiträge: 487

Wohnort: Schweich

Beruf: Schüler

  • Private Nachricht senden

4

09.02.2007, 14:31

Zitat von »"chriss"«

Es ist aber mehr geschmacksache welcher API man nimmt. DX Besteht halt aus vielen Komponenten, OpenGL ist nur für Grafik und sollte nur mit Direct3D verglichen werdfen.

stimmt.
außerdem ist jede platform für ihre opengl implementation selbst verantwortlich. somit kann man opengl platform unabhängig nennen. directx lässt sich nur unter windows programmieren.
wenn eine neue grafikkarten generation mit neuen features rauskommt, werden diese unter opengl mit den sog. extensions integriert. wenn du mit einer älteren version der opengl api arbeitest, kann es also sein, dass du sehr viele extensions im code hast. directx bringt im gegensatz dazu immer eine neue version raus, die alle neueren features beinhaltet.
opengl ist in C programmiert -> procentual
directx basiert auf com und ist somit objektorientiert.
d.h. unter directx arbeitest du mit klassen.
opengl versteht sich als eine state machine.

aber sonst ist das eigentlich reine geschmackssache.
ich persönlich bevorzuge opengl.

5

09.02.2007, 14:34

Bei C++ hat ChrisJ absolut recht. Bei C# kannst du die Plattformunabhängigkeit eh vergessen.

matthias

Alter Hase

Beiträge: 449

Wohnort: wipperfürth

  • Private Nachricht senden

6

09.02.2007, 14:49

prozedural nicht procentual :)
"In those days spirits were brave, the stakes were high, men were REAL men, women were REAL women, and small furry creatures from Alpha Centauri were REAL small furry creatures from Aplha Centauri."

7

09.02.2007, 16:16

Also nimm besser DirectX, da die meisten Spieleprogrammierer es auch benutzen.

Der einzige Vorteil von OpenGL, den ich kenne, ist, dass OpenGL nicht nur Dreiecke, sondern auch Polygone rendern kann.
Sprachen: C/C++, C#, Assembler (16-Bit), QuickBASIC

dot

Supermoderator

Beiträge: 9 833

Wohnort: Graz

  • Private Nachricht senden

8

09.02.2007, 16:23

jeder thread dieser art endet spätestens auf seite 3 in einem flame war...

es ist geschmackssache, directx ist atm auf dem pc spielesektor viel verbreiteter, das hat seine gründe, muss aber nicht so bleiben. z.b. im CAD bereich ist opengl der standard, die leute dort wissen nichtmal was directx ist...

9

09.02.2007, 19:45

Unter C# wäre DX eventuell angebracht da es sauber integriert ist. Bei dem OpenGl wrappern die es gibt könnte es sein das die noch nicht so ausgereift sind. Bei C++ ist es reine Geschmacksache

Chase

Alter Hase

Beiträge: 755

Wohnort: Nagaoka / Darmstadt / Düsseldorf

Beruf: fauler Studi

  • Private Nachricht senden

10

09.02.2007, 20:10

Zitat von »"chriss"«

Unter C# wäre DX eventuell angebracht da es sauber integriert ist. Bei dem OpenGl wrappern die es gibt könnte es sein das die noch nicht so ausgereift sind. Bei C++ ist es reine Geschmacksache

Und eine Frage der Ideologie.. aber da will ich keine Diskussion vom Zaun brechen ;)
"Have you tried turning it off and on again?"

Werbeanzeige