2010-02-20 15 views
5

Tengo un pequeño problema. Recientemente he creado un algoritmo para permitir que se dibujen líneas gruesas en pantalla (como una estructura cuádruple), el problema es que cuando la línea es muy larga y diagonal, el alias es muy alto, lo que hace que la línea se vea muy mal. ¿Cuál es mi oportunidad de reducir el alias mientras trato de tener un alto rendimiento?Dibuje una línea antialiased de forma rápida

Estoy usando (como dicen las etiquetas) DirectX como API de gráficos.

+0

Si está utilizando DirectX (hardware acelerado, supongo por sus comentarios a continuación), ¿por qué no simplemente habilita el anti-aliasing? – Macke

+0

No puedo activar el antialiasing en toda la escena (ralentizando el mundo) solo porque quiero que la línea se vea bien. : P – feal87

+0

Bastante justo. :) Sin embargo, el anti-aliasing de alto rendimiento se está convirtiendo en la norma, al menos en las GPU recientes. – Macke

Respuesta

2

Hay un artículo muy bueno en la GPU Gems 2 sobre la técnica de suavizado de líneas, ver aquí:

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

+0

Agradable, artículo. Veré implementar este algoritmo incluso si necesito cambiar un poco cómo funciona mi sistema. : P – feal87

+0

Sí, creo que es uno de los mejores artículos de las líneas AA. Buena suerte :) – Stringer

+0

Es un gran documento, pero no hay código fuente :( –

0

GPU multisample AA será mucho más rápido que cualquier cosa que usted puede hacer en la CPU o GPU usted mismo.

Realmente debería intentarlo antes de optimizarlo en una dirección casi segura.

+0

Muchas tarjetas integradas especialmente en DX10 no admiten antialias en absoluto, no es una opción ... – feal87

+0

Todos los chips DX10, excepto la mierda IGP de Intel admiten multimuestreo. no tiene nada que ver con DX10: nunca lo admitieron para versiones anteriores de DX. Para DX10.1 y DX11 se verán obligados a implementarlo, ya que es requerido por la API. Son propietarios de Intel GMA realmente su objetivo audiencia? –

+0

No estoy haciendo juegos después de todo, entonces sí, puede ser mi público objetivo. – feal87

Cuestiones relacionadas