From 0a18240d88fbd68b9d07a36d3ac2c5abf8088186 Mon Sep 17 00:00:00 2001
From: Maurice Raybaud <mauriceraybaud@hotmail.fr>
Date: Mon, 31 Jan 2011 14:24:01 +0000
Subject: [PATCH] Fixed: blob finish wrong level raised POV parse error.(the
 AllObjects.blend test scene now renders (though not all objects supported
 yet)) Added: support for deactivating all shadows from scene shading panel
 (per lamp 'no shadow' still works)

---
 render_povray/render.py | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/render_povray/render.py b/render_povray/render.py
index 6ecae2bd3..85b425c0f 100644
--- a/render_povray/render.py
+++ b/render_povray/render.py
@@ -593,10 +593,8 @@ def write_pov(filename, scene=None, info_callback=None):
                     tabWrite("adaptive 1\n")
                     tabWrite("jitter\n")
 
-            if lamp.type == 'HEMI':  # HEMI never has any shadow attribute
+            if not scene.render.use_shadows or lamp.type == 'HEMI' or (lamp.type != 'HEMI' and lamp.shadow_method == 'NOSHADOW'): # HEMI never has any shadow_method attribute
                 tabWrite("shadowless\n")
-            elif lamp.shadow_method == 'NOSHADOW':
-                    tabWrite("shadowless\n")
 
             if lamp.type not in ('SUN', 'AREA', 'HEMI'):  # Sun shouldn't be attenuated. Hemi and area lights have no falloff attribute so they are put to type 2 attenuation a little higher above.
                 tabWrite("fade_distance %.6f\n" % (lamp.distance / 5.0))
@@ -707,7 +705,7 @@ def write_pov(filename, scene=None, info_callback=None):
 
                 else:
                     tabWrite("pigment {rgb<1 1 1>} \n")
-                    tabWrite("finish {%s}\n" % (safety(DEF_MAT_NAME, Level=1)))		# Write the finish last.
+                    tabWrite("finish {%s}\n" % (safety(DEF_MAT_NAME, Level=2)))		# Write the finish last.
 
                 writeObjectMaterial(material, ob)
 
-- 
GitLab