summaryrefslogtreecommitdiff
path: root/graphics/asymptote/base/shaders
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/asymptote/base/shaders')
-rw-r--r--graphics/asymptote/base/shaders/fragment.glsl20
-rw-r--r--graphics/asymptote/base/shaders/vertex.glsl2
2 files changed, 9 insertions, 13 deletions
diff --git a/graphics/asymptote/base/shaders/fragment.glsl b/graphics/asymptote/base/shaders/fragment.glsl
index cdcc0b49e8..057acbc744 100644
--- a/graphics/asymptote/base/shaders/fragment.glsl
+++ b/graphics/asymptote/base/shaders/fragment.glsl
@@ -135,29 +135,25 @@ void main()
Material m;
#ifdef TRANSPARENT
m=Materials[abs(materialIndex)-1];
- if(materialIndex >= 0) {
+ emissive=m.emissive;
+ if(materialIndex >= 0)
diffuse=m.diffuse;
- emissive=m.emissive;
- } else {
+ else {
diffuse=Color;
-#if Nlights > 0
- emissive=vec4(0.0);
-#else
- emissive=Color;
+#if Nlights == 0
+ emissive += Color;
#endif
}
#else
m=Materials[int(materialIndex)];
+ emissive=m.emissive;
#ifdef COLOR
diffuse=Color;
-#if Nlights > 0
- emissive=vec4(0.0);
-#else
- emissive=Color;
+#if Nlights == 0
+ emissive += Color;
#endif
#else
diffuse=m.diffuse;
- emissive=m.emissive;
#endif
#endif
diff --git a/graphics/asymptote/base/shaders/vertex.glsl b/graphics/asymptote/base/shaders/vertex.glsl
index 9a54d3211c..4b2a54b989 100644
--- a/graphics/asymptote/base/shaders/vertex.glsl
+++ b/graphics/asymptote/base/shaders/vertex.glsl
@@ -34,7 +34,7 @@ void main()
#ifndef ORTHOGRAPHIC
ViewPosition=(viewMat*v).xyz;
#endif
- Normal=normal*normMat;
+ Normal=normalize(normal*normMat);
#endif
#ifdef COLOR