[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [1257] contrib/py/scripts/addons/ render_clay.py: == Clay Render ==

Fabio Russo ruesp83 at libero.it
Thu Dec 9 10:27:29 CET 2010


Revision: 1257
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-extensions&revision=1257
Author:   ruesp83
Date:     2010-12-09 10:27:29 +0100 (Thu, 09 Dec 2010)

Log Message:
-----------
== Clay Render ==
* Fix for own change r33462. Initialization attributes while drawing, solved!
* Global variable, deleted!

Modified Paths:
--------------
    contrib/py/scripts/addons/render_clay.py

Modified: contrib/py/scripts/addons/render_clay.py
===================================================================
--- contrib/py/scripts/addons/render_clay.py	2010-12-08 12:17:28 UTC (rev 1256)
+++ contrib/py/scripts/addons/render_clay.py	2010-12-09 09:27:29 UTC (rev 1257)
@@ -21,9 +21,9 @@
 bl_addon_info = {
     "name": "Clay Render",
     "author": "Fabio Russo <ruesp83 at libero.it>",
-    "version": (0, 7),
+    "version": (0, 8),
     "blender": (2, 5, 5),
-    "api": 33112,
+    "api": 33568,
     "location": "Render > Clay Render",
     "description": "This script, applies a temporary material to all objects"\
         " of the scene.",
@@ -37,7 +37,7 @@
 from bpy.props import BoolProperty
 
 
-def create_mat():
+def Create_Mat():
     id = bpy.data.materials.new("Clay_Render")
     #diffuse
     id.diffuse_shader = "OREN_NAYAR"
@@ -49,17 +49,30 @@
     id.specular_color = 1, 1, 1
     id.specular_hardness = 10
     id.specular_intensity = 0.115
-    return id
 
 
+def Get_Mat():
+    Mat = bpy.data.materials["Clay_Render"]
+    return Mat
+
+
+def Exist_Mat():
+    if bpy.data.materials.get("Clay_Render"):
+        return True
+
+    else:
+        return False
+
+
 class CheckClay(bpy.types.Operator):
     bl_idname = "render.clay"
     bl_label = "Clay Render"
 
     def execute(self, context):
-        global im
         if bpy.types.Scene.Clay:
-            context.scene.render.layers.active.material_override = im
+            if not Exist_Mat():
+                Create_Mat()
+            context.scene.render.layers.active.material_override = Get_Mat()
             bpy.types.Scene.Clay = False
         else:
             context.scene.render.layers.active.material_override = None
@@ -68,40 +81,36 @@
 
 
 def draw_clay(self, context):
-    global im
     ok_clay = not bpy.types.Scene.Clay
 
     rnd = context.scene.render
     rnl = rnd.layers.active
-    if im is None:
-        im = create_mat()
-
     split = self.layout.split()
     col = split.column()
+
     col.operator(CheckClay.bl_idname, emboss=False, icon='CHECKBOX_HLT' \
     if ok_clay else 'CHECKBOX_DEHLT')
     col = split.column()
-    col.prop(im, "diffuse_color", text="")
+    if Exist_Mat():
+        im = Get_Mat()
+        col.prop(im, "diffuse_color", text="")
     self.layout.separator()
 
 
 def register():
-    global im
     bpy.types.Scene.Clay = BoolProperty(
     name='Clay Render',
     description='Use Clay Render',
     default=False)
-    im = None
     bpy.types.RENDER_PT_render.prepend(draw_clay)
 
 
 def unregister():
-    global im
     rnd = bpy.context.scene.render
     rnl = rnd.layers.active
     rnl.material_override = None
-    if im is not None:
-        bpy.data.materials.remove(im)
+    if Exist_Mat():
+        bpy.data.materials.remove(Get_Mat())
     del bpy.types.Scene.Clay
     bpy.types.RENDER_PT_render.remove(draw_clay)
 




More information about the Bf-extensions-cvs mailing list