Dibujo un cuadrado redondeado con la función: draw_roundrect(), pero le salen molestos picos en los bordes redondeados, ¿Alguien sabe si eso se puede solucionar?  :-\


Eso es por que la imagen es muy pequeña, mientras mas grande mejor se vera el efecto redondeado

Cita de: 7sixerCF en Enero 25, 2015, 02:29:39 AM
Eso es por que la imagen es muy pequeña, mientras mas grande mejor se vera el efecto redondeado

Para nada!, ya he probado con más resoluciones y sigue igual de pésimo  :-X

#3 Enero 25, 2015, 03:00:31 AM Ultima modificación: Enero 25, 2015, 06:08:16 PM por 3dgeminis
Si en verdad precisas que los bordes se vean perfectos podes usar una sprites vectoriales
http://help.yoyogames.com/entries/47271258--GMS-S-Vector-Sprites

Cita de: 3dgeminis en Enero 25, 2015, 03:00:31 AM
Si en verdad precisas que los bordes se vean perfectos podes usar una sprites vectoriales http://help.yoyogames.com/entries/47271258--GMS-S-Vector-Sprites[/b]]http://help.yoyogames.com/entries/47271258--GMS-S-Vector-Sprites

He pensado usar sprites, pero no me sería muy funcional, ya que necesitaría estirar los sprites y al hacerlo, los bordes redondeados se deformarían...  :(

No creo que haya solución, al menos dentro de las funciones nativas de game maker.  Hasta donde sé, las funciones de dibujo de GMS no usan antialiasing, por lo que siempre que se usen aparecerán bordes dentados, sin importar si la figura es grande o pequeña.

Se puede "emular" con sprites sin estirarlos, con algunas limitaciones.

Dejo un ejemplo hecho rápido. El script se puede mejorar para soportar distintos sprites con distintos tamaños (sino no funciona bien para dibujar cuadrados muy pequeños). También requiere que las primeras coordenadas sean de la esquina superior izquierda. Eso también se puede modificar para poder pasar cualquiera de las esquinas.
Vim.

Usa la funcion display_reset para determinar el cantidad de antialiasing que debe usarse.

Puedes usar la variable display_aa para determinar el nivel de antialiasing del que es capaz el equipo.

Alternativamente puedes usar un shader de Antialiasing aproximado:

https://marketplace.yoyogames.com/assets/1360/fxaa-shader