Einfache linien im DirectX fenster malen, wie ?



  • hi,
    ich bin neu in der DirectX szene und bin forh das ich des mit den back buffer ect etwas kapiert habe wie man da bilder reinlädt und das dann mit der primarysurface flippt aber wie male ich manuel ne line oder rechteck ins große schwarze "fenster"( screen ).

    Gruß Tobi.



  • Was heißt hier DirectX? Welche Version denn?
    Es ist ein Unterschied, ob du das mit DDraw machst, mit D3D oder mit DGraphics.

    Bei den letzten beiden würde ich Primitives rendern mit fertig transformierte/belichteten Punkten.

    Bei DDraw entweder mit dem Bresenham-Algo und die Rechtecke blitten. Oder sich den DeviceContext holen und mit der Windows GDI das machen. (Gibt es ein Beispiel zu in dem DX7 SDK.



  • naja direct draw 7



  • Jup, wie gesagt, hol dir über die BackSurface ein DeviceContext (DC) und mal dann mit der GDI rein.



  • mal ne frage... wenn ich jetzt nen bild habe sagen wir ein laufendes game
    und ich möchte von meinem programm aus, aus dem back buffer eine linie ins bild blitten... geht dann nicht das bild vomn game verloren? also das alles schwarz ist?

    wenn ja wie könnte man das so anstellen das nur die linie geblittet wird?



  • Du willst also blitten, nicht flippen?

    Du kannst auch auf direkt auf die PrimarySurface blitten.
    Mit geeignetem ColorKeying wird das Schwarz dann nicht mitkopiert.



  • also nur mal ne frage ob das geht:

    - kann ich eine anwendung schreiben die selber nen back buffer hat, in den ich dann eine linie male( wie macht man das? )

    - kann ich mir dan via GetSurfaceFromDC() die surface eines games holen?

    - und kann ich dann die linie ins bild blitten OHNE das es flackert?



  • ja?


Anmelden zum Antworten