Entwickler-Ecke

Algorithmen, Optimierung und Assembler - Schnelles LineTo mit Scanline


user32 - Mo 04.07.16 06:13
Titel: Schnelles LineTo mit Scanline
Hi, kennt jemand einen Scanline-Algorithmus für LineTo/MoveTo ?
Canvas ist wie immer zu langsam.

Also z.b. eine Linie von [200,100] bis [300,100] ... dann macht er halt


Delphi-Quelltext
1:
2:
3:
b = Scanline[100]
b = b+200*3
FillMemory(b, (300-200)*30)

Sowas wäre cool. Das ist natürlich nur der einfachste Fall (horizontale schwarze Linie).

Bevor ich jetzt aber hier anfange mit Schnittpunkten rumzurechnen oder was auch immer und mir die Arbeit umsonst mache, wollte ich lieber mal nachfragen,.
Es muss sicher sowas geben für Linienfreunde die gerne viel zeichnen. :angel:


jaenicke - Mo 04.07.16 07:52

Ich würde Direct2D benutzen:
http://docwiki.embarcadero.com/RADStudio/Berlin/de/Die_Direct2D-Zeichenfl%C3%A4che
Das ist richtig schnell im Vergleich zum normalen Canvas.


ssb-blume - Mo 04.07.16 09:00

Wenn Du es selber machen willst, dann google mal unter "Bresenham"

Hansi


user32 - Mo 04.07.16 09:48

Aha! Das ist doch mal was. Danke euch beiden.

user profile iconssb-blume hat folgendes geschrieben Zum zitierten Posting springen:
Wenn Du es selber machen willst, dann google mal unter "Bresenham"

Hansi

Ziemlich interessant eigentlich. Vielleicht probier ich das doch mal.