diff options
Diffstat (limited to 'Build/source/utils/asymptote/drawsurface.cc')
-rw-r--r-- | Build/source/utils/asymptote/drawsurface.cc | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/Build/source/utils/asymptote/drawsurface.cc b/Build/source/utils/asymptote/drawsurface.cc index 921541a84f5..34ea0a4aa40 100644 --- a/Build/source/utils/asymptote/drawsurface.cc +++ b/Build/source/utils/asymptote/drawsurface.cc @@ -262,13 +262,15 @@ void drawBezierPatch::render(double size2, const triple& b, const triple& B, } bool offscreen; - if(billboard) { + if(gl::exporting) + offscreen=false; + else if(billboard) { drawElement::centerIndex=centerIndex; BB.init(center); offscreen=bbox2(Min,Max,BB).offscreen(); } else offscreen=bbox2(Min,Max).offscreen(); - + if(offscreen) { // Fully offscreen S.Onscreen=false; S.data.clear(); @@ -503,7 +505,9 @@ void drawBezierTriangle::render(double size2, const triple& b, const triple& B, } bool offscreen; - if(billboard) { + if(gl::exporting) + offscreen=false; + else if(billboard) { drawElement::centerIndex=centerIndex; BB.init(center); offscreen=bbox2(Min,Max,BB).offscreen(); @@ -970,7 +974,7 @@ void drawTriangles::render(double size2, const triple& b, transparent=diffuse.A < 1.0; - if(bbox2(Min,Max).offscreen()) { // Fully offscreen + if(!gl::exporting && bbox2(Min,Max).offscreen()) { // Fully offscreen R.Onscreen=false; R.data.clear(); return; |