diff --git a/src/product_gen/__pycache__/generate_lamp.cpython-35.pyc b/src/product_gen/__pycache__/generate_lamp.cpython-35.pyc index 7ca6b4e..2aa0a03 100644 Binary files a/src/product_gen/__pycache__/generate_lamp.cpython-35.pyc and b/src/product_gen/__pycache__/generate_lamp.cpython-35.pyc differ diff --git a/src/product_gen/__pycache__/generate_shades.cpython-35.pyc b/src/product_gen/__pycache__/generate_shades.cpython-35.pyc index dd41bf7..ed5de12 100644 Binary files a/src/product_gen/__pycache__/generate_shades.cpython-35.pyc and b/src/product_gen/__pycache__/generate_shades.cpython-35.pyc differ diff --git a/src/product_gen/generate_lamp.py b/src/product_gen/generate_lamp.py index baa2d24..63444f1 100644 --- a/src/product_gen/generate_lamp.py +++ b/src/product_gen/generate_lamp.py @@ -48,23 +48,42 @@ def optimize_for_render(models): def apply_textures(colormap, models): for eachName in colormap.keys(): - mat = bpy.data.materials.get(eachName + "-material") - if mat is None: - mat = bpy.data.materials.new(name=eachName + "-material") - mat.diffuse_color = colormap[eachName] - mat.specular_color = colormap[eachName] - mat.diffuse_intensity = 1.0 - mat.specular_intensity = 1.0 - if "shade" in eachName: - mat.emit = 0.0 - mat.translucency = 10 - mat.use_transparency = True + if "shade" in eachName: + mat = bpy.data.materials.get("shade-material") + if mat is None: + mat = bpy.data.materials.new("shade-material") + mat.use_nodes = True + mat.node_tree.nodes.new('ShaderNodeBsdfGlossy') + inp = mat.node_tree.nodes["Material Output"].inputs["Surface"] + outp = mat.node_tree.nodes["Glossy BSDF"].outputs["BSDF"] + mat.node_tree.nodes['Glossy BSDF'].inputs[0].default_value = (colormap[eachName][0], + colormap[eachName][1], + colormap[eachName][2] + ,1) + mat.node_tree.links.new(inp, outp) + + bpy.context.scene.objects.active = bpy.data.objects[eachName] + if bpy.context.active_object.data.materials: + # assign to 1st material slot + bpy.context.active_object.data.materials[0] = mat + else: + # no slots + bpy.context.active_object.data.materials.append(mat) - bpy.context.scene.objects.active = models[eachName] - if bpy.context.active_object.data.materials: - # assign to 1st material slot - bpy.context.active_object.data.materials[0] = mat else: - # no slots - bpy.context.active_object.data.materials.append(mat) \ No newline at end of file + mat = bpy.data.materials.get(eachName + "-material") + if mat is None: + mat = bpy.data.materials.new(name=eachName + "-material") + mat.diffuse_color = colormap[eachName] + mat.specular_color = colormap[eachName] + mat.diffuse_intensity = 1.0 + mat.specular_intensity = 1.0 + + bpy.context.scene.objects.active = models[eachName] + if bpy.context.active_object.data.materials: + # assign to 1st material slot + bpy.context.active_object.data.materials[0] = mat + else: + # no slots + bpy.context.active_object.data.materials.append(mat) \ No newline at end of file diff --git a/src/rendering/__pycache__/setup_scene.cpython-35.pyc b/src/rendering/__pycache__/setup_scene.cpython-35.pyc index 5e7c785..c5e1022 100644 Binary files a/src/rendering/__pycache__/setup_scene.cpython-35.pyc and b/src/rendering/__pycache__/setup_scene.cpython-35.pyc differ diff --git a/src/rendering/setup_scene.py b/src/rendering/setup_scene.py index 9296cde..669513e 100644 --- a/src/rendering/setup_scene.py +++ b/src/rendering/setup_scene.py @@ -35,13 +35,12 @@ def setup_scene(shape_parameters): bpy.context.active_object.data.materials.append(mat) # Set up cameras - bpy.data.objects["Camera"].location = (10.0, 0.0, -1) + bpy.data.objects["Camera"].location = (10.0, 0.0, -4) fov = 65.0 bpy.data.objects["Camera"].data.angle = fov*(math.pi/180.0) bpy.data.objects["Camera"].rotation_mode = 'XYZ' bpy.data.objects["Camera"].rotation_euler[0] = math.pi/2.0 bpy.data.objects["Camera"].rotation_euler[1] = 0.0 - # todo tilt down further for light render bpy.data.objects["Camera"].rotation_euler[2] = math.pi/2.0 # Lamps diff --git a/src/utility/generate_shape.py b/src/utility/generate_shape.py index 463ce38..585708d 100644 --- a/src/utility/generate_shape.py +++ b/src/utility/generate_shape.py @@ -23,8 +23,8 @@ if __name__ == "__main__": os.makedirs(os.getcwd() + "/" + output) # Global bounding box - bbox_xmax = 2.2 - bbox_ymax = 20.0 + bbox_xmax = 4.0 + bbox_ymax = 5.0 # Minimum feature sizes feature_xmin = 0.4 diff --git a/test/test/test.blend b/test/test/test.blend index bac4724..8169a4c 100644 Binary files a/test/test/test.blend and b/test/test/test.blend differ diff --git a/test/test/test.blend1 b/test/test/test.blend1 index ffcdeac..4da8827 100644 Binary files a/test/test/test.blend1 and b/test/test/test.blend1 differ diff --git a/test/test/test.json b/test/test/test.json index e333aee..fc772b5 100644 --- a/test/test/test.json +++ b/test/test/test.json @@ -1 +1 @@ -{"division_offsets": [0.25, 0.25, 0.25, 0.25], "radius": 1.0601818200308606, "shape": "pendant", "height": 4.455460011829081, "style": "billard", "division_patterns": ["sine", "square", "sine", "inv_ramp"], "fixture_radius": 0.3, "division_radii": [0.5868447602079319, 0.596539544538136, 0.7007834420344027, 0.87385109148988]} \ No newline at end of file +{"division_offsets": [0.25, 0.25, 0.25, 0.25], "radius": 0.5151794595751276, "height": 4.115548193330971, "division_patterns": ["inv_square", "inv_square", "square", "inv_sine"], "shape": "pendant", "style": "light", "division_radii": [0.9221841829622927, 0.9489520915432629, 0.9897309968469092, 0.994921834206689], "fixture_radius": 0.3} \ No newline at end of file diff --git a/test/test/test.png b/test/test/test.png index e12129c..050ef54 100644 Binary files a/test/test/test.png and b/test/test/test.png differ