C++/CLI und Direct3D möglich?



  • Hallo,

    vorab muss ich erst mal erwähnen dass ich wirklich 0 Ahnung von C++ habe. Ich bekomme aber den Eindruck in gewissen Fällen mich damit auseinandersetzen zu müssen, und bin unsicher bei der Plattform.

    Ich möchte eine Anwendung entwickeln die vor allem Direct3D, DirectShow und evtl. MediaFoundation verwendet. Da ich aus der C#, VB.NET Ecke komme würde mir nur der Weg über Wrapper bleiben.

    Da wären
    - SlimDX: Managed, aber müsste mich einarbeiten
    - Managed Bibliotheken von MS. Werden nicht mehr weiter entwickeln. Somit fallen die weg.

    Nun frage ich mich, da SlimDX für mich irgendwie nicht ganz griffig ist und eh ein dazulernen angesagt ist, ob ich nicht etwas C++ lernen sollte. Mein Plan wäre dann Hauptsächlich bei C# zu bleiben, und Direct3D und DirectShow von C++/CLI aus anzusprechen.

    Alle Beispiele aus dem Windows bzw. DirectX SDK sind aber Win32 Projekte, so dass ich unsicher bin ob das überhaupt funktionieren würde wie ich mir das vorstelle.

    Vielleicht hat der eine oder andere schon einige Erfahrungen sammeln können.

    Gruß Thorsten



  • C++ != C++/CLI.



  • In C++/CLI ist alles möglich... das ist der große Vorteil...

    Aber nicht alles was möglich ist, ist auch gut.



  • Vergiss es! C++/CLI ist bullshit! Die mühe das zu lernen ist es einfach nicht wert. Wenn du gleiche Zeit, wie du Sie bei C++/CLI benötigst, für reines C++ imnvestierst erreichst du dann mit reinem C++ weit mehr!



  • Wenn du eh eine Direct3D Anwendung erstellen willst, und daher gar nicht oder nicht viel auf Windows Steuerelemente (z.B. Buttons, Editfelder etc.) zurückgreifen musst würde ich dir eine reine C++ Win32 Anwendung empfehlen. Es gibt da sehr gute Tutorials die dir eine Art Framework bereitstellen, welche schonmal ein Fenster mit nem Device-Context usw erstellen, in welchem du dann wild rumzeichnen kannst wies dir gefällt 😉

    Ich muss dich aber warnen, Leuten aus der C# Ecke kommen viele Sachen in C++ sehr umständlich und veraltet vor, was aber zum großteil daran liegt das C++ viel Hardware- bzw. Betriebssystemnäher ist und eine weniger Umfangreiche Standardbibliothek bietet.

    Gruß,
    Marius



  • Hallo,

    danke erstmal für die Antworten. Nun mir scheint Direct3D mit CLI auch weniger geeignet da es dafür keine Beispiele gibt. Eine komplette Anwendung in C++ empfine ich als Bestrafung, sorry.
    Evtl. schaffe ich es die 3D Funtionen in eine C++ DLL auszulagern um diese anschließend über Interop aufzurufen. Ist aber sicherlich auch auch mit weiteren Problemen behaftet. Ich könnte mir aber vorstellen auf diese Weise eher an Hilfe zu gelangen wenn ich nicht weiter komme.

    Ich mache mal Versuche in dieser Richtung. Wenn jemand Beispiele kennt...als her damit 🙂

    Gruß Thorsten



  • Vielleicht solltest Du Dir mal Dark GDK anschauen...
    http://www.thegamecreators.com/?m=view_product&id=2128



  • Oder auch die Irrlich 3D Engine, die gibts auch für .NET, falls du eine fertige Engine verwenden willst.


Log in to reply