"c++" .NET DirectX Steuerelement

Raven280438

Erfahrenes Mitglied
Hi,

ich möchte mit dem .NET Framework in C++ ein Map-Editor für ein 3D Spiel programmieren.
Dazu benötigt ich ein Steuerelement, in dem ich z.b. 3d Models mit DirectX anzeigen kann.

Bei Google hab ich nichts dazu gefunden. Kennt jemand ein Tutorial wo so ein Steuerelement entwickelt wird?


Gruß
 
Ein Winforms-Steuerelement? Mir nichts bekannt.

Vorallem, da es ja nicht "das" 3d-Model gibt, sondern auch unterschiedliche Formate.

Da wird dir wohl nichts anderes übrig bleiben, als dich mit DX selber auseinanderzusetzen
 
Zuletzt bearbeitet:
Es ist grundsätzlich in jedem Control möglich zu rendern. Am einfachsten ist es sicher, wenn du ein ganzes Formular oder ein Panel darin verwendest.
 
Hi,

ich möchte eigendlich einfach nur einen Bereich in einem Form (nicht das komplette Form), in dem ich ein 3D Model mit DirectX anzeigen kann.

Wie kann ich sowas machen?
 
Hi,

so richtig versteh ich das nicht ...
Bin ziemlicher Anfänger was C++ angeht. Erfahrung hab ich eher in C# und PHP.

Muss ich einen eigenen Control schreiben (von Control abgeleitet)? Und wie gehts dann weiter um etwas zu rendern?

Kannst du das etwas näher erläutern oder gibts dazu ein Tutorial oder ähnliches?


Gruß
 
Hallo Raven

Eine Frage wäre jetzt sicher mal: Verwendest du unverwaltetes C++ oder verwaltetes? Was genau hast du vor: Ein Fenster mit .NET zu machen und das ganze Rendering dann in C++, oder wie?
 
Hi,

ich verwende im Moment noch garnichts ;)
ich bin noch in der Planungsphase.

Um C++ zu lernen habe ich vor, ein kleines Spiel zu schreiben, was auf DirectX basiert. Das Ganze soll in einem WindowsForm angezeigt werden um auch verschiedene Steuerelemente benutzen zu können.

Der Unterschied zwischen verwaltetem und unverwaltetem C++ ist mir nicht geläufig...
 
Ok, also grundsätzlich ist die Frage, ob du im Code des Spiels auch das .NET-Framework verwenden willst (verwaltet) oder aber darauf verzeichtest (unverwaltet). Wenn ja, dann kann man das Thema komplett nach .NET verschieben.

Ansonsten:
Du kannst DirectX ganz normal verwenden mit einem verwaltet erstellten Fenster. Jedes auf Formularen basierende Fenster im .NET-Framework erbt von System.Windows.Forms.Control welches einen Member Handle (ein IntPtr) hat, den du via IntPtr.ToPointer in einen void* umwandeln kannst und als unverwalteten HWND verwenden kannst. Das ist alles was du in DirectX eigentlich direkt vom Fenster brauchst.
 
Hi,

ok damit ist die Frage nach Verwaltetem und unverwaltetem C++ geklärt ;)
Da ich C# relativ gut kann würde ich gerne das .NET Framework verwenden.


Also muss ich bei der DirectX Erzeugung nur das Handle eines Steuerelements an DirectX übergeben?


Gruß
 
Zurück