Announcement

Collapse
No announcement yet.

DirectX in Windows Forms Anwendung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • DirectX in Windows Forms Anwendung

    Hi Community,

    ich bin gerade am programmieren eines einfachen 2d-Strategiespiels. Das Spielfeld wird durch Dreiecke grafisch dargestellt. Hierfür verwende ich eine selbst geschriebene Funktion. Mein Problem ist, das bei einem großen Spielfeld schon einige tausend Dreiecke zusammenkommen. Da meine Dreiecksfunktion sehr langsam ist dauert das darstellen ewig. Also will ich das Darstellen der Dreiecke durch DirectX übernehmen lassen.

    Deswegen meine Frage: Kann ich über DirectX in eine Windows-Forms-Anwendung (Microsoft Visual C++ 2008) zeichnen.

  • #2
    Hallo,

    das sollte wohl möglich sein, vgl. mit http://www.codeproject.com/KB/mcpp/WFMDXCPP.aspx
    MfG
    Cheat-Sheets for Developers / Programming Quotes

    Comment


    • #3
      Danke!

      Damit kann ich schon ganz gut weiterarbeiten, aber kann mir jemand mit folgendem Code helfen, den ich versucht habe von C# nach C++ zu übersetzen:

      Original C# Code:
      Code:
      m_VertexBuffer = new VertexBuffer(typeof(CustomVertex.TransformedColored), 3, m_Device, Usage.WriteOnly, CustomVertex.TransformedColored.Format, Pool.Default);
      
      GraphicsStream stream = m_VertexBuffer.Lock(0,0,0);
      stream.Write(verts);
      m_VertexBuffer.Unlock();
      Mein Übersetzungsversuch:
      Code:
      m_VertexBuffer = gcnew VertexBuffer(typeof(CustomVertex::TransformedColored), 3, m_Device, Usage::WriteOnly, CustomVertex::TransformedColored::Format, Pool::Default);
      
      GraphicsStream ^stream = m_VertexBuffer->Lock(0,0,0);
      stream->Write(verts);
      m_VertexBuffer->Unlock();
      Fehler:
      error C2275: 'Microsoft:irectX:irect3D::CustomVertex::TransformedColored': Ungültige Verwendung dieses Typs als Ausdruck
      error C3861: "typeof": Bezeichner wurde nicht gefunden.
      error C2664: 'Microsoft:irectX::GraphicsStream ^Microsoft:irectX:irect3D::VertexBuffer::Lock(int,int,Microsoft:irectX:irect3D::LockFlags)': Konvertierung des Parameters 3 von 'int' in 'Microsoft:irectX:irect3D::LockFlags' nicht möglich

      Sorry wegen den Smileys, ich weiss leider nicht wie man abschaltet, dass automatisch aus : D ein wird.

      Comment


      • #4
        Das hier sollte dir helfen:
        http://www.pcmasters.de/download/inf...irectx-11.html

        Comment


        • #5
          Bitte keine uralt Posts wieder ausgraben!

          Danke!

          Comment

          Working...
          X