Does anybody know how to force Acrobat to display interactive 3D objects created by Asymptote with nice antialiasing? (during PRC interaction).

In Acrobat Linux 9.4, I see this (note the pixelated result):


I tried all the setting in Acrobat's 3D settings with no luck, I also tried running acroread with a bunch of GL options.

$ __GL_SYNC_TO_VBLANK=1 __GL_FSAA_MODE=9 __GL_LOG_MAX_ANISO=3 acroread figure.pdf

I think I remember making it display antialiased 3D rendering in the past but I don't remember how.

enter image description here


$ asy figure.asy -outformat pdf

import unicode;
import palette;
import three;
currentprojection=orthographic(20,-40 , 70, center=true);
import graph3;
size(8cm, 0);
xaxis3(Label("$x$"), blue, arrow=Arrow3);
yaxis3(Label("$y$"), blue, arrow=Arrow3);
zaxis3(Label("$z$"), blue, arrow=Arrow3);

This is the only documentation that I could find https://helpx.adobe.com/acrobat/using/displaying-3d-models-pdfs.html#3dpreferences

Note: it may be related to this issue with Mathematica for Linux, https://mathematica.stackexchange.com/questions/198/antialiasing-in-3d

EDIT: Just tried Windows Acrobat 9.4.0 inside Linux Wine, and the 3D antialiasing works perfectly. (the preference in the 3D dialog is DirectX9, which is not available in the native Linux version.)


These are the libraries used by Acrobat Reader Linux, note that it uses libGL.so.

