Von DX auf OpenGL umsteigen!



  • Ich habe mich jetzt langezeit mit DX beschäftigt und nun möchte ich auf OpenGL umsteigen! Gründe gibt es dafür viele, beispielsweise das ich einen Fehler hab, das meine ganzen Programme extrem langsam laufen, egal was ich mache, ob ich ein Würfel oder ein komplexes Terrain mache! Oder auch, weil ich gerne die Unterschiede zwischen OpenGL und DX selber kennen lernen will!

    Ich habe dazu nun auch ein wenig Fragen:

    1. Welche größeren Spiele buntzen OpenGL?
    2. Was ist schneller unter Windows? OpenGL oder DX?
    3. Was ist einfacher? Ich merke nähmlich das OpenGL so ziehmlich gleich ist wie DX, das die Funktionen eigentlich alles das selbe machen, ausser das sie andere namen haben^^
    4. Wird es schwer auf OpenGL um zu steigen? Ich vermute nicht da es so ziehmlich gleich aussieht, aber ich weiß ja nicht was sonst noch auf mich zu kommt^^
    5. Ich weiß garnicht wo und welche libs ich brauche? Weiß jemand wo ich mir das alles saugen kann? Möglichst das neuste!
    6. wenn ich das Programm einem Freund gebe, was ich schreiben will, muss er OpenGL dann installieren oder reicht es wenn ich die DLLs einfach im Ordner mitliefer?

    Ich würde mich sehr freuen wenn ich mir ein paar dieser Frage beantworten könntet 🙂



  • Na gut, ich versuch's mal...^^

    1.Heutige "große" Spiele nutzen kaum OpenGL, aber zum Beispiel wurde eine Version von Quake damit geschrieben und man hat OpenGL für verschiedene Computeranimationen un diversen Filmen genutzt

    2. Das ist ja eher von den Treibern bzw. der Hardware abhängig, also das kann man nicht direkt bezüglich des Betriebssystems vergleichen. Man kann jedenfalls mit beidem sehr schnelle Anwendungen schreiben 😉

    3. Also für Einsteiger ist OpenGL einfacher. Wenn man sich aber eingearbeitet hat, ist DX sicherlich auch nicht wirklich schwieriger.

    4. Nein, sicher nicht - die Grundprinzipien sind eigentlich gleich, und ansonsten siehe 3.

    5. Du brauchst eigentlich estmal nur gl.h, und es gibt noch weitere Dateien (glaux.h, glu.h, glext.h, ...) Musst du mal bei Google gucken, die kann man auf diversen Servern finden. Es gibt ja auch www.opengl.org

    6. Nö, da muss man nix installieren - die dll-Dateien für OpenGL werden mit dem Grafiktreiber installiert, die muss man nicht selbst laden, es reicht wenn du die Header-Dateien mitsendest. Allerdings sei gesagt, dass es auch verschiedene OpenGl-Versionen gibt, und nicht jede Karte unterstützt die neuste.


  • Mod

    Showball schrieb:

    Ich habe mich jetzt langezeit mit DX beschäftigt und nun möchte ich auf OpenGL umsteigen! Gründe gibt es dafür viele, beispielsweise das ich einen Fehler hab, das meine ganzen Programme extrem langsam laufen, egal was ich mache, ob ich ein Würfel oder ein komplexes Terrain mache! Oder auch, weil ich gerne die Unterschiede zwischen OpenGL und DX selber kennen lernen will!

    wenn du nicht faehig bist das problem mit dx zu lokalisieren und zu fixen, wird ein api change vermutlich nichts aendern.

    1. Welche größeren Spiele buntzen OpenGL?

    auf gamecube,wii,psp,ps2,ps3 nutzen spiele opengl. allerdings gibt es darauf auch alternative APIs, sodass man nicht sagen kann welche davon genau opengl nutzen, jedoch ist opengl bis auf der xbox(360) auf jeder konsole von heute vorhanden.
    auf pcseite jedes spiel dass auf der quake und doom engine bassiert afaik.

    2. Was ist schneller unter Windows? OpenGL oder DX?

    in manchen kleinen bereichen ist opengl schneller. aber nichts was einen riesigen unterschied machen wuerde.

    3. Was ist einfacher? Ich merke nähmlich das OpenGL so ziehmlich gleich ist wie DX, das die Funktionen eigentlich alles das selbe machen, ausser das sie andere namen haben^^

    beides sind nur schnittstellen fuer graphikkarten, also ist es an sich das selbe, nur andere 'befehle'.

    4. Wird es schwer auf OpenGL um zu steigen? Ich vermute nicht da es so ziehmlich gleich aussieht, aber ich weiß ja nicht was sonst noch auf mich zu kommt^^

    das ist individuell. wenn du dx gut kannst, wird es vermutlich einfach sein.

    5. Ich weiß garnicht wo und welche libs ich brauche? Weiß jemand wo ich mir das alles saugen kann? Möglichst das neuste!

    eigentlich hat jeder compiler das noetige dabei.

    6. wenn ich das Programm einem Freund gebe, was ich schreiben will, muss er OpenGL dann installieren oder reicht es wenn ich die DLLs einfach im Ordner mitliefer?

    sollte reichen wenn er die neusten treiber fuer seine graphikkarte installiert hat.

    versuch dich bei nehe.gamedev.net



  • rapso schrieb:

    auf pcseite jedes spiel dass auf der quake und doom engine bassiert afaik.

    nicht zu vergessen, die unreal-engine reihe 🙂



  • Danke für die Antworten, manche haben mich gefreut und bei manchen bin ich noch am Grübeln ob das nun zum vorteil oder Nachteil ist^^

    Dann gleich mal noch ein ganzes Packet:^^

    1. OpenGL ist also sehr GraKa lastig?
    2. Welche Version würdest du mir empfehlen, sodass es auf so gt wie jedem Rechner laufen sollte und ich daraus auch in ferner zukunft mal ein schicken Egoshooter mit schicken Effecten machen kann?
    3. Warum werden heut zu tage kaum noch Spele mit OpenGL gemacht? Benutzen die nurnoch DirectX, oder was anderes?
    4. Wenn alle Spiele nurnoch in DX gemacht werden, ist der größte Vorteil von OpenGL (die Plattformunabhängigkeit) weg, da eder potenzielle zocker Windows benutzt (frage 5 ..)
    5. Ich bekomme in letzter Zeit mit, das Macintosh immer beliebter wird, und OpenGL läuft ja vermutlich auf Macinstosh, währe es aus diesem Grund dann besserer das man auf OpenGL umsteigt?
    6. WoW läuft unterwindows, aber auch unter Macintosh, was bnutzen die dann für Macintos?
    7. Darf ich noch weitere Fragen stellen?^^


  • Mod

    Showball schrieb:

    1. OpenGL ist also sehr GraKa lastig?

    nein, es laeuft genau wie directx auf cpu

    2. Welche Version würdest du mir empfehlen, sodass es auf so gt wie jedem Rechner laufen sollte und ich daraus auch in ferner zukunft mal ein schicken Egoshooter mit schicken Effecten machen kann?

    1.1 mit extensions (siehe link zu tutorial vom post davor)

    3. Warum werden heut zu tage kaum noch Spele mit OpenGL gemacht? Benutzen die nurnoch DirectX, oder was anderes?

    es werden noch massig spiele mit opengl gemacht, zumeist auf konsole.

    4. Wenn alle Spiele nurnoch in DX gemacht werden, ist der größte Vorteil von OpenGL (die Plattformunabhängigkeit) weg, da eder potenzielle zocker Windows benutzt (frage 5 ..)

    plattformunabhaengigkeit ist egal wenn ein spiel nur fuer eine plattform geplannt ist. grosse vorteile zwischen den apis gibt es wohl nicht, jede hat nur andere nachteile 😉

    5. Ich bekomme in letzter Zeit mit, das Macintosh immer beliebter wird, und OpenGL läuft ja vermutlich auf Macinstosh, währe es aus diesem Grund dann besserer das man auf OpenGL umsteigt?

    wenn du macintosh programmieren willst, ist es unumgaenglich wuerde ich sagen.
    willst du das denn?

    6. WoW läuft unterwindows, aber auch unter Macintosh, was bnutzen die dann für Macintos?

    vermutlich opengl, alle blizzard spiele laufen auf apples.

    7. Darf ich noch weitere Fragen stellen?^^

    wenn du alle antworten auch ordentlich liest.



  • Okay, die beiden letzten beiträge habe ich nicht mehr mitbekommen, war zu sehr im Schreiben vertieft^^

    Quake, doom und Unreal Engine ... Okay, die Unreal Engine kostet 300.000 Dollar, und wird a auch sehr oft verwendet, dann scheint OpenGL ja doch für Spiele bestens gerüstet zu sein^^

    Mein Programm läuft sehr langsamm, aber das liegt aller warscheinlichkeit an der WinAPI, bzw an der Messageschleife:

    http://www.c-plusplus.net/forum/viewtopic-var-t-is-216454.html

    Ich interessiere mich für OpenGL, weil es dafür die NeHe Tuts giebt, die sich ja so gut wie jedes Thema von OpenGL befassen und so wunderbar geschrieben sind 😛

    Ich schaue mir gerade das Tut an um ein Windows Fenster zu erstellen, mal ganz im ernst ich habe noch nie solch einen langen Text und so bis ins Detail erklärtes Tut gesehen, m ein Windows Fenster zu erstellen, das kapiere sogar ich xD


  • Mod

    Showball schrieb:

    Okay, die beiden letzten beiträge habe ich nicht mehr mitbekommen, war zu sehr im Schreiben vertieft^^

    Quake, doom und Unreal Engine ... Okay, die Unreal Engine kostet 300.000 Dollar, und wird a auch sehr oft verwendet, dann scheint OpenGL ja doch für Spiele bestens gerüstet zu sein^^

    ich glaube er meinte die alte unreal engine. die neue laeuft auf pc, xbox360 und ps3, entsprechend nutzt sie wohl noch etwas ausser dx;)

    Mein Programm läuft sehr langsamm, aber das liegt aller warscheinlichkeit an der WinAPI, bzw an der Messageschleife:

    http://www.c-plusplus.net/forum/viewtopic-var-t-is-216454.html

    als programmierer solltest du nicht in aberglauben verfallen, sondern profilen. das bringt dich viel schneller viel weiter, google nach AMD codeanalyst 👍

    Ich interessiere mich für OpenGL, weil es dafür die NeHe Tuts giebt, die sich ja so gut wie jedes Thema von OpenGL befassen und so wunderbar geschrieben sind 😛

    Ich schaue mir gerade das Tut an um ein Windows Fenster zu erstellen, mal ganz im ernst ich habe noch nie solch einen langen Text und so bis ins Detail erklärtes Tut gesehen, m ein Windows Fenster zu erstellen, das kapiere sogar ich xD

    ja, nehe ist ein grosses argument fuer opengl. aber ich glaube es gab auch irgendwo sowas fuer dx.



  • Mit OpenGL werde ich also jederzeit die möglichkeiten haben, für Konsolen zu Programmieren, fexibilität gefällt mir! Um ein Windows Fenster zu erstellen, möchte NeHe das ich diese Header Dateien linke:

    #include <gl\gl.h> // Header File For The OpenGL32 Library
    #include <gl\glu.h> // Header File For The GLu32 Library
    #include <gl\glaux.h> // Header File For The GLaux Library

    gl\gl.h weiß ich ja bereits welche am besten geeignet währe, aber welch Versionen währen für die anderen beisen am besten? Damit ich weiß wonach ich Googlen sollte^^


  • Mod

    die die bei deinem compiler dabei sind sollten reichen.



  • Hmm ...

    Ich habe nun ein Fenster mit OpenGL erstellt (NeHe Lession 01) und es braucht ziehmlich lange um das Fenster zu erstellen, ist das Normal? Wenn ja, woran liegt das?


  • Mod

    nein, ziemlich lange ist nicht normal, normalerweise braucht er normal viel zeit. ist schwer zu sagen woran es liegt, vermutlich an etwas unnormalen was viel zeit braucht.

    wenn du das niveau meine antworten anheben willst, mess die zeit vom doppelklick bis zum start 😉



  • OpenGL ist also sehr GraKa lastig?

    geil 😃



  • Showball schrieb:

    Ich habe mich jetzt langezeit mit DX beschäftigt und nun möchte ich auf OpenGL umsteigen! Gründe gibt es dafür viele, beispielsweise das ich einen Fehler hab, das meine ganzen Programme extrem langsam laufen, egal was ich mache, ob ich ein Würfel oder ein komplexes Terrain mache!

    lol.


  • Mod

    @schlag mich nicht wenn ich falsch liege, aber eventuel hasst du immer im debug und nicht im release gebaut? (wenn man mit programmieren anfaengt, kann so ein missgeschick passieren).



  • Anfangen zu Programmieren tu ich nu nicht^^

    C++ mache ich bereits seit etwa 1 und nem halben Jahr, zuvor nur Web-Programmierung (PHP, HTML und son schnick schnack) Und C# sowie XNA, aber das ist so "Naja"^^ (Reimt sich xD)

    Nein, ich Realease es immer! Aber danke für den hinweis ... *Schlag auf den Hinterkopf*

    Es dauert bei mir 7 sekunden, bis das Fenster erstellt ist. Mir ist klar das es ein wenig länger dauert bis das fenster erscheint, weil ich zufor die einstellungen für OpenGL vornehme etc ... und zum schluss erst das Fenster erstelle, aber das kann echt nicht sein^^

    Aber mir ist lieber das das Fenster ein paar sek länger zum erstellen braucht, als wenn es die ganze zet lahm ist^^ Ich habe nun Rotierende Polygone gemacht:

    http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=04

    und ich bin begeistert, es läuft einwandfrei, ohne stotterer! Mit DirectX hatte es bei mir gestottert, nur bei einem einzigen Dreieck, selbst wenn ich auch die Codes von Tutorials übernehme ...

    Ich dürft mich nun als OpenGL'er begrüßen! (Ich bin ein DX veräter xD)



  • :o



  • Du hast doch bestimmt irgend nen Bekannten der sich mit PCs auskennt und Deinen Rechner mal wieder in die Reihe bringen kann...



  • Für mich klingt das, als hätten deine DX Anwendungen irgendwo einen Hänger in der Prorammlogik der das gesamte Programm zum stottern bringt, nicht nur die Grafik.

    Btw:

    Ich dürft mich nun als OpenGL'er begrüßen! (Ich bin ein DX veräter xD)

    Ich weiß nicht, ob ich weinen... oder lieber lachen sollte...



  • Hallo

    Showball schrieb:

    Anfangen zu Programmieren tu ich nu nicht^^

    C++ mache ich bereits seit etwa 1 und nem halben Jahr, zuvor nur Web-Programmierung (PHP, HTML und son schnick schnack) Und C# sowie XNA, aber das ist so "Naja"^^ (Reimt sich xD)

    Was reimt sich denn hier? Was passt dir denn an XNA nicht?

    chrische


Log in to reply