Spiele mit MFC



  • Alles was ich bei Google erfahren habe, ist dass man nur ein Handle des CView
    Fensters brauche, aber wie geht die Interaktion zwischen MFC und DirectX ?


  • Mod

    Was für eine Interaktion? Du hast ein Fenster und das übernimmt DirectX.
    Hast Du die bestehenden Artikel gelesen?

    Hier ist noch einer...
    http://www.codeguru.com/cpp/g-m/directx/article.php/c1219/Basic-DirectX--MFC-game-project-template.htm



  • Also Ok, ich suche weiter bei Google.


  • Mod

    BitSpieler schrieb:

    Also Ok, ich suche weiter bei Google.

    Du sollst lesen was man Dir anbietet. Hast Du die Artikel soweit verstanden?
    Oder stelle dann gezielte Fragen...



  • Ich stell mich wahrscheinlich saublöd an, aber bei Codeguru, und unter
    Google: mfc DirectX habe ich nichts brauchbares gefunden. Ganz konkret muss
    ich wissen, wie ich bei DirectX in 3D eine Figur auswählen kann, und auf ein
    Zielfeld stelle. Dann wird ein Gegenzug berechnet, der auf 3D wieder angezeigt werden muss. Ich bin ohnehin auf der Suche nach verständlicher Literatur. In dem Buch das ich gekauft habe, stehen nur Programmschnippsel, die ich nicht zusammenfügen kann. Gibt es ein verständliches Buch mit weniger als 500 Seiten ?
    Ich muss hinzufügen, dass ich absoluter DirectX-Anfänger bin. Was die MFC
    angeht, muss man wahrscheinlich nur wissen, wie man DirectX das CView-Handle
    übergibt. Also, nimm mir meine Unprofessionalität nicht so übel ...



  • Um kein Missverständnis aufkommen zu lassen, mein 2D Schachprogramm
    funktioniert, es muss nur noch optimiert werden, so dass es mehr als 5 Halb-
    züge pro Stellung berechnet. Mein Spezialgebiet ist die Optimierung von
    GeoLisp-Programmen. GeoLisp, so habe ich meinen Lisp-Interpretierer genannt.
    Aber das gehöhrt bestimmt hier nicht her ...



  • PS: Die "verständliche Literatur" natürlich über DirectX !



  • BitSpieler schrieb:

    Ganz konkret muss
    ich wissen, wie ich bei DirectX in 3D eine Figur auswählen kann, und auf ein
    Zielfeld stelle.

    So direkt: gar nicht.
    Ich glaube du stellst dir DirectX (genauer: Direct3D) etwas zu "high levelig" vor.
    Direct3D ist recht "low level". Zumindest alles ab D3D9, und ältere Versionen kann man wohl ziemlich vergessen (schwer Beispiele zu finden, schlechte bis gar keine Unterstützung auf aktuellen Windows Versionen, schlechter Tool-Support etc.)
    D.h. du kannst da so sachen sagen wie "zeichne mir diesen Haufen Dreiecke mit diesem Shader und dieser Matrix". Und dann macht Direct3D das eben. Darum dass du diesen Haufen Dreiecke in den Speicher bekommst, dir die passende Matrix ausrechnest, alles in "Batches" unterteilst die den selben Shader und die selben Texturen verwenden etc. musst du dich selbst kümmern.
    "Picking", also das Beantworten der Frage "auf welches Objekt hat der User denn jetzt geklickt?", wird auch nicht direkt unterstützt.

    Ich vermute für dich wären eher Libraries/Engines wie Ogre, Irrlicht etc. interessant. Dort kannst du auf relativ hoher Ebene arbeiten, also wirklich ein Objekt laden und dann sagen das soll in der 3D Welt an diese oder jene Position. Und "Picking" ist dort ebenso integriert, muss man nur noch aufrufen.

    ps: Zumindest Irrlicht kann man auch ohne Probleme mit MFC zusammenknoten. Müsste aber mit fast jeder C++ 3D Engine für Windows gehen.



  • Danke hustbaer und Martin !



  • Ich war auch mal im Schachverein, in den 80ziger Jahren, da haben wir schon
    ziemlich damit zu tun gehabt die Programme zu toppen.

    Brettspiele sind leider nur noch im Knast in Mode, inzwischen will das auch keiner in einer Virtualisierung erleben müssen:
    https://www.freeware.de/download/3d-chess-unlimited/

    Es gibt hunderte 3D Schachprogramme... Warum willst Du Dich dort
    einreihen, wie wäre es das rasuschen eines Bildes mit DeepAnalysis zu betrachten
    Da wirst Du viel mehr an Informationen gewinnen können ...

    Grüsschen aus dem sonnigen Berlin


Anmelden zum Antworten