$ ldd /opt/Adobe/Reader9/Reader/intellinux/bin/acroread 
    linux-gate.so.1 (0xf77a6000)
    libBIB.so => not found
    libBIBUtils.so => not found
    libACE.so => not found
    libAGM.so => not found
    libCoolType.so => not found
    libAXE8SharedExpat.so => not found
    libJP2K.so => not found
    libAdobeXMP.so => not found
    libpthread.so.0 => /lib/libpthread.so.0 (0xf7758000)
    libicuuc.so.36 => not found
    libssl.so.0.9.8 => not found
    libcrypto.so.0.9.8 => not found
    libxml2.so.2 => /lib/libxml2.so.2 (0xf75f3000)
    libm.so.6 => /lib/libm.so.6 (0xf75a5000)
    libdl.so.2 => /lib/libdl.so.2 (0xf759f000)
    libgdk_pixbuf_xlib-2.0.so.0 => /lib/libgdk_pixbuf_xlib-2.0.so.0 (0xf758d000)
    libgtk-x11-2.0.so.0 => /lib/libgtk-x11-2.0.so.0 (0xf70ca000)
    libgdk-x11-2.0.so.0 => /lib/libgdk-x11-2.0.so.0 (0xf7008000)
    libatk-1.0.so.0 => /lib/libatk-1.0.so.0 (0xf6fe4000)
    libgdk_pixbuf-2.0.so.0 => /lib/libgdk_pixbuf-2.0.so.0 (0xf6fb9000)
    libpango-1.0.so.0 => /lib/libpango-1.0.so.0 (0xf6f6d000)
    libgobject-2.0.so.0 => /lib/libgobject-2.0.so.0 (0xf6f19000)
    libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0xf6dd7000)
    libX11.so.6 => /lib/libX11.so.6 (0xf6c96000)
    libc.so.6 => /lib/libc.so.6 (0xf6ac8000)
    libstdc++.so.6 => /lib/libstdc++.so.6 (0xf694e000)
    libResAccess.so => not found
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xf6930000)
    /lib/ld-linux.so.2 (0x56560000)
    libz.so.1 => /lib/libz.so.1 (0xf6917000)
    liblzma.so.5 => /lib/liblzma.so.5 (0xf68ec000)
    libgmodule-2.0.so.0 => /lib/libgmodule-2.0.so.0 (0xf68e6000)
    libgio-2.0.so.0 => /lib/libgio-2.0.so.0 (0xf6751000)
    libpng16.so.16 => /lib/libpng16.so.16 (0xf671a000)
    libpangocairo-1.0.so.0 => /lib/libpangocairo-1.0.so.0 (0xf670d000)
    libXfixes.so.3 => /lib/libXfixes.so.3 (0xf6707000)
    libcairo.so.2 => /lib/libcairo.so.2 (0xf65c6000)
    libpangoft2-1.0.so.0 => /lib/libpangoft2-1.0.so.0 (0xf65b0000)
    libfontconfig.so.1 => /lib/libfontconfig.so.1 (0xf656d000)
    libXrender.so.1 => /lib/libXrender.so.1 (0xf6561000)
    libXinerama.so.1 => /lib/libXinerama.so.1 (0xf655d000)
    libXi.so.6 => /lib/libXi.so.6 (0xf654a000)
    libXrandr.so.2 => /lib/libXrandr.so.2 (0xf653e000)
    libXcursor.so.1 => /lib/libXcursor.so.1 (0xf6532000)
    libXcomposite.so.1 => /lib/libXcomposite.so.1 (0xf652e000)
    libXdamage.so.1 => /lib/libXdamage.so.1 (0xf652a000)
    libXext.so.6 => /lib/libXext.so.6 (0xf6516000)
    libgthread-2.0.so.0 => /lib/libgthread-2.0.so.0 (0xf6512000)
    libthai.so.0 => /lib/libthai.so.0 (0xf6508000)
    libffi.so.6 => /lib/libffi.so.6 (0xf6500000)
    libxcb.so.1 => /lib/libxcb.so.1 (0xf64da000)
    libselinux.so.1 => /lib/libselinux.so.1 (0xf64b6000)
    libresolv.so.2 => /lib/libresolv.so.2 (0xf649a000)
    libharfbuzz.so.0 => /lib/libharfbuzz.so.0 (0xf6436000)
    libfreetype.so.6 => /lib/libfreetype.so.6 (0xf638e000)
    libpixman-1.so.0 => /lib/libpixman-1.so.0 (0xf62e1000)
    libEGL.so.1 => /lib/libEGL.so.1 (0xf62b2000)
    libxcb-shm.so.0 => /lib/libxcb-shm.so.0 (0xf62ad000)
    libxcb-render.so.0 => /lib/libxcb-render.so.0 (0xf62a2000)
    libGL.so.1 => /lib/libGL.so.1 (0xf61f0000)
    librt.so.1 => /lib/librt.so.1 (0xf61e7000)
    libexpat.so.1 => /lib/libexpat.so.1 (0xf61bf000)
    libdatrie.so.1 => /lib/libdatrie.so.1 (0xf61b5000)
    libXau.so.6 => /lib/libXau.so.6 (0xf61b1000)
    libpcre.so.1 => /lib/libpcre.so.1 (0xf613d000)
    libgraphite2.so.3 => /lib/libgraphite2.so.3 (0xf6111000)
    libbz2.so.1 => /lib/libbz2.so.1 (0xf60fe000)
    libX11-xcb.so.1 => /lib/libX11-xcb.so.1 (0xf60fa000)
    libxcb-dri2.so.0 => /lib/libxcb-dri2.so.0 (0xf60f4000)
    libxcb-dri3.so.0 => /lib/libxcb-dri3.so.0 (0xf60f0000)
    libxcb-present.so.0 => /lib/libxcb-present.so.0 (0xf60ec000)
    libxcb-randr.so.0 => /lib/libxcb-randr.so.0 (0xf60dc000)
    libxcb-xfixes.so.0 => /lib/libxcb-xfixes.so.0 (0xf60d2000)
    libxcb-shape.so.0 => /lib/libxcb-shape.so.0 (0xf60cd000)
    libxcb-sync.so.1 => /lib/libxcb-sync.so.1 (0xf60c5000)
    libxshmfence.so.1 => /lib/libxshmfence.so.1 (0xf60c2000)
    libgbm.so.1 => /lib/libgbm.so.1 (0xf60b4000)
    libwayland-client.so.0 => /lib/libwayland-client.so.0 (0xf60a7000)
    libwayland-server.so.0 => /lib/libwayland-server.so.0 (0xf6096000)
    libdrm.so.2 => /lib/libdrm.so.2 (0xf6085000)
    libglapi.so.0 => /lib/libglapi.so.0 (0xf603b000)
    libxcb-glx.so.0 => /lib/libxcb-glx.so.0 (0xf6020000)
    libXxf86vm.so.1 => /lib/libXxf86vm.so.1 (0xf6019000)

I uploaded the resulting PDF here: https://dropfile.to/G1yBf (it can only be opened with Acrobat)

closed as off-topic by egreg, Mensch, Thorsten, Paul Gaborit, Ian Thompson Apr 7 '16 at 8:02

  • This question does not fall within the scope of TeX, LaTeX or related typesetting systems as defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

  • Is the interactive functionality important to you? If not, you could add the -noprc flag to the asy compilation. – Charles Staats Mar 26 '16 at 20:19
  • @CharlesStaats, yes, this happens after I click and rotate the figure interactively inside Acrobat. (The static image is decent and was rendered at the point of asy compilation.) I remember making this work in the past, but maybe at that time the graphics cards that I had was different (nVidia), now I have a cheap Intel video card. – alfC Mar 27 '16 at 1:31
  • 1
    Indeed, there is no antialiasing in the Linux version of AR. On the other hand, the newer versions X, XI on Windows nicely display the content with antaliasing. – AlexG Apr 1 '16 at 7:45
  • 1
    I just tried as you did. I am by no means an expert here. So I really don't know whether there might be or not some setting possible outside AR. Maybe the graphics card or OpenGL allow for configuring antialiasing? – AlexG Apr 1 '16 at 10:28
  • 4
    I'm voting to close this question as off-topic because the question is about a feature of Adobe (Acrobat) Reader that is not supported on every platform or every version of the software. – egreg Apr 7 '16 at 7:22