directx8 oder 9: Bitmaps darstellen



  • Hallo,

    ich programmiere gerade ein 2D-Spiel.
    Ich greife bei der Darstellung der Bitmaps auf herkömmliche WinApis (BitBlt) zu.
    Nun ist es selbst für ein einfaches rundenbasierendes Spiel mit größerer Map relativ langsam. Nun wollte ich den Part der Darstellung der Bitmaps durch DirectX ersetzen.
    DirectDraw wollte ich nicht unbedingt verwenden, da Auslaufmodell.
    Nun habe ichleider kein Tutorial für Directx8 oder 9 gefunden, dass mir die Grundlagen für das Darstellen von Bitmaps erklärt.

    Kann mir da bitte einer weiterhelfen?

    Vielen Dank
    Viele Grüße
    Edwart



  • Wenn du noch nie etwas mit DirectX gemacht hast, rate ich dir trotzdem, mit DirectDraw anzufangen.

    Dort kannst du ohne den ganzen 3DKram dich ersteinmal mit der Arbeit mit den Surfaces vertraut machen (Locken, Füllen, Blitten).

    Auch die neueren DX Versionen setzen auf diesem Konzept auf, so dass du das Wissen dann später auch bei DirectGraphics nutzen kannst.



  • Ich würd' DD lassen, denn der Clipper Scheiss und so nervt extrem.

    Nimm DX9 und schau' Dir ID3DSprite an.



  • Nimm DX9 und schau' Dir ID3DSprite an.

    Bist du allerdings von Lizenzen abhängig, wenn du D3DX nimmst.



  • hmm, noch eine andere Frage.

    Derzeit habe ich Standard-Win-Elemente im Fenster (Buttons, Texte,..)
    Wenn ich nun DDraw verwende, werden diese Elemente weiter angezeigt, oder müssen die mir DirectX neu erzeugt werden?

    Habe irgendwie die befürchtung,das DDX sich das ganze fenster schnappt und drin rummalt wenn ich DDRAW verwende.

    Oder kann ich DDRAW genauso (aus Programmiersicht) verwenden wie BitBlt, wo ich einfach sag wo er noch ne Grafik hinmalen soll, ohne den Rest des Fensters zu beeinflussen?

    Vielen Dank
    Edwart



  • [DOPPELTER POST]



  • [DOPPELTER POST]



  • Hi,

    DDraw erlaubt dir den direkten Zugriff auf das Videoram.
    Das heißt, solange du nicht drübermalst, bleibt alles so, wie es sein soll.
    Du musst aber selber dafür sorge tragen, dass du in dem Bereich außerhalb der Buttons bleibst.
    Das kannst du z.B. mit einem unsichtbaren Static-Control erreichen, dessen Position du ausliest.

    Außerdem kannst du sogar von einer Surface ein GDI Context erfragen und dann mit GDI Funktionen in einer DDraw Surface rummalen.

    Hast du denn gar keine Dokumentation von dem DirectX7 SDK?
    Sie mal hier:
    http://msdn.microsoft.com/archive/en-us/ddraw7/directdraw7/ddover_7dx3.asp?frame=true


Anmelden zum Antworten