DirectX oder OpenGL?



  • Hi leutz^^ 😃 ,

    Ich lerne gerade C++ und will so ,Just for Fun´ versuchen ein spiel zu entwickeln und nun kommt meine Frage und zwar was soll soll ich lernen C++ bin ja dabei und in Grafik usw. DirectX oder OpenGL oder kennt ihr ein besseres?

    Wenn ihr mir dann dabei geholfen habt dann lerne und lerne ich dann habe ich auch die Anforderungen dafür um ein Spiel zu entwickeln.

    Danke für eure Hilfe 😃



  • Also erstmal solltest du C++ SEHR gut können, dann würd ich mit SDL anfangen (SUCH hier mal auf den neuesten Seiten, da gibt es was zu)

    Danach kannst du SDL mit OpenGL machen, oder auf DX umsteigen...

    Wenn du nicht MS-Nutzern ebenfalls dein Spiel zeigen willst, solltest du dich allerdings von Dx fernhalten, und auf Ogl setzen...
    Was einfacher ist kann man schlecht sagen, aber ICH finde OGL leichter und logischer, warum auch immer... (Ich hab aber auch Debian GNU Linux... 😉 )

    Wurde aber alles auch schon im FAQ diskutiert... (s.u.)

    SDL bringt alles für kleine Spiele mit, Directx alles für Große, OpenGL nur die 3D-Graphik... Für Sound gibt es dann, wie für Netzwerk andere Bibliotheken, empfehlenswert ist auch glfw (Link s.u), was Eingaben verwalten und Fenster erstellen, sowie Joysticks verarbeiten kann!

    > www.g00gl3.com //Das H4xx0r-Portal
    > http://nehe.gamedev.net //OGL-tutorial, unten rechts link auf Übersetzung...
    > www.libsdl.org //SDL
    > www.c-plusplus.net/forum //Öhm, ja...
    > http://glfw.sourceforge.net //Glfw: Fenster, Eingaben und OGL-Vereinfachungen

    edit:

    > http://www.c-plusplus.net/forum/viewtopic-var-t-is-204961.html //SDL aber schnell
    > http://www.c-plusplus.net/forum/viewtopic-var-t-is-39433.html //Ich möchte Spiele programmieren, wie geht das
    > http://www.c-plusplus.net/forum/viewtopic-var-t-is-39424.html //OpenGL vs. DirectX
    > http://www.c-plusplus.net/forum/viewtopic-var-t-is-39423.html //SDL vs OPENGL vs DirectX



  • jetzt kommt der allseits beliebte (ich hab ihn schon erwartet) vollspam thread. Es gibt gespaltene meinungen, Grunde für das eine und Gründe für das Andere. entscheid dich selbst ob Microsoft-abhängig, oder Plattformunabhängig.



  • Wenn ihr mir dann dabei geholfen habt dann lerne und lerne ich dann habe ich auch die Anforderungen dafür um ein Spiel zu entwickeln.

    Anforderungen zu haben ist leicht. Anforderungen zu erfüllen ist die Herausforderung.

    Und lern mal bisschen Satzbau is ja kaum zu lesen deine Sätze die so ewig gehen und lang sind und das weil halt nicht jeder will sowas lesen und so lala blabla verstehste wie ich meine so Punkte und Komma wären halt nicht schlecht weisste?



  • Ok, darauf werde ich jetzt mehr achten. 😃
    💡 Aber ich glaube, dass ich DirectX Lernen will. 💡



  • RJ91 schrieb:

    💡 Aber ich glaube, dass ich DirectX Lernen will. 💡

    Programmierung ist jedoch keine Glaubenssache 😉

    Du solltest dir schon sicher sein. An deiner Stelle würde ich mich zuerst genauer informieren, anstatt einfach zu denken "DirectX tönt gut, da kenn ich auch ein paar kommerzielle Spiele, das mach ich auch".
    Wo willst du denn konkret anfangen? Willst du einen einfachen Snake-Klon entwickeln oder ein 3D-Echzeitstrategiespiel? Je nach Anforderungen und Anwendungsbereich kommen natürlich andere Bibliotheken in Frage.

    Zudem solltest du wie gesagt gute Grundkenntnisse in C++ besitzen (z.B. was objektorientierte Programmierung betrifft), ansonsten hast du die ganze Zeit Probleme, weil dir die Basis fehlt.



  • Bevor du gleich mit Spielen anfängst, versuch erstmal, einen Paint-Klon zu machen, oder irgendwas einfaches, um den Einstieg in Grafiksachen zu kriegen.

    Wenn du dich mit Mathe gut auskennst, also mit Matrizen und so, dann kannst dann auch gerne mit Direct X anfangen, ansonsten wär für den Einstieg einfach OpenGL besser, da musst du dich mit sowas nicht großartig herumschlagen, vor allem wenn du bei D3D alles selbst programmieren willst...



  • Von matrizen mal gehört zu haben ist aber auch für OpenGL nicht schlecht, zwar wird einem der direkte Umgang mit Matritzen meist erspart, allerdings erleichtert es das Verständnis. Ohne kommt man zwar auch zum ziel, aber wie die Pixel auf den Bildschirm kommen bleibt dann ein Mysterium.



  • also ich persönlich bin jetzt auf D3D umgestiegen (Anfänger so zu sagen). OpenGL erscheint zwar leichter, habe aber die Erfahrung gemacht, daß diverse Grafikkarten (neuere) nicht so wollten wie es bei mir funktionierte. Außerdem wird in Zukunft OpenGL nicht mehr in diesem Umfang unterstützt. Das gillt natürlich nur für Microsoft. So wenn man neu anfängt und Windows benutzt und nur für Windows Sachen erstellt, würde ich D3D lernen. Man kommt leider um die MS Abhängingkeit nicht herum wenn man etwas weiter denkt.



  • Außerdem wird in Zukunft OpenGL nicht mehr in diesem Umfang unterstützt.

    Wie? Also ich hatte bisher nie Probleme und sehe auch keine kommen...
    Hab ich irgendetwas verpasst? (Jetzt mal von den Vi**a-Startproblemen abgesehen)

    Dx hat viele Vorteile (bringt halt Eingabe&Sound mit), aber wie bereits gesagt, du hast ein MS-abhängiges Programm und nicht jeder hat MS-Plattformen am Laufen...

    Was waren denn nun deine ultimativen Gründe für Dx und gegen OGL? (Büdde kein Flamewar... 🙂 )



  • OldMan00 schrieb:

    Außerdem wird in Zukunft OpenGL nicht mehr in diesem Umfang unterstützt.

    Tschuldigung, aber das ist 'ne reine Stammtischparole.



  • Stimmt. Denn es wurde noch NIE so sehr unterstützt wie DX.



  • Flamewar!! 😃 😋



  • Macht doch nicht immer so eine Wissenschaft daraus.
    Nehmt einfach irgendwas und fertig.

    Ansonsten hoffe ich, dass der liebe rapso das hier schließt. Wir wissen alle, wie das sonst endet. 😃


  • Mod

    wenn du ein spiel machen willst, schnapp dir ne fertige engine dafuer. alles selbst zu machen hat keinen sinn. mit d3d oder opengl dekst du gerade mal die graphik api ab, was ein bruchteil dessen ist was du brauchst um ein spiel zu machen.



  • Sag doch am besten einfach, was für ein Spiel du machen willst. Für ein 2D-Jump'n'Run wäre DirectX wohl ein bisschen übertrieben.



  • Hi,

    großes PRO von DirectX gegenüber OpenGL:

    Nicht nur 3D Grafik, sondern viel drumherum wenn man die D3DX Bibliothek aus dem SDK mitnutzt. Dann hat man direkt Klassen die Grafiken, 3D Modelle, ... aus Dateien laden können, eine umfassende hochoptimierte Mathebibliothek, und, und, und. Zudem ist DirectX mehr oder weniger objektorientiert, im Gegensatz zum OpenGL.

    Ciao,
    Stefan



  • Also Objektorentiert muss ja nicht unbedingt ein Vorteil sein, genau so, wie die ganzen beilagen nicht unbedingt ein Vorteil sein müssen. Sicher hat es Vorteile, wenn man jederzeit auf Beispiele und Zusatztools zugreifen kann, aber man wird deswegen nicht drum herum kommen, auch im Internet nach den sachen zu Suchen, die man Braucht, und je eher man das Macht, um so besser Prägt es sich ein. Und die Recourcen, die im Internet für OpenGL vorhanden sind bei weitem absolut nicht Beschränkt. Zugegeben, ich hab so gut wie keine Erfahrung mit Direct3D nur OpenGL, aber Dass OpenGL nicht objekt orientiert ist, find ich nicht sonderlich Tragisch, es Bleibt sehr übersichtlich, nur ein Namensbereich hätte ich mir anfangs gewünscht, aber an das Präfix gl von den Befehlen ist auch kein Weltuntergang.


  • Mod

    Krux schrieb:

    nur ein Namensbereich hätte ich mir anfangs gewünscht, aber an das Präfix gl von den Befehlen ist auch kein Weltuntergang.

    namespace GL
    {
    #include <gl/gl.h>
    }
    

    😉



  • rapso schrieb:

    Krux schrieb:

    nur ein Namensbereich hätte ich mir anfangs gewünscht, aber an das Präfix gl von den Befehlen ist auch kein Weltuntergang.

    namespace GL
    {
    #include <gl/gl.h>
    }
    

    😉

    sshhht. mach das ganz schnell wieder weg 😃


Anmelden zum Antworten