diff options
Diffstat (limited to 'graphics/asymptote/drawsurface.cc')
-rw-r--r-- | graphics/asymptote/drawsurface.cc | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/graphics/asymptote/drawsurface.cc b/graphics/asymptote/drawsurface.cc index 921541a84f..34ea0a4aa4 100644 --- a/graphics/asymptote/drawsurface.cc +++ b/graphics/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; |