summaryrefslogtreecommitdiff
path: root/Build/source/utils/asymptote/examples
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/utils/asymptote/examples')
-rw-r--r--Build/source/utils/asymptote/examples/BezierPatch.asy2
-rw-r--r--Build/source/utils/asymptote/examples/Klein.asy2
-rw-r--r--Build/source/utils/asymptote/examples/RiemannSurface.asy2
-rw-r--r--Build/source/utils/asymptote/examples/RiemannSurfaceRoot.asy5
-rw-r--r--Build/source/utils/asymptote/examples/SierpinskiGasket.asy2
-rw-r--r--Build/source/utils/asymptote/examples/SierpinskiSponge.asy2
-rw-r--r--Build/source/utils/asymptote/examples/basealign.asy2
-rw-r--r--Build/source/utils/asymptote/examples/cheese.asy2
-rw-r--r--Build/source/utils/asymptote/examples/cos3.asy10
-rw-r--r--Build/source/utils/asymptote/examples/cyclohexane.asy2
-rw-r--r--Build/source/utils/asymptote/examples/elevation.asy2
-rw-r--r--Build/source/utils/asymptote/examples/epix.asy2
-rw-r--r--Build/source/utils/asymptote/examples/equilchord.asy2
-rw-r--r--Build/source/utils/asymptote/examples/exp3.asy7
-rw-r--r--Build/source/utils/asymptote/examples/extrudedcontour.asy9
-rw-r--r--Build/source/utils/asymptote/examples/filesurface.asy2
-rw-r--r--Build/source/utils/asymptote/examples/gamma3.asy2
-rw-r--r--Build/source/utils/asymptote/examples/magnetic.asy3
-rw-r--r--Build/source/utils/asymptote/examples/p-orbital.asy5
-rw-r--r--Build/source/utils/asymptote/examples/parametricelevation.asy2
-rw-r--r--Build/source/utils/asymptote/examples/parametricsurface.asy2
-rw-r--r--Build/source/utils/asymptote/examples/pipeintersection.asy3
-rw-r--r--Build/source/utils/asymptote/examples/roll.asy2
-rw-r--r--Build/source/utils/asymptote/examples/shellsqrtx01.asy8
-rw-r--r--Build/source/utils/asymptote/examples/sin3.asy7
-rw-r--r--Build/source/utils/asymptote/examples/sinc.asy9
-rw-r--r--Build/source/utils/asymptote/examples/slidedemo.asy7
-rw-r--r--Build/source/utils/asymptote/examples/soccerball.asy2
-rw-r--r--Build/source/utils/asymptote/examples/sphere.asy2
-rw-r--r--Build/source/utils/asymptote/examples/sphericalharmonic.asy2
-rw-r--r--Build/source/utils/asymptote/examples/spiral3.asy3
-rw-r--r--Build/source/utils/asymptote/examples/splitpatch.asy2
-rw-r--r--Build/source/utils/asymptote/examples/sqrtx01.asy2
-rw-r--r--Build/source/utils/asymptote/examples/sqrtx01y1.asy3
-rw-r--r--Build/source/utils/asymptote/examples/stroke3.asy4
-rw-r--r--Build/source/utils/asymptote/examples/threeviews.asy2
-rw-r--r--Build/source/utils/asymptote/examples/torus.asy2
-rw-r--r--Build/source/utils/asymptote/examples/trefoilknot.asy2
-rw-r--r--Build/source/utils/asymptote/examples/trumpet.asy6
-rw-r--r--Build/source/utils/asymptote/examples/truncatedIcosahedron.asy2
-rw-r--r--Build/source/utils/asymptote/examples/twistedtubes.asy2
-rw-r--r--Build/source/utils/asymptote/examples/vectorfieldsphere.asy4
-rw-r--r--Build/source/utils/asymptote/examples/washer.asy5
-rw-r--r--Build/source/utils/asymptote/examples/washermethod.asy8
-rw-r--r--Build/source/utils/asymptote/examples/wedge.asy6
-rw-r--r--Build/source/utils/asymptote/examples/xxsq01.asy8
-rw-r--r--Build/source/utils/asymptote/examples/xxsq01x-1.asy3
-rw-r--r--Build/source/utils/asymptote/examples/xxsq01y.asy8
48 files changed, 108 insertions, 75 deletions
diff --git a/Build/source/utils/asymptote/examples/BezierPatch.asy b/Build/source/utils/asymptote/examples/BezierPatch.asy
index 0e6b477eb13..8d770e058ae 100644
--- a/Build/source/utils/asymptote/examples/BezierPatch.asy
+++ b/Build/source/utils/asymptote/examples/BezierPatch.asy
@@ -1,7 +1,7 @@
import three;
size(10cm);
-currentlight=(0,0,1);
+currentlight=Viewport;
surface s=surface(patch(new triple[][] {
{(0,0,0),(1,0,0),(1,0,0),(2,0,0)},
diff --git a/Build/source/utils/asymptote/examples/Klein.asy b/Build/source/utils/asymptote/examples/Klein.asy
index b2f6d1b0e79..99914d90432 100644
--- a/Build/source/utils/asymptote/examples/Klein.asy
+++ b/Build/source/utils/asymptote/examples/Klein.asy
@@ -22,7 +22,7 @@ triple f(pair t) {
}
surface s=surface(f,(0,0),(2pi,2pi),8,8,Spline);
-draw(s,lightolive+white,"bottle");
+draw(s,lightolive+white,"bottle",render(merge=true));
string lo="$\displaystyle u\in[0,\pi]: \cases{x=3\cos u(1+\sin u)+(2-\cos u)\cos u\cos v,\cr
y=8\sin u+(2-\cos u)\sin u\cos v,\cr
diff --git a/Build/source/utils/asymptote/examples/RiemannSurface.asy b/Build/source/utils/asymptote/examples/RiemannSurface.asy
index f32ca4d7539..a1f1b665089 100644
--- a/Build/source/utils/asymptote/examples/RiemannSurface.asy
+++ b/Build/source/utils/asymptote/examples/RiemannSurface.asy
@@ -10,4 +10,4 @@ triple f(pair t) {return (exp(t.x)*cos(t.y),exp(t.x)*sin(t.y),t.y);}
surface s=surface(f,(-4,-2pi),(0,4pi),8,16,Spline);
s.colors(palette(s.map(zpart),Rainbow()));
-draw(s);
+draw(s,render(merge=true));
diff --git a/Build/source/utils/asymptote/examples/RiemannSurfaceRoot.asy b/Build/source/utils/asymptote/examples/RiemannSurfaceRoot.asy
index 93bd7035842..8cb3af2cfa9 100644
--- a/Build/source/utils/asymptote/examples/RiemannSurfaceRoot.asy
+++ b/Build/source/utils/asymptote/examples/RiemannSurfaceRoot.asy
@@ -1,11 +1,10 @@
// Riemann surface of z^{1/n}
import graph3;
import palette;
-
+
int n=3;
size(200,300,keepAspect=false);
-//settings.nothin=true;
currentprojection=orthographic(10,10,30);
currentlight=(10,10,5);
@@ -14,4 +13,4 @@ triple f(pair t) {return (t.x*cos(t.y),t.x*sin(t.y),t.x^(1/n)*sin(t.y/n));}
surface s=surface(f,(0,0),(1,2pi*n),8,16,Spline);
s.colors(palette(s.map(zpart),Rainbow()));
-draw(s,meshpen=black);
+draw(s,meshpen=black,render(merge=true));
diff --git a/Build/source/utils/asymptote/examples/SierpinskiGasket.asy b/Build/source/utils/asymptote/examples/SierpinskiGasket.asy
index 57251735db8..2e0d4facd64 100644
--- a/Build/source/utils/asymptote/examples/SierpinskiGasket.asy
+++ b/Build/source/utils/asymptote/examples/SierpinskiGasket.asy
@@ -28,4 +28,4 @@ recur(O,0.5,1);
s.colors(palette(s.map(zpart),Rainbow()));
-draw(s);
+draw(s,render(merge=true));
diff --git a/Build/source/utils/asymptote/examples/SierpinskiSponge.asy b/Build/source/utils/asymptote/examples/SierpinskiSponge.asy
index 209c3d182ed..328447d4ac4 100644
--- a/Build/source/utils/asymptote/examples/SierpinskiSponge.asy
+++ b/Build/source/utils/asymptote/examples/SierpinskiSponge.asy
@@ -39,4 +39,4 @@ sf.append(rotate(90,Y)*s);
sf.append(rotate(90,Z)*s);
sf.colors(palette(sf.map(abs),Rainbow()));
-draw(sf);
+draw(sf,render(compression=Low,merge=true));
diff --git a/Build/source/utils/asymptote/examples/basealign.asy b/Build/source/utils/asymptote/examples/basealign.asy
index 8a34bdab4b7..4bf83c94033 100644
--- a/Build/source/utils/asymptote/examples/basealign.asy
+++ b/Build/source/utils/asymptote/examples/basealign.asy
@@ -1,5 +1,7 @@
import fontsize;
import three;
+
+settings.autobillboard=false;
currentprojection=orthographic(Z);
defaultpen(fontsize(100pt));
diff --git a/Build/source/utils/asymptote/examples/cheese.asy b/Build/source/utils/asymptote/examples/cheese.asy
index f283f5c8115..9a16e4130dc 100644
--- a/Build/source/utils/asymptote/examples/cheese.asy
+++ b/Build/source/utils/asymptote/examples/cheese.asy
@@ -9,4 +9,4 @@ real f(real x, real y, real z) {
surface sf=surface(contour3(f,(-2pi,-2pi,-2pi),(2pi,2pi,2pi),12));
sf.colors(palette(sf.map(abs),Gradient(red,yellow)));
-draw(sf,nolight);
+draw(sf,nolight,render(merge=true));
diff --git a/Build/source/utils/asymptote/examples/cos3.asy b/Build/source/utils/asymptote/examples/cos3.asy
index fa9c8f49550..ef8054d6627 100644
--- a/Build/source/utils/asymptote/examples/cos3.asy
+++ b/Build/source/utils/asymptote/examples/cos3.asy
@@ -6,15 +6,12 @@ currentprojection=orthographic(1,-2,1);
real f(pair z) {return abs(cos(z));}
-real Arg(triple v)
-{
- return degrees(cos((v.x,v.y)),warn=false);
-}
+real Arg(triple v) {return degrees(cos((v.x,v.y)),warn=false);}
surface s=surface(f,(-pi,-2),(pi,2),20,Spline);
s.colors(palette(s.map(Arg),Wheel()));
-draw(s);
+draw(s,render(compression=Low,merge=true));
real xmin=point((-1,-1,-1)).x;
real xmax=point((1,1,1)).x;
@@ -23,3 +20,6 @@ draw((xmin,0,0)--(xmax,0,0),dashed);
xaxis3("$\mathop{\rm Re} z$",Bounds,InTicks);
yaxis3("$\mathop{\rm Im} z$",Bounds,InTicks(beginlabel=false));
zaxis3("$|\cos(z)|$",Bounds,InTicks);
+
+
+
diff --git a/Build/source/utils/asymptote/examples/cyclohexane.asy b/Build/source/utils/asymptote/examples/cyclohexane.asy
index 8e1ff466b9d..11b01551c8d 100644
--- a/Build/source/utils/asymptote/examples/cyclohexane.asy
+++ b/Build/source/utils/asymptote/examples/cyclohexane.asy
@@ -36,6 +36,8 @@ triple h12=rotate(120,c6,c5)*h11;
pen Black=gray(0.4);
+defaultrender=render(compression=Zero,merge=true);
+
draw(shift(c1)*carbon,Black);
draw(shift(c2)*carbon,Black);
draw(shift(c3)*carbon,Black);
diff --git a/Build/source/utils/asymptote/examples/elevation.asy b/Build/source/utils/asymptote/examples/elevation.asy
index 4e4579d98a9..1ff4ee38f28 100644
--- a/Build/source/utils/asymptote/examples/elevation.asy
+++ b/Build/source/utils/asymptote/examples/elevation.asy
@@ -6,6 +6,8 @@ currentprojection=orthographic(0.8,1,1);
size(400,300,IgnoreAspect);
+defaultrender.merge=true;
+
real f(pair z) {return cos(2*pi*z.x)*sin(2*pi*z.y);}
surface s=surface(f,(-1/2,-1/2),(1/2,1/2),50,Spline);
diff --git a/Build/source/utils/asymptote/examples/epix.asy b/Build/source/utils/asymptote/examples/epix.asy
index df0cd3d336c..b833289bd80 100644
--- a/Build/source/utils/asymptote/examples/epix.asy
+++ b/Build/source/utils/asymptote/examples/epix.asy
@@ -6,7 +6,7 @@ currentprojection=perspective(4,2,3);
real f(pair z) {return z.y^3/2-3z.x^2*z.y;}
-draw(surface(f,(-1,-1),(1,1),nx=10,Spline),green);
+draw(surface(f,(-1,-1),(1,1),nx=10,Spline),green,render(merge=true));
draw(Label("$y$",1),(0,0,0)--(0,2,0),red,Arrow3);
draw(Label("$x$",1),(0,0,0)--(2,0,0),red,Arrow3);
diff --git a/Build/source/utils/asymptote/examples/equilchord.asy b/Build/source/utils/asymptote/examples/equilchord.asy
index ae3665b1a66..b93da942d08 100644
--- a/Build/source/utils/asymptote/examples/equilchord.asy
+++ b/Build/source/utils/asymptote/examples/equilchord.asy
@@ -15,7 +15,7 @@ draw((-a,-a,0)--(-a,a,0)--(a,a,0)--(a,-a,0)--cycle,lightgray);
xaxis3(Label("$x$",1),red,Arrow3);
yaxis3(Label("$y$",1),red,Arrow3);
draw(circle((0,0,0),1),dashed);
-draw(surface(F,(-1,-1),(t,1),20,monotonic),green,black);
+draw(surface(F,(-1,-1),(t,1),20,monotonic),green,black,render(merge=true));
real y=sqrt(1-t^2);
draw((t,y,0)--(t,-y,0)--(t,0,sqrt(3)*y)--cycle,blue);
label("$1$",(1,0,0),-Y+X);
diff --git a/Build/source/utils/asymptote/examples/exp3.asy b/Build/source/utils/asymptote/examples/exp3.asy
index e7508a29297..39baba993f3 100644
--- a/Build/source/utils/asymptote/examples/exp3.asy
+++ b/Build/source/utils/asymptote/examples/exp3.asy
@@ -6,15 +6,12 @@ currentprojection=orthographic(1,-2,1);
real f(pair z) {return abs(exp(z));}
-real Arg(triple v)
-{
- return degrees(exp((v.x,v.y)),warn=false);
-}
+real Arg(triple v) {return degrees(exp((v.x,v.y)),warn=false);}
surface s=surface(f,(-2,-pi),(2,pi),20,Spline);
s.colors(palette(s.map(Arg),Wheel()));
-draw(s);
+draw(s,render(compression=Low,merge=true));
real xmin=point((-1,-1,-1)).x;
real xmax=point((1,1,1)).x;
diff --git a/Build/source/utils/asymptote/examples/extrudedcontour.asy b/Build/source/utils/asymptote/examples/extrudedcontour.asy
index b5ad885a350..7b2f67459ce 100644
--- a/Build/source/utils/asymptote/examples/extrudedcontour.asy
+++ b/Build/source/utils/asymptote/examples/extrudedcontour.asy
@@ -8,15 +8,16 @@ real b=4;
real f(pair z) {return (z.x+z.y)/(2+cos(z.x)*sin(z.y));}
guide[][] g=contour(f,(-10,-10),(10,10),new real[]{8},150);
+render render=render(merge=true);
for(guide p:g[0]){
- draw(extrude(p,8Z),palered);
- draw(path3(p),red+2pt);
+ draw(extrude(p,8Z),palered,render);
+ draw(path3(p),red+2pt,render);
}
-draw(lift(f,g),red+2pt);
+draw(lift(f,g),red+2pt,render);
surface s=surface(f,(0,0),(10,10),20,Spline);
s.colors(palette(s.map(zpart),Rainbow()+opacity(0.5)));
-draw(s);
+draw(s,render);
axes3("$x$","$y$","$z$",Arrow3);
diff --git a/Build/source/utils/asymptote/examples/filesurface.asy b/Build/source/utils/asymptote/examples/filesurface.asy
index 98adc045f07..2a93c96ec19 100644
--- a/Build/source/utils/asymptote/examples/filesurface.asy
+++ b/Build/source/utils/asymptote/examples/filesurface.asy
@@ -21,7 +21,7 @@ real[] level=uniform(min(f)*(1-sqrtEpsilon),max(f)*(1+sqrtEpsilon),4);
s.colors(palette(s.map(new real(triple v) {return find(level >= v.z);}),
Rainbow()));
-draw(s,meshpen=thick());
+draw(s,meshpen=thick(),render(merge=true));
triple m=currentpicture.userMin;
triple M=currentpicture.userMax;
diff --git a/Build/source/utils/asymptote/examples/gamma3.asy b/Build/source/utils/asymptote/examples/gamma3.asy
index e7fdde015e0..e522dad4e70 100644
--- a/Build/source/utils/asymptote/examples/gamma3.asy
+++ b/Build/source/utils/asymptote/examples/gamma3.asy
@@ -22,7 +22,7 @@ real Arg(triple v)
}
s.colors(palette(s.map(Arg),Wheel()));
-draw(s);
+draw(s,render(compression=Low,merge=true));
real xmin=point((-1,-1,-1)).x;
real xmax=point((1,1,1)).x;
diff --git a/Build/source/utils/asymptote/examples/magnetic.asy b/Build/source/utils/asymptote/examples/magnetic.asy
index 4dc187f5770..3ae40466d43 100644
--- a/Build/source/utils/asymptote/examples/magnetic.asy
+++ b/Build/source/utils/asymptote/examples/magnetic.asy
@@ -10,7 +10,8 @@ real B(real z) {return 1-0.5cos(pi*z/10);}
real f(real x, real y, real z) {return 0.5B(z)*(a(z)*x^2+b(z)*y^2)-1;}
-draw(surface(contour3(f,(-2,-2,-10),(2,2,10),10)),blue+opacity(0.75));
+draw(surface(contour3(f,(-2,-2,-10),(2,2,10),10)),blue+opacity(0.75),
+ render(merge=true));
xaxis3(Label("$x$",1),red);
yaxis3(Label("$y$",1),red);
diff --git a/Build/source/utils/asymptote/examples/p-orbital.asy b/Build/source/utils/asymptote/examples/p-orbital.asy
index d8b22bc2982..1932e098c67 100644
--- a/Build/source/utils/asymptote/examples/p-orbital.asy
+++ b/Build/source/utils/asymptote/examples/p-orbital.asy
@@ -2,6 +2,7 @@ import graph3;
import palette;
size(200);
currentprojection=orthographic(6,8,2);
+viewportmargin=(1cm,0);
real c0=0.1;
@@ -22,7 +23,9 @@ real R=abs((20,20,20));
surface s=surface(f,(0,0),(R,2pi),100,8,Spline,cond);
s.colors(palette(s.map(abs),Gradient(palegreen,heavyblue)));
-draw(s);
+
+render render=render(compression=Low,merge=true);
+draw(s,render);
draw(zscale3(-1)*s);
axes3("$x$","$y$","$z$",Arrow3);
diff --git a/Build/source/utils/asymptote/examples/parametricelevation.asy b/Build/source/utils/asymptote/examples/parametricelevation.asy
index 52cec8728a5..ac0f0b09ad5 100644
--- a/Build/source/utils/asymptote/examples/parametricelevation.asy
+++ b/Build/source/utils/asymptote/examples/parametricelevation.asy
@@ -7,4 +7,4 @@ currentprojection=orthographic(4,2,4);
triple f(pair z) {return expi(z.x,z.y);}
surface s=surface(f,(0,0),(pi,2pi),10,Spline);
-draw(s,mean(palette(s.map(zpart),BWRainbow())),black,nolight);
+draw(s,mean(palette(s.map(zpart),BWRainbow())),black,nolight,render(merge=true));
diff --git a/Build/source/utils/asymptote/examples/parametricsurface.asy b/Build/source/utils/asymptote/examples/parametricsurface.asy
index de669b59faf..299ea72eef7 100644
--- a/Build/source/utils/asymptote/examples/parametricsurface.asy
+++ b/Build/source/utils/asymptote/examples/parametricsurface.asy
@@ -20,4 +20,4 @@ surface s=surface(f,(0,0),(2pi,2pi),8,8,Spline);
// draw(s,nullpen,meshpen=p);
// surface & mesh
-draw(s,lightgray,meshpen=p);
+draw(s,lightgray,meshpen=p,render(merge=true));
diff --git a/Build/source/utils/asymptote/examples/pipeintersection.asy b/Build/source/utils/asymptote/examples/pipeintersection.asy
index 5bf9cfbe6f3..6b0388f1378 100644
--- a/Build/source/utils/asymptote/examples/pipeintersection.asy
+++ b/Build/source/utils/asymptote/examples/pipeintersection.asy
@@ -9,4 +9,5 @@ real f(pair z) {return min(sqrt(1-z.x^2),sqrt(1-z.y^2));}
surface s=surface(f,(0,0),(1,1),40,Spline);
transform3 t=rotate(90,O,Z), t2=t*t, t3=t2*t, i=xscale3(-1)*zscale3(-1);
-draw(surface(s,t*s,t2*s,t3*s,i*s,i*t*s,i*t2*s,i*t3*s),blue,render(merge=true));
+draw(surface(s,t*s,t2*s,t3*s,i*s,i*t*s,i*t2*s,i*t3*s),blue,
+ render(compression=Low,closed=true,merge=true));
diff --git a/Build/source/utils/asymptote/examples/roll.asy b/Build/source/utils/asymptote/examples/roll.asy
index 088da3177f4..4d15ac0febe 100644
--- a/Build/source/utils/asymptote/examples/roll.asy
+++ b/Build/source/utils/asymptote/examples/roll.asy
@@ -7,4 +7,4 @@ return(t.x+t.y/4+sin(t.y),cos(t.y),sin(t.y));
}
surface s=surface(f,(0,0),(2pi,2pi),7,20,Spline);
-draw(s,olive);
+draw(s,olive,render(merge=true));
diff --git a/Build/source/utils/asymptote/examples/shellsqrtx01.asy b/Build/source/utils/asymptote/examples/shellsqrtx01.asy
index c4edec122c8..553200df14c 100644
--- a/Build/source/utils/asymptote/examples/shellsqrtx01.asy
+++ b/Build/source/utils/asymptote/examples/shellsqrtx01.asy
@@ -13,12 +13,14 @@ path p=graph(F,0,1,n=30,operator ..)--(1,0)--cycle;
path3 p3=path3(p);
revolution a=revolution(p3,X,alpha,0);
-draw(surface(a),color);
+
+render render=render(compression=0,merge=true);
+draw(surface(a),color,render);
draw(p3,blue);
surface s=surface(p);
-draw(s,color);
-draw(rotate(alpha,X)*s,color);
+draw(s,color,render);
+draw(rotate(alpha,X)*s,color,render);
xaxis3(Label("$x$",1),xmax=1.25,dashed,Arrow3);
yaxis3(Label("$y$",1),Arrow3);
diff --git a/Build/source/utils/asymptote/examples/sin3.asy b/Build/source/utils/asymptote/examples/sin3.asy
index d35cd271808..76551dacb95 100644
--- a/Build/source/utils/asymptote/examples/sin3.asy
+++ b/Build/source/utils/asymptote/examples/sin3.asy
@@ -6,15 +6,12 @@ currentprojection=orthographic(1,-2,1);
real f(pair z) {return abs(sin(z));}
-real Arg(triple v)
-{
- return degrees(sin((v.x,v.y)),warn=false);
-}
+real Arg(triple v) {return degrees(cos((v.x,v.y)),warn=false);}
surface s=surface(f,(-pi,-2),(pi,2),20,Spline);
s.colors(palette(s.map(Arg),Wheel()));
-draw(s);
+draw(s,render(compression=Low,merge=true));
real xmin=point((-1,-1,-1)).x;
real xmax=point((1,1,1)).x;
diff --git a/Build/source/utils/asymptote/examples/sinc.asy b/Build/source/utils/asymptote/examples/sinc.asy
index cd0d377e633..352585bdbe4 100644
--- a/Build/source/utils/asymptote/examples/sinc.asy
+++ b/Build/source/utils/asymptote/examples/sinc.asy
@@ -2,7 +2,7 @@ import graph3;
import contour;
currentprojection=orthographic(1,-2,1);
-currentlight=(1,-1,0.5);
+currentlight=White;
size(12cm,0);
@@ -11,8 +11,13 @@ real sinc(pair z) {
return r != 0 ? sin(r)/r : 1;
}
+render render=render(compression=Low,merge=true);
+
draw(lift(sinc,contour(sinc,(-2,-2),(2,2),new real[] {0})),red);
-draw(surface(sinc,(-2,-2),(2,2),Spline),lightgray+opacity(0.5));
+draw(surface(sinc,(-2,-2),(2,2),Spline),lightgray,render);
+
+draw(scale3(2*sqrt(2))*unitdisk,paleyellow+opacity(0.25),nolight,render);
+draw(scale3(2*sqrt(2))*unitcircle3,red,render);
xaxis3("$x$",Bounds,InTicks);
yaxis3("$y$",Bounds,InTicks(beginlabel=false));
diff --git a/Build/source/utils/asymptote/examples/slidedemo.asy b/Build/source/utils/asymptote/examples/slidedemo.asy
index 52ede757b47..7a753a54d61 100644
--- a/Build/source/utils/asymptote/examples/slidedemo.asy
+++ b/Build/source/utils/asymptote/examples/slidedemo.asy
@@ -93,11 +93,12 @@ triple F3(real x) {return (x,f(x),0);}
path p=graph(pic,F,0,1,n=30,operator ..)--(1,0)--cycle;
path3 p3=path3(p);
revolution a=revolution(p3,X,alpha,0);
-draw(pic,surface(a),color);
+render render=render(compression=0,merge=true);
+draw(pic,surface(a),color,render);
draw(pic,p3,blue);
surface s=surface(p);
-draw(pic,s,color);
-draw(pic,rotate(alpha,X)*s,color);
+draw(pic,s,color,render);
+draw(pic,rotate(alpha,X)*s,color,render);
xaxis3(pic,Label("$x$",1),xmax=1.25,dashed,Arrow3);
yaxis3(pic,Label("$y$",1),Arrow3);
dot(pic,"$(1,1)$",(1,1,0));
diff --git a/Build/source/utils/asymptote/examples/soccerball.asy b/Build/source/utils/asymptote/examples/soccerball.asy
index f481ef1b7ff..a37063dbb29 100644
--- a/Build/source/utils/asymptote/examples/soccerball.asy
+++ b/Build/source/utils/asymptote/examples/soccerball.asy
@@ -2,6 +2,8 @@ import graph3;
size(400);
currentlight.background=palegreen;
+defaultrender=render(compression=Zero,merge=true);
+
real c=(1+sqrt(5))/2;
triple[] z={(c,1,0),(-c,1,0),(-c,-1,0),(c,-1,0)};
diff --git a/Build/source/utils/asymptote/examples/sphere.asy b/Build/source/utils/asymptote/examples/sphere.asy
index 41f3f548895..8d1b5fe50cd 100644
--- a/Build/source/utils/asymptote/examples/sphere.asy
+++ b/Build/source/utils/asymptote/examples/sphere.asy
@@ -3,4 +3,4 @@ import three;
size(200);
currentprojection=orthographic(5,4,3);
-draw(unitsphere,green,render(compression=Zero));
+draw(unitsphere,green,render(compression=Zero,merge=true));
diff --git a/Build/source/utils/asymptote/examples/sphericalharmonic.asy b/Build/source/utils/asymptote/examples/sphericalharmonic.asy
index d89d81aee86..9fbb16f624d 100644
--- a/Build/source/utils/asymptote/examples/sphericalharmonic.asy
+++ b/Build/source/utils/asymptote/examples/sphericalharmonic.asy
@@ -11,4 +11,4 @@ triple f(pair z) {return r(z.x,z.y)*expi(z.x,z.y);}
surface s=surface(f,(0,0),(pi,2pi),50,Spline);
s.colors(palette(s.map(abs),Gradient(yellow,red)));
-draw(s);
+draw(s,render(compression=Low,merge=true));
diff --git a/Build/source/utils/asymptote/examples/spiral3.asy b/Build/source/utils/asymptote/examples/spiral3.asy
index cea9665a951..727ca3f6d3a 100644
--- a/Build/source/utils/asymptote/examples/spiral3.asy
+++ b/Build/source/utils/asymptote/examples/spiral3.asy
@@ -4,6 +4,7 @@ import palette;
size3(10cm);
currentprojection=orthographic(5,4,2);
+viewportmargin=(2cm,0);
real r(real t) {return 3exp(-0.1*t);}
real x(real t) {return r(t)*cos(t);}
@@ -15,5 +16,5 @@ path3 p=graph(x,y,z,0,6*pi,50,operator ..);
tube T=tube(p,2);
surface s=T.s;
s.colors(palette(s.map(zpart),BWRainbow()));
-draw(s);
+draw(s,render(merge=true));
draw(T.center,thin());
diff --git a/Build/source/utils/asymptote/examples/splitpatch.asy b/Build/source/utils/asymptote/examples/splitpatch.asy
index cfd5c9a4c93..200fb2c4c44 100644
--- a/Build/source/utils/asymptote/examples/splitpatch.asy
+++ b/Build/source/utils/asymptote/examples/splitpatch.asy
@@ -19,6 +19,8 @@ triple[][] B={
split S=split(A,B,10);
//write(S.T.length);
+defaultrender.merge=true;
+
for(int i=0; i < S.T.length; ++i)
draw(surface(patch(S.T[i])),Pen(i));
draw(surface(patch(B)),blue);
diff --git a/Build/source/utils/asymptote/examples/sqrtx01.asy b/Build/source/utils/asymptote/examples/sqrtx01.asy
index 2ca9ac697d6..4d2b0a45dce 100644
--- a/Build/source/utils/asymptote/examples/sqrtx01.asy
+++ b/Build/source/utils/asymptote/examples/sqrtx01.asy
@@ -12,7 +12,7 @@ path p=graph(F,0,1,n=20,operator ..);
path3 p3=path3(p);
revolution a=revolution(p3,X,0,360);
-draw(surface(a),color);
+draw(surface(a),color,render(compression=Low,merge=true));
draw(p3,blue);
real x=relpoint(p,0.5).x;
diff --git a/Build/source/utils/asymptote/examples/sqrtx01y1.asy b/Build/source/utils/asymptote/examples/sqrtx01y1.asy
index c944f43d268..dcb247f572e 100644
--- a/Build/source/utils/asymptote/examples/sqrtx01y1.asy
+++ b/Build/source/utils/asymptote/examples/sqrtx01y1.asy
@@ -2,6 +2,7 @@ import graph3;
import solids;
size(0,150);
currentprojection=perspective(0,1,10,up=Y);
+currentlight=White;
real f(real x) {return sqrt(x);}
pair F(real x) {return (x,f(x));}
@@ -11,7 +12,7 @@ path p=graph(F,0,1,n=25,operator ..);
path3 p3=path3(p);
revolution a=revolution(p3,Y,0,360);
-draw(surface(a),green);
+draw(surface(a),green,render(compression=Low,merge=true));
draw(p3,blue);
xtick((0,0,0));
diff --git a/Build/source/utils/asymptote/examples/stroke3.asy b/Build/source/utils/asymptote/examples/stroke3.asy
index 6b386c3a0c9..75824d41dd3 100644
--- a/Build/source/utils/asymptote/examples/stroke3.asy
+++ b/Build/source/utils/asymptote/examples/stroke3.asy
@@ -1,2 +1,4 @@
import three;
-draw(O--X,red,currentlight);
+size(5cm);
+
+draw(O--X,red+1cm,currentlight);
diff --git a/Build/source/utils/asymptote/examples/threeviews.asy b/Build/source/utils/asymptote/examples/threeviews.asy
index 05c89e650ca..1bcc36ae8d7 100644
--- a/Build/source/utils/asymptote/examples/threeviews.asy
+++ b/Build/source/utils/asymptote/examples/threeviews.asy
@@ -8,7 +8,7 @@ settings.render=4;
settings.toolbar=false;
viewportmargin=(1cm,1cm);
-draw(pic,scale3(0.5)*unitsphere,green);
+draw(pic,scale3(0.5)*unitsphere,green,render(compression=Low,merge=true));
draw(pic,Label("$x$",1),O--X);
draw(pic,Label("$y$",1),O--Y);
draw(pic,Label("$z$",1),O--Z);
diff --git a/Build/source/utils/asymptote/examples/torus.asy b/Build/source/utils/asymptote/examples/torus.asy
index c64c16701ad..f89c82cde8b 100644
--- a/Build/source/utils/asymptote/examples/torus.asy
+++ b/Build/source/utils/asymptote/examples/torus.asy
@@ -17,4 +17,4 @@ triple f(pair t) {
}
surface s=surface(f,(radians(90),0),(radians(345),2pi),8,8,Spline);
-draw(s,green);
+draw(s,green,render(merge=true));
diff --git a/Build/source/utils/asymptote/examples/trefoilknot.asy b/Build/source/utils/asymptote/examples/trefoilknot.asy
index 3c5e4aecc5a..8ea5b264b48 100644
--- a/Build/source/utils/asymptote/examples/trefoilknot.asy
+++ b/Build/source/utils/asymptote/examples/trefoilknot.asy
@@ -20,4 +20,4 @@ for (int i=pens.length-2; i >= 0 ; --i)
path sec=scale(0.25)*texpath("$\pi$")[0];
coloredpath colorsec=coloredpath(sec, pens,colortype=coloredNodes);
-draw(tube(p,colorsec));
+draw(tube(p,colorsec),render(merge=true));
diff --git a/Build/source/utils/asymptote/examples/trumpet.asy b/Build/source/utils/asymptote/examples/trumpet.asy
index 032f8a7ffd6..842af2b23c2 100644
--- a/Build/source/utils/asymptote/examples/trumpet.asy
+++ b/Build/source/utils/asymptote/examples/trumpet.asy
@@ -4,9 +4,9 @@ size(200,0);
currentlight=Viewport;
triple f(pair t) {
- return(10*sin(t.y),cos(t.x)*(cos(t.y)+log(abs(tan(t.y/2)))),
- sin(t.x)*(cos(t.y)+log(abs(tan(t.y/2)))));
+ real u=log(abs(tan(t.y/2)));
+ return (10*sin(t.y),cos(t.x)*(cos(t.y)+u),sin(t.x)*(cos(t.y)+u));
}
surface s=surface(f,(0,pi/2),(2pi,pi-0.1),7,15,Spline);
-draw(s,olive);
+draw(s,olive+0.25*white,render(compression=Low,merge=true));
diff --git a/Build/source/utils/asymptote/examples/truncatedIcosahedron.asy b/Build/source/utils/asymptote/examples/truncatedIcosahedron.asy
index 436c6121b9f..e4d07a49e5b 100644
--- a/Build/source/utils/asymptote/examples/truncatedIcosahedron.asy
+++ b/Build/source/utils/asymptote/examples/truncatedIcosahedron.asy
@@ -2,6 +2,8 @@ import graph3;
size(200);
+defaultrender.merge=true;
+
real c=(1+sqrt(5))/2;
triple[] z={(c,1,0),(-c,1,0),(-c,-1,0),(c,-1,0)};
diff --git a/Build/source/utils/asymptote/examples/twistedtubes.asy b/Build/source/utils/asymptote/examples/twistedtubes.asy
index 4d38d86f4df..9121ad6444d 100644
--- a/Build/source/utils/asymptote/examples/twistedtubes.asy
+++ b/Build/source/utils/asymptote/examples/twistedtubes.asy
@@ -22,6 +22,8 @@ s2.colors(palette(s2.map(f),Rainbow));
s3.colors(palette(s3.map(f),Rainbow));
s4.colors(palette(s4.map(f),Rainbow));
+defaultrender.merge=true;
+
draw(s1);
draw(s2);
draw(s3);
diff --git a/Build/source/utils/asymptote/examples/vectorfieldsphere.asy b/Build/source/utils/asymptote/examples/vectorfieldsphere.asy
index 2348e09f855..7f1e49057a5 100644
--- a/Build/source/utils/asymptote/examples/vectorfieldsphere.asy
+++ b/Build/source/utils/asymptote/examples/vectorfieldsphere.asy
@@ -12,6 +12,6 @@ path3 vector(pair z) {
return O--(v.y,v.z,v.x);
}
-add(vectorfield(vector,f,(0,0),(pi,2pi),10,0.25,red));
+add(vectorfield(vector,f,(0,0),(pi,2pi),10,0.25,red,render(merge=true)));
-draw(unitsphere,gray+opacity(0.5));
+draw(unitsphere,gray+opacity(0.5),render(compression=0,merge=true));
diff --git a/Build/source/utils/asymptote/examples/washer.asy b/Build/source/utils/asymptote/examples/washer.asy
index 083039e55a3..457ae69fb83 100644
--- a/Build/source/utils/asymptote/examples/washer.asy
+++ b/Build/source/utils/asymptote/examples/washer.asy
@@ -5,8 +5,9 @@ path3[] p=reverse(unitcircle3)^^scale3(0.5)*unitcircle3;
path[] g=reverse(unitcircle)^^scale(0.5)*unitcircle;
triple H=-0.4Z;
-draw(surface(p,planar=true));
-draw(surface(shift(H)*p,planar=true));
+render render=render(merge=true);
+draw(surface(p,planar=true),render);
+draw(surface(shift(H)*p,planar=true),render);
material m=material(lightgray,shininess=1.0);
for(path pp : g)
draw(extrude(pp,H),m);
diff --git a/Build/source/utils/asymptote/examples/washermethod.asy b/Build/source/utils/asymptote/examples/washermethod.asy
index 032ed6cbc85..9a18b871414 100644
--- a/Build/source/utils/asymptote/examples/washermethod.asy
+++ b/Build/source/utils/asymptote/examples/washermethod.asy
@@ -18,13 +18,15 @@ path[] p={graph(F,0.7476,1.8043,Spline)--cycle,
pen[] pn=new pen[] {color1,color2,color1};
+render render=render(compression=0);
+
for(int i=0; i < p.length; ++i) {
revolution a=revolution(path3(p[i]),Y,0,alpha);
- draw(surface(a),pn[i]);
+ draw(surface(a),pn[i],render);
surface s=surface(p[i]);
- draw(s,pn[i]);
- draw(rotate(alpha,Y)*s,pn[i]);
+ draw(s,pn[i],render);
+ draw(rotate(alpha,Y)*s,pn[i],render);
}
draw((4/3,0,0)--F3(4/3),dashed);
diff --git a/Build/source/utils/asymptote/examples/wedge.asy b/Build/source/utils/asymptote/examples/wedge.asy
index 6cf6a58975f..41b4326cf42 100644
--- a/Build/source/utils/asymptote/examples/wedge.asy
+++ b/Build/source/utils/asymptote/examples/wedge.asy
@@ -10,11 +10,13 @@ draw(shift(-4Z)*scale(4,4,8)*unitcylinder,green+opacity(0.2));
triple F(real x){return (x,sqrt(16-x^2),sqrt((16-x^2)/3));}
path3 p=graph(F,0,4,operator ..);
path3 q=reverse(p)--rotate(180,(0,4,4/sqrt(3)))*p--cycle;
-draw(surface(q--cycle),red);
+
+render render=render(merge=true);
+draw(surface(q--cycle),red,render);
real t=2;
path3 triangle=(t,0,0)--(t,sqrt(16-t^2),0)--F(t)--cycle;
-draw(surface(triangle),blue);
+draw(surface(triangle),blue,render);
xaxis3("$x$",Arrow3,PenMargin3(0,0.25));
yaxis3("$y$",Arrow3,PenMargin3(0,0.25));
diff --git a/Build/source/utils/asymptote/examples/xxsq01.asy b/Build/source/utils/asymptote/examples/xxsq01.asy
index 11a035f0418..23a38393a94 100644
--- a/Build/source/utils/asymptote/examples/xxsq01.asy
+++ b/Build/source/utils/asymptote/examples/xxsq01.asy
@@ -14,11 +14,11 @@ path p=graph(F,0,1,n=10,operator ..)--cycle;
path3 p3=path3(p);
revolution a=revolution(p3,X,-alpha,0);
-draw(surface(a),color);
-
+render render=render(compression=0,merge=true);
+draw(surface(a),color,render);
surface s=surface(p);
-draw(s,color);
-draw(rotate(-alpha,X)*s,color);
+draw(s,color,render);
+draw(rotate(-alpha,X)*s,color,render);
draw(p3,blue);
diff --git a/Build/source/utils/asymptote/examples/xxsq01x-1.asy b/Build/source/utils/asymptote/examples/xxsq01x-1.asy
index 2c4c9ec363c..6d645a49664 100644
--- a/Build/source/utils/asymptote/examples/xxsq01x-1.asy
+++ b/Build/source/utils/asymptote/examples/xxsq01x-1.asy
@@ -2,7 +2,7 @@ import graph3;
import solids;
size(300);
currentprojection=perspective(0,2,10,up=Y);
-currentlight=(0.25,-0.25,5);
+currentlight=Viewport;
pen color=green;
@@ -14,6 +14,7 @@ path p=graph(F,0,1,n=10,operator ..)--cycle;
path3 p3=path3(p);
revolution a=revolution(-X,p3,Y,0,180);
+render render=render(merge=true);
draw(surface(a),color);
surface s=surface(p);
draw(s,color);
diff --git a/Build/source/utils/asymptote/examples/xxsq01y.asy b/Build/source/utils/asymptote/examples/xxsq01y.asy
index 53f77d1f9bb..770f4fc22cf 100644
--- a/Build/source/utils/asymptote/examples/xxsq01y.asy
+++ b/Build/source/utils/asymptote/examples/xxsq01y.asy
@@ -11,11 +11,13 @@ triple F3(real x) {return (x,f(x),0);}
path p=graph(F,0,1,n=10,operator ..)--cycle;
path3 p3=path3(p);
-draw(surface(revolution(p3,Y,0,alpha)),color);
+render render=render(compression=0,merge=true);
+
+draw(surface(revolution(p3,Y,0,alpha)),color,render);
surface s=surface(p);
-draw(s,color);
-draw(rotate(alpha,Y)*s,color);
+draw(s,color,render);
+draw(rotate(alpha,Y)*s,color,render);
draw(p3,blue);