summaryrefslogtreecommitdiff
path: root/graphics/asymptote/drawsurface.cc
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/asymptote/drawsurface.cc')
-rw-r--r--graphics/asymptote/drawsurface.cc44
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) {