2010-02-20 3 views
5

Ich habe ein kleines Problem. Ich habe vor kurzem einen Algorithmus erstellt, um dicke Linien auf dem Bildschirm zeichnen zu lassen (als Quad-Struktur), das Problem ist, dass wenn die Linie sehr lang und diagonal ist, das Aliasing sehr hoch ist, was die Linie sehr schlecht aussehen lässt. Was ist meine Chance, das Aliasing zu reduzieren, während ich versuche, eine hohe Leistung zu erzielen?Zeichnen Sie eine Antialiased Linie auf eine schnelle Weise

Ich verwende (wie die Tags sagen) DirectX als Grafik-API.

+0

Wenn Sie DirectX verwenden (hardwarebeschleunigt, ich gehe von Ihren Kommentaren aus), warum aktivieren Sie nicht einfach Anti-Aliasing? – Macke

+0

Ich kann das Antialiasing in der ganzen Szene nicht aktivieren (verlangsamt die Welt), nur weil ich möchte, dass die Linie gut aussieht. : P – feal87

+0

Fair genug. :) Allerdings ist zumindest bei aktuellen GPUs ein gut funktionierendes Anti-Aliasing zur Norm geworden. – Macke

Antwort

2

Es ist ein sehr guter Artikel in GPU Gems 2 über Anti-Aliasing-Technik für Linien, sehen sie hier:

http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter22.html

+0

Schön, Artikel. Ich werde sehen, diesen Algorithmus zu implementieren, auch wenn ich etwas ändern muss, wie mein System funktioniert. : P – feal87

+0

Ja, ich denke, es ist eines der besten Papiere auf den Linien AA da draußen. Viel Glück :) – Stringer

+0

Es ist ein großes Papier, aber kein Quellcode :( –

0

GPU Multisample- AA viel schneller als alles, die Sie auf der CPU tun oder GPU selbst.

Sie sollten das wirklich versuchen, bevor Sie in einer fast sicher falschen Richtung optimieren.

+0

Viele integrierte Karte vor allem auf DX10 nicht unterstützt Antialias überhaupt, es ist keine Wahl ... – feal87

+0

Alle DX10-Chips außer Intels IGP Mist unterstützen Multisampling hat nichts mit DX10 zu tun - sie haben es auch nie für frühere DX-Versionen unterstützt Für DX10.1 und DX11 werden sie gezwungen, es zu implementieren, weil es von der API benötigt wird Intel GMA-Besitzer sind wirklich Ihr Ziel Publikum? –

+0

Ich mache schließlich nicht Gaming, dann ja, es kann meine Zielgruppe sein. – feal87