Asíntota: ¿Cómo dibujar superficies con más de cuatro vértices sin "costuras"?

Asíntota: ¿Cómo dibujar superficies con más de cuatro vértices sin "costuras"?

En Asíntota 3D, necesito dibujar superficies con más de 4 vértices, pero cuando lo hago, simplemente no funciona (no puedo reproducir esto en un ejemplo simple, pero puedo proporcionar un caso más complicado donde esto sucede si es útil) o aparece una costura, como en el siguiente ejemplo:

settings.prc = false;
defaultpen(fontsize(10pt));
import three;
import graph3;
import patterns;
size(11cm,0);

currentprojection=perspective((10,-20,10));
currentlight = (3,-2,3);

render render = render(compression=Low, merge = true);

draw(surface((0,0,0) -- (1,0,0) -- (1,1,0) -- (0.5,1.5,0) -- (0,1,0) -- cycle), lightblue+opacity(0.5), render);

Ejecutando este comando

asy -noprc -render 0 -f pdf example.asy

da la siguiente imagen:

"Casa" generada por el código.

¿Hay alguna manera de deshacerse de la "costura" azul oscuro?

Respuesta1

Parece que el "comportamiento de la costura" depende del visor de PDF y de la -renderopción. Los problemas de "unión" aparecen con la opacidad y -render=0la opción: dependiendo del visor de PDF, la superposición de un borde común de los dos parches crea ese comportamiento.

Con -noprcy -render=0tenemos "seam" con Okular, acroread, gv (la imagen está vectorizada). Sin "costura" con evince, mupdf, zathura. Tengo problemas de transparencia con evince y zathura. mupdf está bien.

Con -noprc(para que se utilice el renderizado OpenGL y se produzca una imagen de mapa de bits) no hay ninguna "costura" en absoluto.

Para ser precisos, todas las versiones están actualizadas de Debian Sid.

Como se explica en la documentación, -render=0es muy limitado.

información relacionada