was ist einfacher ogengl oder directx



  • ich hab mich bisher mit opengl beschäft aber vor kuzem mit directx angefangen.
    bisher hab ich immer geglaubt directx sei einfacher, aber ich hab gemerekt, dass es beispielsweise um eine textur zu laden, es viel mehr qode benötigt als in opengl, und auch sonst kommt es mir schwerer vor.

    Doch jetzt möcht ich gerne mal von jemand anderem hörren welches schwerer ist.



  • Direct3D sieht vielleicht komplexer aus, OpenGL ist dafür imo anstregender zu verwenden.
    Was genau verstehst du unter "schwer"?
    OpenGL ist in seiner Natur vielleicht etwas abstrakter als D3D, aber am Ende sind beide APIs ziemlich gleichwertig...



  • ich mein wenn ich schon Opengl kann lohnt es sich dann noch auf directx umzusteigen.
    dazu würd ich halt gern wissen wie kompliziert directx ist.



  • Das hängt davon ab was du als kompliziert empfindest. Beide APIs tun am Ende ja das Gleiche, die grundlegenden Konzepte lassen sich 1:1 übertragen. Wenn man eine der beiden APIs beherrscht, kommt man meiner Erfahrung nach problemlos mit der anderen zurecht. Wobei ich behaupten würde, dass der Umstieg von Direct3D nach OpenGL leichter fällt als umgekehrt.

    Wenn du nur für Windows entwickelst würd ich dir Direct3D empfehlen, einfach weil es die imo bessere API ist.



  • dot schrieb:

    einfach weil es die imo bessere API ist.

    Das hast du ja schon öfter geschrieben, und mich würde mal interessieren warum du das so siehst?

    @alterbro
    DirectX ist nicht komplizierter als OpenGL. Wenn du Shader für GLSL schreiben kannst, kannst du die auch für HLSL schreiben. Algorithmen und Grundkonzepte ändern sich nicht. Insofern mach einfach worauf du Lust hast, aber halte dich nicht zu lange damit auf zu überlegen, ob du jetzt OpenGL oder DirectX nutzen willst, für dich wird das eh kaum einen Unterschied machen.



  • cooky451 schrieb:

    dot schrieb:

    einfach weil es die imo bessere API ist.

    Das hast du ja schon öfter geschrieben, und mich würde mal interessieren warum du das so siehst?

    Die Diskussion hatten wir grad unlängst mal: http://www.c-plusplus.net/forum/297668-10#2163826 😉



  • Oh stimmt. Ja, der eigentliche Vorteil von OpenGL plattformunabhängig zu sein hinkt leider etwas, da muss ich dir recht geben. Allerdings gibt es eigentlich genug Anfängermaterial auch für die moderneren Sachen. ( http://www.opengl.org/sdk/docs/man4/ http://www.arcsynthesis.org/gltut/ )
    Na ja, aber die Diskussion wollen wir ja wirklich nicht noch mal führen, hatte mich nur mal interessiert. 😉



  • Bezüglich der Plattformkompatibilität wäre ich mir auch nicht sicher.

    Braucht man den OpenGL-Programme auf einer anderen Plattform nur noch mal neu zu kompilieren oder muss man den Code noch irgendwie anpassen?

    Bei letzterem könnte man meiner Ansicht nach nicht mehr von Plattformkompatibilität sprechen.



  • adrgfadrgfaf schrieb:

    Braucht man den OpenGL-Programme auf einer anderen Plattform nur noch mal neu zu kompilieren oder muss man den Code noch irgendwie anpassen?

    Das Problem ist nicht OpenGL selbst (zumindest wenn man deren typedefs etc. nutzt), sondern das was man braucht um es zu nutzen. OpenGL selbst bleibt zwar unabhängig, aber die Kontexterstellung läuft überall anders. (Gehört halt nicht zum Teil von OpenGL. Keine Ahnung warum die das nicht mal standardisieren. Haben sie Angst sehr exotische Systeme zu verlieren? Aber letztlich werden die wohl kaum OpenGL nutzen. oO)



  • Das Komplizierte umfasst mathematische Dinge, Detailinformationen dazu, wie die Grafikkarte oder die Grafik-Pipeline arbeitet uvm.

    Wenn man das einmal verstanden hat, ist es für den Schwierigkeitsgrad imo egal, ob man OpenGL oder Direct3D nutzt. Ich würde eine Schwierigkeit von OpenGL/Direct3D als API nicht als Entscheidungskriterium dafür nehmen.



  • mir ist einfach aufgefallen dass opnegl nur mit methoden arbeitet, während bei dr3d diesess komische objekt zum zug kommt.
    ausserdem gibts fast nur einglische tutorials, und da bin ich auch (ich weis das ist für progs tabu) nicht ganz vorn dabei, ganz besonders bei diesem facheinglisch, aber ist vermutlich wirklich so das es kaum einen unterschied macht, dacke, ir habt mir gehlofen



  • adrgfadrgfaf schrieb:

    Bezüglich der Plattformkompatibilität wäre ich mir auch nicht sicher.

    Braucht man den OpenGL-Programme auf einer anderen Plattform nur noch mal neu zu kompilieren oder muss man den Code noch irgendwie anpassen?

    Das mit der Plattform Unabhängigkeit ist so eine Sache.

    Wenn man modernes OpenGL machen will (4.*) fällt Mac os x eh schonmal weg. Das geht momentan nur mit 3.2 (Heißt zB keine Sampler).

    Das gilt nur für Mac os X 10.7 (der aktuellste release aus Mid 2011). Wenn man älteres Mac os x unterstützen will ist man dann bei Opengl 2.1. Und das hat wirklich überhaupt nichts mehr mit modernen OpenGl zu tun.

    Wenn man auch kleinere Laptops adressieren will ist es mit modernen OpenGL genau so schnell vorbei. Bei Intel hört es Afaik schon bei 3.0 oder 3.1 auf und es gibt kaum 13" mit NVIDIA/AMD Karten. Das heißt Geometry Shader sind auch weg. Und wenn es nicht grade um Hardcore Spiele geht sind diese kleinen Rechner schon interessant. Ich spiele auf meinem 13" bisweilen zB gerne Minecraft zum Zeitvertreib.

    Wer noch mehr leiden will kann sich ja mal bei den Netbooks umschauen.

    Ich will jetzt nicht gegen OpenGl argumentieren. Ich nutze das selbst viel und halte die API für eine der besten C-Api's die ich gesehen habe, aber man sollte sich bei der Portabilität keine Illusionen machen. Hab ich anfangs getan was dazu geführt hat, dass ich 3 Runderer geschrieben habe. 4.2, 3.0 und 2.1. In der Reihenfolge. Hat auch garnicht mal so viel Spass gemacht.


Anmelden zum Antworten