diff options
Diffstat (limited to 'graphics/asymptote/drawsurface.cc')
-rw-r--r-- | graphics/asymptote/drawsurface.cc | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/graphics/asymptote/drawsurface.cc b/graphics/asymptote/drawsurface.cc index c8a154f79a..b2a2de6173 100644 --- a/graphics/asymptote/drawsurface.cc +++ b/graphics/asymptote/drawsurface.cc @@ -257,6 +257,17 @@ void drawBezierPatch::render(double size2, const triple& b, const triple& B, transparent=colors ? colors[0].A+colors[1].A+colors[2].A+colors[3].A < 4.0 : diffuse.A < 1.0; + setcolors(colors,diffuse,emissive,specular,shininess,metallic,fresnel0); + + if(transparent) + setMaterial(transparentData,drawTransparent); + else { + if(colors) + setMaterial(colorData,drawColor); + else + setMaterial(materialData,drawMaterial); + } + bool offscreen; if(billboard) { drawElement::centerIndex=centerIndex; @@ -271,17 +282,6 @@ void drawBezierPatch::render(double size2, const triple& b, const triple& B, return; } - setcolors(colors,diffuse,emissive,specular,shininess,metallic,fresnel0); - - if(transparent) - setMaterial(transparentData,drawTransparent); - else { - if(colors) - setMaterial(colorData,drawColor); - else - setMaterial(materialData,drawMaterial); - } - triple *Controls; triple Controls0[16]; if(billboard) { @@ -498,6 +498,17 @@ void drawBezierTriangle::render(double size2, const triple& b, const triple& B, transparent=colors ? colors[0].A+colors[1].A+colors[2].A < 3.0 : diffuse.A < 1.0; + setcolors(colors,diffuse,emissive,specular,shininess,metallic,fresnel0); + + if(transparent) + setMaterial(transparentData,drawTransparent); + else { + if(colors) + setMaterial(colorData,drawColor); + else + setMaterial(materialData,drawMaterial); + } + bool offscreen; if(billboard) { drawElement::centerIndex=centerIndex; @@ -512,17 +523,6 @@ void drawBezierTriangle::render(double size2, const triple& b, const triple& B, return; } - setcolors(colors,diffuse,emissive,specular,shininess,metallic,fresnel0); - - if(transparent) - setMaterial(transparentData,drawTransparent); - else { - if(colors) - setMaterial(colorData,drawColor); - else - setMaterial(materialData,drawMaterial); - } - triple *Controls; triple Controls0[10]; if(billboard) { |