[Bf-extensions-cvs] [36ba3f82] master: addons final Easter egg commit thanks to draguu

meta-androcto noreply at git.blender.org
Thu Jun 15 17:04:21 CEST 2017


Commit: 36ba3f822efc4f35e7c16d5ef735cfec59e6eae7
Author: meta-androcto
Date:   Fri Jun 16 01:03:53 2017 +1000
Branches: master
https://developer.blender.org/rBA36ba3f822efc4f35e7c16d5ef735cfec59e6eae7

addons final Easter egg commit thanks to draguu

===================================================================

A	lighting_dynamic_sky.py

===================================================================

diff --git a/lighting_dynamic_sky.py b/lighting_dynamic_sky.py
new file mode 100644
index 00000000..de125529
--- /dev/null
+++ b/lighting_dynamic_sky.py
@@ -0,0 +1,348 @@
+# Dynamic Sky.py (c) 2015 Pratik Solanki (Draguu)
+#
+#    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 3 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, see <http://www.gnu.org/licenses/>.
+#
+# ***** END GPL LICENCE BLOCK *****
+
+
+bl_info = {
+    "name": "Dynamic Sky",
+    "author": "Pratik Solanki",
+    "version": (1, 0, 1),
+    "blender": (2, 78, 0),
+    "location": "View3D > Tools",
+    "description": "Creates Dynamic Sky for Cycles",
+    "warning": "",
+    "wiki_url": "http://www.dragoneex.com/downloads/dynamic-skyadd-on",
+    "category": "Lighting",
+    }
+import bpy
+
+
+class dsky(bpy.types.Operator):
+
+    bl_idname = "sky.dyn"
+    bl_label = "Make a Procidural sky"
+
+
+    def execute(self, context):
+
+        def clean_node_tree(node_tree):
+            nodes = node_tree.nodes
+            for node in nodes:
+                if not node.type == 'OUTPUT_WORLD':
+                    nodes.remove(node)
+            return node_tree.nodes[0]
+        bpy.context.scene.render.engine = 'CYCLES'
+
+
+        def dynamic():
+
+            world = bpy.data.worlds.new('Dynamic')
+            world.cycles.sample_as_light = True
+            world.cycles.sample_map_resolution = 2048
+            world.use_nodes = True
+
+            nt = world.node_tree
+            bg = world.node_tree.nodes['Background']
+
+            bg.inputs[0].default_value[:3] = (0.5, .1, 0.6)
+            bg.inputs[1].default_value = 1
+            ntl = nt.links.new
+            tcor = nt.nodes.new(type="ShaderNodeTexCoord")
+            map = nt.nodes.new(type="ShaderNodeMapping")
+            map.vector_type = 'NORMAL'
+
+            nor = nt.nodes.new(type="ShaderNodeNormal")
+
+            cr1 = nt.nodes.new(type ="ShaderNodeValToRGB")
+            cr1.color_ramp.elements[0].position = 0.969
+            cr1.color_ramp.interpolation = 'EASE'
+            cr2 = nt.nodes.new(type ="ShaderNodeValToRGB")
+            cr2.color_ramp.elements[0].position = 0.991
+            cr2.color_ramp.elements[1].position = 1
+            cr2.color_ramp.interpolation = 'EASE'
+            cr3 = nt.nodes.new(type ="ShaderNodeValToRGB")
+            cr3.color_ramp.elements[0].position = 0.779
+            cr3.color_ramp.elements[1].position = 1
+            cr3.color_ramp.interpolation = 'EASE'
+
+            mat1 = nt.nodes.new(type ="ShaderNodeMath")
+            mat1.operation = 'MULTIPLY'
+            mat1.inputs[1].default_value = 0.2
+            mat2 = nt.nodes.new(type ="ShaderNodeMath")
+            mat2.operation = 'MULTIPLY'
+            mat2.inputs[1].default_value = 2
+            mat3 = nt.nodes.new(type ="ShaderNodeMath")
+            mat3.operation = 'MULTIPLY'
+            mat3.inputs[1].default_value = 40.9
+            mat4 = nt.nodes.new(type ="ShaderNodeMath")
+            mat4.operation = 'SUBTRACT'
+            mat4.inputs[1].default_value = 1
+            ntl(mat2.inputs[0],mat1.outputs[0])
+            ntl(mat4.inputs[0],mat3.outputs[0])
+            ntl(mat1.inputs[0],cr3.outputs[0])
+            ntl(mat3.inputs[0],cr2.outputs[0])
+
+            soft = nt.nodes.new(type = "ShaderNodeMixRGB")
+            soft_1 = nt.nodes.new(type = "ShaderNodeMixRGB")
+            soft.inputs[0].default_value = 1
+            soft_1.inputs[0].default_value = 0.466
+            ntl(soft.inputs[1],mat2.outputs[0])
+            ntl(soft.inputs[2],mat4.outputs[0])
+            ntl(soft_1.inputs[1],mat2.outputs[0])
+            ntl(soft_1.inputs[2],cr2.outputs[0])
+
+            mix1 = nt.nodes.new(type = "ShaderNodeMixRGB")
+            mix1.blend_type = 'MULTIPLY'
+            mix1.inputs[0].default_value = 1
+            mix1_1 = nt.nodes.new(type = "ShaderNodeMixRGB")
+            mix1_1.blend_type = 'MULTIPLY'
+            mix1_1.inputs[0].default_value = 1
+
+            mix2 = nt.nodes.new(type = "ShaderNodeMixRGB")
+            mix2_1 = nt.nodes.new(type = "ShaderNodeMixRGB")
+            mix2.inputs[1].default_value = (0, 0, 0, 1)
+            mix2.inputs[2].default_value = (32, 22, 14, 200)
+            mix2_1.inputs[1].default_value = (0, 0, 0, 1)
+            mix2_1.inputs[2].default_value = (1, 0.820, 0.650,1)
+
+            ntl(mix1.inputs[1],soft.outputs[0])
+            ntl(mix1_1.inputs[1],soft_1.outputs[0])
+            ntl(mix2.inputs[0],mix1.outputs[0])
+            ntl(mix2_1.inputs[0],mix1_1.outputs[0])
+
+            gam = nt.nodes.new(type = "ShaderNodeGamma")
+            gam.inputs[1].default_value = 2.3
+            gam2 = nt.nodes.new(type = "ShaderNodeGamma")
+            gam2.inputs[1].default_value = 1
+            gam3 = nt.nodes.new(type = "ShaderNodeGamma")
+            gam3.inputs[1].default_value = 1
+
+            sunopa = nt.nodes.new(type = "ShaderNodeMixRGB")
+            sunopa.blend_type = 'ADD'
+            sunopa.inputs[0].default_value = 1
+            sunopa_1 = nt.nodes.new(type = "ShaderNodeMixRGB")
+            sunopa_1.blend_type = 'ADD'
+            sunopa_1.inputs[0].default_value = 1
+
+            combine = nt.nodes.new(type = "ShaderNodeMixRGB")
+            ntl(combine.inputs[1],sunopa.outputs[0])
+            ntl(combine.inputs[2],sunopa_1.outputs[0])
+            lp = nt.nodes.new(type = "ShaderNodeLightPath")
+            ntl(combine.inputs[0],lp.outputs[0])
+
+            ntl(gam2.inputs[0],gam.outputs[0])
+            ntl(gam.inputs[0],mix2.outputs[0])
+            ntl(bg.inputs[0],combine.outputs[0])
+
+            map2 = nt.nodes.new(type = "ShaderNodeMapping")
+            map2.scale[2] = 6.00
+            map2.scale[0] = 1.5
+            map2.scale[1] = 1.5
+
+            n1 = nt.nodes.new(type = "ShaderNodeTexNoise")
+            n1.inputs[1].default_value = 3.8
+            n1.inputs[2].default_value = 2.4
+            n1.inputs[3].default_value = 0.5
+
+            n2 = nt.nodes.new(type = "ShaderNodeTexNoise")
+            n2.inputs[1].default_value = 2.0
+            n2.inputs[2].default_value = 10
+            n2.inputs[3].default_value = 0.2
+
+            ntl(n2.inputs[0],map2.outputs[0])
+            ntl(n1.inputs[0],map2.outputs[0])
+
+            sc1 = nt.nodes.new(type = "ShaderNodeValToRGB")
+            sc2 = nt.nodes.new(type = "ShaderNodeValToRGB")
+            sc3 = nt.nodes.new(type = "ShaderNodeValToRGB")
+            sc3_1 = nt.nodes.new(type = "ShaderNodeValToRGB")
+            sc4 = nt.nodes.new(type = "ShaderNodeValToRGB")
+
+            sc1.color_ramp.elements[1].position = 0.649
+            sc1.color_ramp.elements[0].position = 0.408
+
+            sc2.color_ramp.elements[1].position = 0.576
+            sc2.color_ramp.elements[0].position = 0.408
+
+            sc3.color_ramp.elements.new(0.5)
+            sc3.color_ramp.elements[2].position = 0.435
+
+            sc3.color_ramp.elements[1].position = 0.160
+            sc3.color_ramp.elements[0].position = 0.027
+
+            sc3.color_ramp.elements[1].color = (1, 1, 1, 1)
+            sc3.color_ramp.elements[0].color = (0.419, 0.419, 0.419, 0.419)
+
+            sc3.color_ramp.elements[0].position = 0.0
+            sc4.color_ramp.elements[0].position = 0.0
+            sc4.color_ramp.elements[1].position = 0.469
+            sc4.color_ramp.elements[1].color = (0, 0, 0, 1)
+            sc4.color_ramp.elements[0].color = (1, 1, 0.917412, 1)
+
+            sc3_1.color_ramp.elements.new(0.5)
+            sc3_1.color_ramp.elements[2].position = 0.435
+
+            sc3_1.color_ramp.elements[1].position = 0.187
+            sc3_1.color_ramp.elements[1].color = (1, 1, 1, 1)
+            sc3_1.color_ramp.elements[0].color = (0, 0, 0, 0)
+            sc3_1.color_ramp.elements[0].position = 0.0
+
+            smix1 = nt.nodes.new(type = "ShaderNodeMixRGB")
+            smix2 = nt.nodes.new(type = "ShaderNodeMixRGB")
+            smix2_1 = nt.nodes.new(type = "ShaderNodeMixRGB")
+            smix3 = nt.nodes.new(type = "ShaderNodeMixRGB")
+            smix4 = nt.nodes.new(type = "ShaderNodeMixRGB")
+            smix5 = nt.nodes.new(type = "ShaderNodeMixRGB")
+
+            smix1.inputs[1].default_value = (1, 1, 1, 1)
+            smix1.inputs[2].default_value = (0, 0, 0, 1)
+            smix2.inputs[0].default_value = 0.267
+            smix2.blend_type = 'MULTIPLY'
+            smix2_1.inputs[0].default_value = 1
+            smix2_1.blend_type = 'MULTIPLY'
+
+            smix3.inputs[1].default_value = (0.434, 0.838, 1, 1)
+            smix3.inputs[2].default_value = (0.962, 0.822, 0.822, 1)
+            smix4.blend_type = 'MULTIPLY'
+            smix4.inputs[0].default_value = 1
+            smix5.blend_type = 'SCREEN'
+            smix5.inputs[0].default_value = 1
+
+            srgb = nt.nodes.new(type = "ShaderNodeSeparateRGB")
+            aniadd = nt.nodes.new(type = "ShaderNodeMath")
+            crgb = nt.nodes.new(type = "ShaderNodeCombineRGB")
+            sunrgb = nt.nodes.new(type = "ShaderNodeMixRGB")
+            sunrgb.blend_type = 'MULTIPLY'
+            sunrgb.inputs[2].default_value = (32, 30, 30, 200)
+            sunrgb.inputs[0].default_value = 1
+
+            ntl(mix2.inputs[2],sunrgb.outputs[0])
+
+            ntl(smix1.inputs[0],sc2.outputs[0])
+            ntl(smix2.inputs[1],smix1.outputs[0])
+            ntl(smix2.inputs[2],sc1.outputs[0])
+            ntl(smix2_1.inputs[2],sc3_1.outputs[0])
+            ntl(smix3.inputs[0],sc4.outputs[0])
+            ntl(smix4.inputs[2],smix3.outputs[0])
+            ntl(smix4.inputs[1],sc3.outputs[0])
+            ntl(smix5.inputs[1],smix4.outputs[0])
+            ntl(

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-extensions-cvs mailing list