C++/CLI und DirectX
-
Gibts eigentlich Tutorials wo so die grundlegenden Dinge beschrieben werden wie man mit C++/CLI und directX(egal welches) ein kleines spiel realisieren kann. Da hab ich noch keinerlei erfahrung.
greez denjo303
-
Was sollte anders sein als mit normalem C++ und DirectX? Muss man nix spezielles machen...
DirectX Tutorial für "normales C++" in Kombination mit C++/CLI Kenntnissen reicht da vollkommen aus.
-
ahja... ok, danke
-
mein problem ist hauptsächlich die Initialisierung auf eine WinForm. Welche libs ich brauche weiss ich, und die verlinkung auf das DirectX SDK hab ich auch, aber wie ich expliziet auf eine WinForm ein DirectX object stelle weiss ich nicht.
Win32 Projekte werden überall dargestellt. Nur nichts für WinForms.Oder Stell ich mich einfach nur blöd an???
-
denjo303 schrieb:
mein problem ist hauptsächlich die Initialisierung auf eine WinForm. Welche libs ich brauche weiss ich, und die verlinkung auf das DirectX SDK hab ich auch, aber wie ich expliziet auf eine WinForm ein DirectX object stelle weiss ich nicht.
Win32 Projekte werden überall dargestellt. Nur nichts für WinForms.Oder Stell ich mich einfach nur blöd an???
Alles was du brauchst ist doch ein
HWND
soweit ich mich erinnern kann? An dieses kommst du über dieForm::Handle
Eigenschaft.HWND formHWND = reinterpret_cast<HWND>(myForm->Handle.ToPointer());
Und damit kannst du nun DX initialisieren wie in den Beispielen :xmas2:
MfG
-
und dann...? native elemente in die .cpp einbauen?
-
denjo303 schrieb:
und dann...? native elemente in die .cpp einbauen?
What else?
-
Jupp, einfach ganz normale C++ Klassen (ohne "ref") verwenden.
Native im Sinne von "native code" muss dabei nix sein (fast alle C++ Konstrukte können zu IL Code compiliert werden). "native" in dem Sinn dass es keine "ref" Klassen sind allerdings schon.Eigene managed Wrapper zu schreiben wäre wohl overkill wenn man nur ein kleines Spiel in C++/CLI schreiben will.
Wenn dann einen fertigen verwenden, wie z.B. SlimDX http://slimdx.mdxinfo.com/
Dann könnte man aber vermutlich genausogut C# statt C++/CLI verwenden.
-
ok, danke, muss mal ein bissle testen.