OpenGL vs Direct X



  • Ja, das hat historische Gründe, macht aber auf jeden Fall Sinn und wird auch so bleiben. Die DirectX Unterstützung ist bei CAD Systemen wenn überhaupt dann eher Spielerei. Das mag bei AutoCAD noch eine Option sein (wobei AutoCAD jetzt auch unter MacOs läuft, also eher nicht), aber ich glaube nicht, dass irgendjemand ernsthaft Catia oder ProE mit DirectX betreiben will. Zumindest kein einziger unserer Kunden.
    Von sowas wie Metro oder XAML rede ich nicht. Das sind keine Anwendungen, das sind nutzlose Gadgets. Was wird denn großartig mit XAML entwickelt, erst recht in 3D? Damit werden hauptsächlich GUIs für 0815 Enterprise Anwendungen geschrieben und ab und zu hübscht sie jemand mit einem völlig nutzlosen 3D Effekt auf, kann man absolut vergessen. Und für WPF brauchst du auch kein DirectX können. Aus meiner Sicht hat man mit OpenGl auf jeden Fall wesentlich bessere Karten.



  • OpenGL ES ist afaik mehr oder weniger ein Subset von OpenGL 2.0



  • kantaki schrieb:

    Ich hab gerade etwas interessantes gefunden

    http://www.codeweavers.com/

    Anscheindend ist OpenGl auch nicht komplett Cross Platform tauglich. Android , PS3 nutzt OpenGL ES , ich weiß nicht wie groß der unterschied zum normalen OpenGL ist.

    Es geht. Es gibt natürlich Unterschiede, aber nichts besonderes. Wir konnten unseren Renderer schnell portieren.



  • Mechanics schrieb:

    Die DirectX Unterstützung ist bei CAD Systemen wenn überhaupt dann eher Spielerei.

    Autodesk sieht das wohl anders: http://archicad-talk.graphisoft.com/files/autodesk_inventor_opengl_to_directx_evolution_788.pdf

    Mechanics schrieb:

    Von sowas wie Metro oder XAML rede ich nicht. Das sind keine Anwendungen, das sind nutzlose Gadgets.

    Visual Studio ist deiner Meinung nach also ein nutzloses Gadget!?

    Mechanics schrieb:

    Und für WPF brauchst du auch kein DirectX können.

    Das ist nicht der Punkt. Der Punkt ist, dass jede Anwendung, die WPF nutzt, eine Direct3D Anwendung ist.



  • Autodesk macht grad die Spielzeugsysteme, von denen ich geschrieben habe... Aber ist schon richtig, es tut sich in letzter Zeit ein bisschen was Richtung DirectX. Trotzdem finde ich das irrelevant. Ich habe auch noch nie eine Stellenausschreibung gesehen, wo DirectX gefragt war, dafür OpenGl sehr oft.
    Aber genug gesagt, ich denke, wir haben jetzt beide unseren Standpunkt erläutert, ich bin hier sicher nicht auf einen Flame War aus.



  • kantaki schrieb:

    Anscheindend ist OpenGl auch nicht komplett Cross Platform tauglich.

    Natürlich nicht. Praktisch sieht es so aus:

    Windows -> Direct3D, OpenGL
    Linux, Mac -> OpenGL
    Android, iOS -> OpenGL ES
    Windows Phone -> Direct3D

    Spielekonsolen sind für normalsterbliche sowieso außer Reichweite (abgesehen von der XBOX, für die kannst du in eingeschränktem Umfang z.B. per XNA entwickeln, dort läuft im Prinzip Direct3D).

    Zumindest für den ganzen mobilen Kram brauchst du sowieso einen komplett eigenen Renderpfad. Je nach Plattform wird man eben andere APIs nutzen, so ist das eben. Wenn du eine API mal kannst, ist es kein Problem, sich in die anderen einzuarbeiten. Eine Anwendung wird portabel durch portables Design und nicht einfach durch die Nutzung irgendwelcher "plattformunabhängiger" APIs. Wenn du beispielsweise dein Spiel portabel halten willst, dann halte die Spiellogik von der Grafikausgabe getrennt. Dann kannst du die Grafikausgabe für jede beliebige Plattform anpassen...



  • dot schrieb:

    kantaki schrieb:

    Anscheindend ist OpenGl auch nicht komplett Cross Platform tauglich.

    Natürlich nicht. Praktisch sieht es so aus:

    Windows -> Direct3D, OpenGL
    Linux, Mac -> OpenGL
    Android, iOS -> OpenGL ES
    Windows Phone -> Direct3D

    Zumindest für den ganzen mobilen Kram brauchst du sowieso einen komplett eigenen Renderpfad. Je nach Plattform wird man eben andere APIs nutzen, so ist das eben. Wenn du eine API mal kannst, ist es kein Problem, sich in die anderen einzuarbeiten.

    Spielekonsolen sind für normalsterbliche sowieso außer Reichweite (abgesehen von der XBOX, für die kannst du in eingeschränktem Umfang z.B. per XNA entwickeln und dort läuft im Prinzip Direct3D).

    Okay danke ihr habt mir sehr geholfen.

    Welches Buch würdert ihr mir empfehlen für dx11 / openGl ?

    Lohnt es sich dx 9 zu lernen oder hat sich die API zu sehr verändert ? Viele Dx11 Bücher gibt es ja nicht.
    (Möchte ungern outdated lernen)

    Bei OpenGL. Genau das selbe, ich finde Bücher für 3.3 und weiß nicht wie groß der unterschied zu 4.2 ist.



  • OpenGL 4.2 ist mehr oder weniger eine strikte Erweiterung von 3.3.

    Ich bin mir selbst nicht ganz sicher, was ich einem Anfänger heute empfehlen würde. Direct3D 9 und OpenGL <= 2.0 sind vermutlich wesentlich einfacher zu lernen, vor allem wenn man keine Vorerfahrung hat, da man kleinere Schritte machen kann, aber natürlich auch schon sehr alt. In Direct3D 11 und OpenGL 3.3+ dagegen, musst du gleich die komplette Grafikpipeline bändigen, um auch nur eine simple Linie auf den Schirm zu bekommen.

    Direct3D 9 ist eines zahmes Pferd und du kannst damit langsam und stetig reiten lernen. Direct3D 11 ist ein wildes Vollblut.



  • Ich werde mir wohl in den nächsten tage das Buch hier kaufen.

    http://www.amazon.de/Introduction-Game-Programming-DirectX-ebook/dp/B0085CDJY4/ref=tmm_kin_title_0?ie=UTF8&m=A11MW6AJTK8WZ7&qid=1340137518&sr=8-2

    Den Rest lerne ich dann durch die offizellen Referenzen.

    Danke


  • Mod

    naja, auf PS3 nutzt so ziemlich niemand die opengl version, das ist legacy und wird bestenfalls von ein paar casual games verwendet. die xbox360 api ist auch nur syntax maessig zum PC aenlich, aber es programmiert sich anders.

    ich wuerde heutzutage OpenGL ES 2 zum anfangen empfehlen. es ist eine sehr aufs noetigste konzentrierte API mit der man schnell spiele schreiben kann.


Anmelden zum Antworten