DirectX Image zeichnen

pria

Mitglied
Moin,
ich hab mal aus jux und dollerei ain DirectX-Programm gebaut und wollte nun ein einfaches Image auf mein Fenster zeichnen , doch es flackert wie verrückt. Ich hab den Code für das flackerfreie Zeichnen verwendet , doch ohne den DoubleBuffer flackert das Image und mit dem DoubleBuffer flackert das komplette gerenderte.
Weiss jemand wie ich ein Image auf mein Fenster zeichnen kann , ohne dass es flackert und ohne dass es in meinem Gerenderten (also in meinem koordiantensystem) herumsteht?

Kann ich dafür eventuell Sprites verwenden und wenn ja , werden diese dann in mein Koordinatensystem übernommen(wäre allein wegen der kolision schon doof)?
 
Kann mir nicht einer ein Beispiel geben , wie ich von meinem device ein Graphics-Objekt erstellen kann? Ich erhalte immer eine InvalidCallException.

Code:
m_device = new Device(0, DeviceType.Hardware, this, flags, pp);

            g = m_device.GetRenderTarget(0).GetGraphics(); //Exception hier
 
Hier ist ja anscheinend keiner in der Lage mir zu helfen.

Ich hab ne andere Lösung gefunden. Ich hab ein neues Form erstellt und als TopMost definiert , dannach habe ich es genau über meiner Rendering-Form angeordnet und als TransparenceKey die Farbe des Hintergrundes dieser Form definiert.Wenn ich nun auf diesem Form zeichne , was Flackerfrei funktioniert , da hier der DoubleBuffer wieder verwendet werden kann , wird das Image auf dem Transparenten Frame dargestellt und unter diesem wird auf meinem DX-Frame gerendert.
Klappt wunderbar und vor allem flüssig.

Ich gebe zu , dass es nicht die beste Lösung ist , aber durchaus eine funktionale.
Trotzdem danke an alle , die hier helfen wollten.
 

Neue Beiträge

Zurück