plattformunabhängige alternative zu directX ?



  • hi,
    wie der titel schon sagt, ich hätte mal interesse, mich mit graphik-/spiele-programmierung (in 2D/3D) zu beschäftigen.
    nun will ich nicht auf directX zurückgreifen, weil ich eine plattformunabhängige oder zumindest crossplattform-api (linux/windows) benutzen möchte (ich selbst benutze hauptsächlich linux).
    allerdings habe ich in einem aktuellen thread hier im forum gelesen, dass openGl, u.a. aufgrund der fehlenden unterstützung für eingabegeräte/sound nicht wirklich zur spiele-programmierung geeignet sei.

    bis jetzt kenne ich (eigentlich nur vom namen bzw. aus berichten) nur
    1.) allegro
    2.) sdl

    allegro ist afaik wirklich ausschließlich auf spielprogrammierung ausgelegt, was ich aber auch nicht nur möchte.
    über die sdl weiss ich nicht wirklich viel, bis auf dass sie die meisten eingabegeräte und sound unterstützt und auf openGl aufbaut (ich schätze allegro tut das auch).

    ich wüsste gerne, was denn nun am geeignetsten ist für mein vorhaben. ich bräuchte eine api, mit der ich sowohl spiele (also eingabegeräte- und soundunterstützung), als auch nur 2D/3D-graphiken/animationen (für was für eine anwendung auch immer) programmieren kann.

    gibt es noch andere gute apis bis auf sdl und allegro (schliesse ich fast schon aus)? wenn ja, welche? wenn nein, welche sollte ich benutzen (gar keine??)?

    danke im voraus für alle antworten!

    mfg,
    julian



  • Allegro ist dachte ich DirectX!

    Für deine Zwecke solltest du dann wohl eher mal in die SDL reinschauen.



  • Pellaeon schrieb:

    Allegro ist dachte ich DirectX!

    So ein Quatsch!



  • Die beiden Engines sind auch eher für Spieleentwicklung gedacht, aber ich bin mir ziemlich sicher das du damit auch "nicht spiele projekte" erstellen kannst.

    Irrlicht Engine
    Ogre Engine

    An sonsten würd ich auch die SDL benutzen...



  • TomasRiker schrieb:

    Pellaeon schrieb:

    Allegro ist dachte ich DirectX!

    So ein Quatsch!

    Hm ok hast recht : )
    Hab ich irgendwas verwechselt.



  • Clanlib ist auch eine sehr gute Alternative und hat - im Vergleich zu SDL - den Vorteil, dass es eine objektorientierte C++ Klassenbibliothek zur Verfügung stellt.

    Für den absoluten Einstieg in die Spieleprogrammierung wunderbar ist Pygame, falls Dir Python gefällt. Pygame ist eine SDL-Umsetzung in Python. (siehe Basisinfos zu Pygame)



  • Unter Linux beutzt SDL aber auch OpenGL zum Zeichnen.



  • das ist für mich kein problem, unter windows könnte es meinetwegen auch directX benutzen.
    für mich wichtig war erstmal die plattformunabhängigkeit. da habe ich als erstes an openGl gedacht. da ich aber u.a. auch spiele programmieren möchte (bzw. es zumindest mal versuchen ;)), war es mir auch wichtig, dass ich mit der benutzen api eingabegeräte ansprechen und sounds abspielen kann. worauf diese benutze api auf dem jeweiligen system aufsetzt, ist relativ unwichtig bzw. kein bewertungskriterium für mich. ich möchte es lediglich aus spass an der freude ausprobieren, graphiken bzw. spiele zu programmieren, um mal besser zu verstehen, wie soetwas gemacht wird/funktioniert und vielleicht mal ein eigenes kleines projekt zu diesem thema (sind wahrscheinlich mehrere) zu verwirklichen.

    vielen dank aber schonmal für alle antworten bis jetzt! (trotzdem bin ich natürlich immer noch offen für weitere vorschläge/kritiken/kommentare)

    mfg,
    julian



  • Unter Windows benutzt SDL glaub ich auch DX 🙂 .
    An was für Spiele hastn gedacht?
    Ich hab mal gehört, SDL taugt für 3D nicht viel.



  • ich habe da echt noch gar keine konkreten vorstellungen. mich hat es langsam nur mal gereizt, nach konsolen- und gui-programmen auch mal programme mit eigenen 2d-/3d-graphiken zu erstellen.
    lust hätte ich mal auf so ein 2d-jump-and-run, wie z.B. "codename gordon". gerne würde ich dabei aber auch 3d-graphiken verwenden, keine "pixelgraphik", aber trotzdem steuerung nur rechts/links/oben/unten.
    außerdem hat es mich schon immer interessiert, wie so ein "3d-format" (wie z.B. blend-files, 3ds-files, ms3d-files, etc.) aufgebaut ist, daher würde ich gerne mal eine art "model viewer", also nen loader für ein format (wahrscheinlich 3ds, da am häufigsten benutzt). das wird aber wahrscheinlich noch etwas dauern, bis ich dazu in der lage bin...
    am besten, ich hätte ne "3d-und-2d-graphik-und-spiele-inklusive-sound-und-eingabegeräte-ansteuerung-all-arounnd-api". 😉

    mfg,
    julian



  • Dann such dir eine Game-Engine. Irrlicht, Ogre 3D, Panda 3D - irgendsowas.



  • OpenGL + OpenAL

    Habe mich vor ein paar Tagen mit OpenAL auseinander gesetzt, und gestern beispielsweise ein Ogg Vorbis Lied ganz einfach abspielen können. OpenAL hat, wie OpenGL, ein wunderschönes Interface. Kann ich nur wärmstens empfehlen.

    Ich weiß bloß nicht, ob es schon eine art OpenIL gibt, also OpenInputLibrary - ein ersatz für DirectInput.

    mfg olli



  • Vertex schrieb:

    OpenGL + OpenAL

    Habe mich vor ein paar Tagen mit OpenAL auseinander gesetzt, und gestern beispielsweise ein Ogg Vorbis Lied ganz einfach abspielen können. OpenAL hat, wie OpenGL, ein wunderschönes Interface. Kann ich nur wärmstens empfehlen.

    Ich weiß bloß nicht, ob es schon eine art OpenIL gibt, also OpenInputLibrary - ein ersatz für DirectInput.

    mfg olli

    das hört sich natürlich auch gut an. weiss vielleicht jemand anders, ob es soetwas gibt (input library, pendant zu DirectInput) ?

    na wenn nicht, werd ich mir wohl irgendeine game-enigne nehmen, oder die sdl. ist die wirklich nicht für 3d-sachen geeignet?

    mfg,
    julian



  • OpenGL


Anmelden zum Antworten