sounds und netzwerk bei OpenGL ?



  • Hallo,
    Habe Vorkenntnisse in C++ und wollte diese dann um die Spieleprogramierung erweitern.
    Meine Wahl fällt auf OpenGL.
    Habe auch schon das passende Buch(denke ich mal, kann nähmlich kein englisch) bei Amazon gefunden, den ich demnächst bestellen will:

    http://www.amazon.de/exec/obidos/ASIN/3827262372/qid=1066426122/sr=1-1/ref=sr_1_2_1/028-2288448-9154129

    Was mich halt etwas skeptisch macht ist die Tatsache das wichtige Spielkomponenten wie der Sound und netzwerk halt nicht in OpenGL mit drinne sind.(denke ich mal)

    1. Aber mann hat später schon die Möglichkeit solche Dinge in sein Spiel hineinzuprogramieren ohne wieder Directx nutzen zu müssen? Oder wie hat mann das zu verstehen? Und wo lernt mann dann diese Dinge?



  • also opengl ist wie du richtig beobachtet hast "nur" für grafik. es gibt eine portable zusatzlib, die glut, welche z.b. die tastatur, und ich glaub auch maus mit dazunimmt.
    sobald du aber an sound oder netzwerk kommst, musst du schon tiefer ins betriebssystem gehen. auf ms-basis wirst du um directx nicht rumkommen, da es einfach input-geräte, sound und netzwerk unter einen hut bringt (die grafikfunktionen musst ja nicht nutzen). unter linux wiederum hast du viele möglichkeiten 🙂
    wie und wo man das lernt? suchen lesen suchen lesen fragen 😉



  • SDL, OpenGL, DevIL, OpenAL ist ein mächtiges Package. Das einzige, was mir abgeht ist ForceFeedback Support. Für Netzwerk gibts auch unter den SDL Libs was zu finden ( extene Lib )



  • fmod ist auch noch eine gute Soundlib.



  • wenn man netzwerk haben will und trotzdem betreibssystem unabhängig bietet sich vielleicht ACE an... da hat man dann auch gleich noch multithreading...



  • ohmann, ich sehe es schon kommen, das sind wieder zu viele zusätzlichen sachen die mann sich noch zusätzlich erlernen müsste. Dann wäre wohl DirectX als Gesamtpaket wohl doch besser für mich, aber das Problem ist, ich hab da schon erfolglos reingeschnuppert und muss leider sagen das die momentan erhältlichen aktuellen Bücher einfach nur mist sind.
    z.B. hab ich mir das 3D-Spiele-programmierung gekauft:
    http://www.amazon.de/exec/obidos/ASIN/3446221522/ref=pd_sr_ec_ir_b/028-2288448-9154129

    Der Autor erklärt zwar die Grafikelemente aber programiert wird später mit seiner TriBase-Engine. Er erklärt z.B wie die Sache mit den Vektoren funktioniert und stellt dann seine Klasse vor die das dann übernimmt. Wie diese Classe aber auf die DirectX Elemente zugreift bleibt dem User verborgen.
    Im endefeckt würde ich am ende nicht mit DirectX programieren sondern mit der Tribase-Engine was nicht unbedingt mein ziel war.

    Danach mache mache ich eine Leseprobe bei diesem Buch hier:
    http://www.amazon.de/exec/obidos/ASIN/3827264537/qid=1066483982/sr=1-2/ref=sr_1_26_2/028-2288448-9154129

    Und dieser Author reißt seine Formelsammlung regelrecht runter. Von einem Lernprozess kann da wirklich nicht die Rede sein.

    Gibt es denn wirklich keine Möglichkeit vernünftig DirectX zu lernen?
    vielleicht gibt es ja Seiten wo diese Thematik umfangreich einem erklärt wird?



  • Hallo?

    Das die einzelnen Komponenten unter DirectX zusammengefaßt werden
    heißt noch lage nicht das ich nur eine Doc lesen muß um alles
    zu verstehen.

    Ganz im Gegenteil, ich habe es nicht geschaft in einer Woche eine
    DirectSound-App zu basteln die stabilen 3D-Soundsupport geboten hat.
    Mit fmod war ich nach einem Tag fertig.

    Wenn du die Mentalität "Docus lesen mag ich net" vertritts solltest du dir
    vielleicht ein andere Hobby suchen.

    EDIT: OpenGL, OpenIL(aka DevIL) und OpenAL "fühlen" sich von der Benutzung
    sehr ähnlich an.



  • Kane schrieb:

    Das die einzelnen Komponenten unter DirectX zusammengefaßt werden
    heißt noch lage nicht das ich nur eine Doc lesen muß um alles
    zu verstehen.

    hmm, das ist ein sehr gutes Argument. Verdammt noch mal, der ist sogar ziemlich gut. Von diesem Blickwinkel aus hab ich das noch nicht gesehen. Vielleicht wäre es doch besser alles Schritt für Schritt zu lernen. Also erst Grafik, dann vereinzelt denn Rest. So müsste der Lernerfolg eh besser sein. Weil mann sich immer nur aufs vesentliche konzentriert. OpenGL hat mich soviso mehr angemacht als DirectX. Thx @Kane hast mich wieder zu OpenGL Motiviert!
    Hab mir jetzt dieses Buch bestellt:
    http://www.amazon.de/exec/obidos/ASIN/3827262372/qid=1066426122/sr=1-1/ref=sr_1_2_1/028-2288448-9154129

    hätte nur noch gerne ein letztes Komentar zu der Aktuellen Version von OpenGL.
    Das buch ist das einzig deutsche auf dem Markt und behandelt OpenGL Version 1.2
    Ist das schon ziemlich veraltet? Macht das einen sehr großen Unterschied zur aktuellen Version?
    Vielen Dank nochmals im Vorraus, Ihr habt mir sehr geholfen 🙂



  • Also ich habe OpenGL so gelernt:
    Nehe
    danach OpenGL Game Programming (da wird auch Sound und Input mit Dx erklärt)
    weitere Tutorials gelesen, Beispiel Apps zu Extensions gelesen.
    Heute brauch ich nur noch die Spec einer Extension lesen und habe
    alles verstanden (zumindest glaube ich das ;))

    OpenGL Game Programming ist zwar in Englisch, aber das Sprachnivea ist
    auf Nehe-Tutlevel. Sollte also keine Probleme bereiten.



  • Metin schrieb:

    Der Autor erklärt zwar die Grafikelemente aber programiert wird später mit seiner TriBase-Engine. Er erklärt z.B wie die Sache mit den Vektoren funktioniert und stellt dann seine Klasse vor die das dann übernimmt. Wie diese Classe aber auf die DirectX Elemente zugreift bleibt dem User verborgen.
    Im endefeckt würde ich am ende nicht mit DirectX programieren sondern mit der Tribase-Engine was nicht unbedingt mein ziel war.

    So Bücher liefern normalerweise immer den kompletten Source mit, da kannst'e doch gucken wie alles zusammenarbeitet.
    Und mal eine Engine zu proggen is' doch mal was sinnvolles.
    Es gibt genuch "Spieleprogrammierer"-Bücher, da wird überhaupt kein SPIEL programmiert, oder etwas derartiges.



  • mmh

    Also die Ganzen SpieleprogrammierungsBücher, die ich bis jetzt gelesen hab sind naja nur beschränk empfehlenswert.
    Für openGL ist Nehe sicher mit dan beste Tutorial was es im www gibt. (D3d mag ich nicht, is aber natürlich geschmackssache)
    Wenn man OpenGL lernen will, ist wie gesagt Nehe gut.Es gibt auch gute Online Bücher; The RedBook ist glaub ich immer noch das OpenGl-Standartwerk schlechthin.

    Mehr braucht man am Anfang gar nicht.
    Ok man sollte immmer noch etwas winapi mitlernen, vorausgesetzt man will für Ms-systeme den Code schreiben.

    Wenn du OpenGl lernen willst, würd ich mich erstmal darauf konzentrieren. Directx kannst später immer noch lernen(außer du willst direcktdraw und D3d benutzten), aber wie gesagt direct Sound und input sind alles nochmal extra Kapitel für sich.

    Gruß
    Flow

    Ps: Was die Entscheidung DD oder Ogl angeht, hab ich mal ne schönes Statement von John Carmack gelesen. (Da kommt DD relativ schlecht weg 🙂 )



  • Flow_cplus schrieb:

    Ps: Was die Entscheidung DD oder Ogl angeht, hab ich mal ne schönes Statement von John Carmack gelesen. (Da kommt DD relativ schlecht weg 🙂 )

    Yo, und das ist vor allem SOOOOO aktuell... 🙄
    Bezog sich auf DX5!
    Weißt Du welches z.Z. aktuell ist!? Richtig: 9.0b
    Weißt Du, wie viele Jahre Entwicklung dahinter stehen!??!
    EINIGE!
    Und daß die IT-Branche nicht die sich-langsamst-entwickelnde Branche ist, dürfte auch bekannt sein.
    Schade, daß Du kein aktuelleres (auf DX8 bezogen) Statement von Carmack erwähnst, wo er sagt, daß es sich mittlerweile auf jeden Fall lohnt, auch in DX reinzuschnuppern für graphics, und er das auch machen würde, wäre er nicht schon so firm in GL...

    Naja, mittlerweile hat DirectX OpenGL ja um Meilen überrundet... 🤡 👍



  • also ich will hier keine diskussion startet DD vs Ogl, weil die gibt es schon zu tausenden. Ich hab auch nix gegen DD. Ogl oder DD hat beides Vor- und Nachteile. Ich hab beides schon Programmiert. Mir hat Ogl mehr Spass gemacht.

    Gruß Flow

    Ps: Das Statement bezog soweit ich mich erinner auch nicht auf die Technologie, sondern 'wie angenehm' sich das eine und andere programmieren lässt.


  • Mod

    Sgt. Nukem schrieb:

    Naja, mittlerweile hat DirectX OpenGL ja um Meilen überrundet... 🤡 👍

    schade nur dass viele features aus ogl noch nicht in d3d sind oder erst nach einem halben jahr nachkommen z.b. HLSL...

    oder konnte schonmal jemand von euch mit einem befehl mittels d3d dem treiber beibringen alle renderstates zu setzen die man wollte?

    rapso->greets();



  • rapso schrieb:

    oder konnte schonmal jemand von euch mit einem befehl mittels d3d dem treiber beibringen alle renderstates zu setzen die man wollte?

    Yo: myClass->SetMyRenderStates(LPD3DDEVICE pD3D); 😉


  • Mod

    Sgt. Nukem schrieb:

    rapso schrieb:

    oder konnte schonmal jemand von euch mit einem befehl mittels d3d dem treiber beibringen alle renderstates zu setzen die man wollte?

    Yo: myClass->SetMyRenderStates(LPD3DDEVICE pD3D); 😉

    ach, du bist der, der immer diese sagenumwobenen "->DoIt" funktionen macht... netter versuch, aber vergiss die d3d klausel im vertrag net! 😃

    rapso->greets();



  • OpenGL ist besser strukturiert. 👍
    Ich benutze DirectX 😃



  • rapso->SetMessage("Du benutzt ja für deine Engine DX9 oder was?");



  • Flow_cplus schrieb:

    also ich will hier keine diskussion startet DD vs Ogl, weil die gibt es schon zu tausenden.

    Yo. Ich auch nicht.

    Ich hab auch nix gegen DD. Ogl oder DD hat beides Vor- und Nachteile. Ich hab beides schon Programmiert.

    Ich auch nicht.
    Ich hab' nur was gegen Leute, die generell alles BillGates'sche verteufeln, weil es ja so cool ist, aber dann statt Linux doch Windows fahren und statt OpenOffice mit Powerpoint präsentieren... 🙄

    Ps: Das Statement bezog soweit ich mich erinner auch nicht auf die Technologie, sondern 'wie angenehm' sich das eine und andere programmieren lässt.

    Yo, stimmt.
    Und da hatte er bei alten DX-Versionen auch gar nicht so unrecht.
    Wo D3D noch voll auf DD aufsetzte, und man erst mega-umständlich alles in DD initen mußte um dann letztendlich ein D3D-Device zu acquiren... 🙄
    Is' aber lang Geschichte...

    CONDORMAN schrieb:

    OpenGL ist besser strukturiert. 👍
    Ich benutze DirectX 😃

    Nee, eben nicht.
    OpenGL ist echt easy zu nutzen, das stimmt. Auch weil man mal eben so 'n paar GL-Befehle rausschleudern kann, ohne sich um OO-A / -D / -P, Kapselung, Vererbung etc. pp zu kümmern, weil alles gleichberechtigt / völlig anarchisch gestaltet ist. Aber g'rade das macht es alles andere als "strukturiert"... 🙄 🤡


  • Mod

    CONDORMAN schrieb:

    rapso->SetMessage("Du benutzt ja für deine Engine DX9 oder was?");

    meine engine basiert auf shell3d 🙂
    und shell3d setz auf ne leere, eine ogl eine dx7 oder eine dx9 version auf, je nach system und laune.

    wozu sollte ich mich auf etwas beschränken? *lol*

    rapso->greets();



  • Korbinian schrieb:

    also opengl ist wie du richtig beobachtet hast "nur" für grafik. es gibt eine portable zusatzlib, die glut, welche z.b. die tastatur, und ich glaub auch maus mit dazunimmt.
    sobald du aber an sound oder netzwerk kommst, musst du schon tiefer ins betriebssystem gehen. auf ms-basis wirst du um directx nicht rumkommen,

    Das ist Falsch.
    Auch unter Windows kann man für den Input und Netzwerkcode die SDL Library nehmen.
    Und für den Sound entweder die SDL Library oder OpenAL.

    An den Originalposter, dieses Buch habe ich selber, es ist eigentlich ganz gut (was den OpenGL Teil betrifft) das einzige Problem ist, das der Autor
    das ganze Buch mit Windows Eigenheiten verknotet, so daß manche damit gemachte Codeteile nur eingeschränkt für weitere Zwecke brauchbar ist.

    D.h. den reinen OpenGL Teil kannst du natürlich übernehmen, nur das drumherum halt nicht.
    Und wenn du deine eigenen Projekte startest, dann initialisiere dein OpenGL Fenster deines Spieles/Programmes bitte mit Hilfe der SDL Library und nicht mit dem Schmarn der in diesem Buch steht, damit bleibt dein Spiel/Program nämlich auch weiterhin voll Crossplattform fähig, was ja auch der Sinn von OpenGL ist.

    Wenn du das Buch durchliest und die Beispiele durchmachst, dann wirst du
    übrigens auch unter Windows Coden müssen, für Mac/Unix User ist dieses Buch also
    weniger geeignet, zumindest gilt das dann, wenn man nicht selbstständig den OpenGL Part übernehmen und in ein Unix/Mac konformes Framework einarbeiten kann.


Anmelden zum Antworten