[Bf-extensions-cvs] [24b8168a] master: move Render clay to release: T51229 T50357
meta-androcto
noreply at git.blender.org
Mon Apr 17 04:24:31 CEST 2017
Commit: 24b8168a20e321c3bfbe4797e8b09e094919116d
Author: meta-androcto
Date: Mon Apr 17 12:24:11 2017 +1000
Branches: master
https://developer.blender.org/rBAC24b8168a20e321c3bfbe4797e8b09e094919116d
move Render clay to release: T51229 T50357
===================================================================
D render_clay.py
===================================================================
diff --git a/render_clay.py b/render_clay.py
deleted file mode 100644
index d53878b0..00000000
--- a/render_clay.py
+++ /dev/null
@@ -1,225 +0,0 @@
-# ##### BEGIN GPL LICENSE BLOCK #####
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# ##### END GPL LICENSE BLOCK #####
-
-# <pep8 compliant>
-
-bl_info = {
- "name": "Clay Render",
- "author": "Fabio Russo <ruesp83 at libero.it>",
- "version": (1, 2),
- "blender": (2, 56, 0),
- "location": "Render > Clay Render",
- "description": "This script, applies a temporary material to all objects"\
- " of the scene.",
- "wiki_url": "http://wiki.blender.org/index.php/Extensions:2.6/Py/"
- "Scripts/Clay_Render",
- "tracker_url": "https://developer.blender.org/maniphest/task/edit/form/2/",
- "category": "Render"}
-
-import bpy
-from bpy.props import BoolProperty
-
-
-def Create_Mat():
- id = bpy.data.materials.new("Clay_Render")
- #diffuse
- id.diffuse_shader = "OREN_NAYAR"
- id.diffuse_color = 0.800, 0.741, 0.536
- id.diffuse_intensity = 1
- id.roughness = 0.909
- #specular
- id.specular_shader = "COOKTORR"
- id.specular_color = 1, 1, 1
- id.specular_hardness = 10
- id.specular_intensity = 0.115
-
-
-def Alternative_Clay(self, msg):
- Find = False
- AM = None
- i = 0
- for mat in bpy.data.materials:
- if (mat.Mat_Clay) and (not Find):
- Find = True
- AM = mat
- i += 1
-
- else:
- if (mat.Mat_Clay):
- i += 1
-
- if msg is True:
- if (i == 1):
- self.report({'INFO'}, "The material \"" + AM.name + "\" is set "\
- "as Clay!")
- else:
- if (i > 1):
- self.report({'WARNING'}, "Two or more materials are set as "\
- "Clay. \"" + AM.name + "\" will be used!")
-
- return AM
-
-
-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 ClayPinned(bpy.types.Operator):
- bl_idname = "render.clay_pinned"
- bl_label = "Clay Pinned"
- bl_description = "Clay Material Stores"
-
- def execute(self, context):
- if bpy.types.Scene.Clay_Pinned:
- bpy.types.Scene.Clay_Pinned = False
- else:
- if bpy.types.Scene.Clay:
- if bpy.data.materials[0].users == 0:
- bpy.data.materials.remove(Get_Mat())
- bpy.types.Scene.Clay_Pinned = True
-
- else:
- bpy.types.Scene.Clay_Pinned = True
-
- return {'FINISHED'}
-
-
-class CheckClay(bpy.types.Operator):
- bl_idname = "render.clay"
- bl_label = "Clay Render"
- bl_description = "Use Clay Render"
-
- def execute(self, context):
- if bpy.types.Scene.Clay:
- #Clay Attivato
- ac = Alternative_Clay(self, True)
- if ac is None:
- if not Exist_Mat():
- Create_Mat()
- rl = context.scene.render.layers
- rl.active.material_override = Get_Mat()
-
- else:
- context.scene.render.layers.active.material_override = ac
-
- bpy.types.Scene.Clay = False
-
- else:
- context.scene.render.layers.active.material_override = None
- if bpy.types.Scene.Clay_Pinned:
- if bpy.data.materials[0].users == 0:
- bpy.data.materials.remove(Get_Mat())
- bpy.types.Scene.Clay = True
-
- return {'FINISHED'}
-
-
-def draw_clay_render(self, context):
- ok_clay = not bpy.types.Scene.Clay
- pin = not bpy.types.Scene.Clay_Pinned
-
- rnl = context.scene.render.layers.active
- 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()
- if Alternative_Clay(self, False) is None:
- if Exist_Mat():
- if (bpy.data.materials[0].users == 0) or (ok_clay):
- row = col.row(align=True)
- im = Get_Mat()
- row.prop(im, "diffuse_color", text="")
- row.operator(ClayPinned.bl_idname, text="", icon='PINNED'\
- if pin else 'UNPINNED')
-
- if ok_clay:
- row.active = True
-
- else:
- row.active = False
-
- else:
- col.label('Clay Material applied to an object')
-
- else:
- col.label('Custom Material Clay')
-
- self.layout.separator()
-
-
-def draw_clay_options(self, context):
- cm = context.material
- layout = self.layout
- layout.prop(cm, "Mat_Clay", text="Clay")
-
-
-def draw_clay_warning(self, context):
- if not bpy.types.Scene.Clay:
- self.layout.label("Render Clay Enabled", "ERROR")
-
-
-def register():
- bpy.types.Scene.Clay = BoolProperty(
- name='Clay Render',
- description='Use Clay Render',
- default=False)
-
- bpy.types.Scene.Clay_Pinned = BoolProperty(
- name='Clay Pinned',
- description='Clay Material Stores',
- default=False)
-
- bpy.types.Material.Mat_Clay = bpy.props.BoolProperty(
- name='Use as Clay',
- description='Use as Clay',
- default=False)
-
- bpy.utils.register_class(ClayPinned)
- bpy.utils.register_class(CheckClay)
- bpy.types.RENDER_PT_render.prepend(draw_clay_render)
- bpy.types.MATERIAL_PT_options.append(draw_clay_options)
- bpy.types.INFO_HT_header.append(draw_clay_warning)
-
-
-def unregister():
- bpy.context.scene.render.layers.active.material_override = None
- if (Exist_Mat()) and (bpy.data.materials[0].users == 0):
- bpy.data.materials.remove(Get_Mat())
- del bpy.types.Scene.Clay
- del bpy.types.Scene.Clay_Pinned
- del bpy.types.Material.Mat_Clay
- bpy.utils.unregister_class(ClayPinned)
- bpy.utils.unregister_class(CheckClay)
- bpy.types.RENDER_PT_render.remove(draw_clay_render)
- bpy.types.MATERIAL_PT_options.remove(draw_clay_options)
- bpy.types.INFO_HT_header.remove(draw_clay_warning)
-
-
-if __name__ == "__main__":
- register()
More information about the Bf-extensions-cvs
mailing list