Exemple #1
0
# obtain the nodes
nodes = bpy.data.materials['Material'].node_tree.nodes
# set the object visible
bpy.data.objects['Sphere'].hide_render = False
bpy.data.objects['Point'].hide_render = True
bpy.data.objects['Lamp'].hide_render = False
bpy.data.objects['Plane'].hide_render = True

proj_nodes = bpy.data.lamps['Lamp'].node_tree.nodes
tex_node = proj_nodes.get('Image Texture')
for i in range(0, len(props)):
    for j in range(i + 1, len(props)):
        if i == 0 and j == 1:
            continue
        subdir = '%s_%s' % (props[i], props[j])
        set_prop_val(nodes, 0, 0)  # Texture
        set_prop_val(nodes, 1, 8)  # Albedo
        set_prop_val(nodes, 2, 0)  # Specular
        set_prop_val(nodes, 3, 1)  # Roughness

        for ind_1 in range(2, 9, 3):
            set_prop_val(nodes, i, ind_1)

            for ind_2 in range(2, 9, 3):
                set_prop_val(nodes, j, ind_2)

                subsubdir = '%02d%02d' % (ind_1, ind_2)
                outdir = '%s/%s/%s' % (odir, subdir, subsubdir)

                if not os.path.exists(outdir):
                    os.makedirs(outdir)
Exemple #2
0
# list of properties
props = ['tex', 'alb', 'spec', 'rough', 'concav']
# index of effective properties
ind_props = [1, 2, 3]
# get material nodes
nodes = bpy.data.materials['Material'].node_tree.nodes
# set the object visible
bpy.data.objects['Sphere'].hide_render = False
bpy.data.objects['Point'].hide_render = True
bpy.data.objects['Lamp'].hide_render = False
bpy.data.objects['Plane'].hide_render = True

proj_nodes = bpy.data.lamps['Lamp'].node_tree.nodes
tex_node = proj_nodes.get('Image Texture')

set_prop_val(nodes, 0, 2)  # set texture to 0.2
for ind_1 in range(2, 3, 3):
    set_prop_val(nodes, ind_props[0], ind_1)

    for ind_2 in range(2, 9, 3):
        set_prop_val(nodes, ind_props[1], ind_2)

        for ind_3 in range(8, 9, 3):
            set_prop_val(nodes, ind_props[2], ind_3)

            subdir = '00%02d%02d%02d' % (ind_1, ind_2, ind_3
                                         )  # change if ind_props changes
            outdir = '%s/%s' % (odir, subdir)

            if not os.path.exists(outdir):
                os.makedirs(outdir)
Exemple #3
0
# number of images
nimages = 41
# root directory of synthetic dataset
rdir = 'C:/Users/Admin/Documents/3D_Recon/Data/synthetic_data'
# output directory of rendered images
odir = '%s/pairwise' % rdir
# get material nodes
nodes = bpy.data.materials['Material'].node_tree.nodes
# set all objects invisible
for iobj in range(0, len(obj_name)):
	bpy.data.objects[obj_name[iobj]].hide_render = True
# set all lights visible
for ilight in range(0, 8):
	bpy.data.objects['Point.%03d' % ilight].hide_render = False

set_prop_val(nodes, 0, 10) # texture
set_prop_val(nodes, 1, 10) # albedo
set_prop_val(nodes, 2, 0); # specular
set_prop_val(nodes, 3, 0); # roughness

nodes_world = bpy.data.worlds['World'].node_tree.nodes
links_world = bpy.data.worlds['World'].node_tree.links
links_world.remove(links_world[1])
links_world.new(nodes_world.get("Light Path").outputs[0], nodes_world.get("Background").inputs[1])

for iobj in range(1, len(obj_name)):
	bpy.data.objects[obj_name[iobj]].hide_render = False
	outdir = '%s/%s/sc' % (odir, obj_name[iobj])
	if not os.path.exists(outdir):
	    os.makedirs(outdir)
rdir = 'C:/Users/Admin/Documents/3D_Recon/Data/synthetic_data'
# input directory of the projection patterns
idir = '%s/textures/sl' % rdir
# output directory of rendered images
odir = '%s/%s/sl' % (rdir, obj_name)
# obtain the nodes
nodes = bpy.data.materials['Material'].node_tree.nodes
proj_nodes = bpy.data.lamps['Lamp'].node_tree.nodes
tex_node = proj_nodes.get('Image Texture')
# set the object visible
bpy.data.objects['Sphere'].hide_render = False
bpy.data.objects['Point'].hide_render = True
bpy.data.objects['Lamp'].hide_render = False
bpy.data.objects['Plane'].hide_render = True

set_prop_val(nodes, 0, 0) # Texture
set_prop_val(nodes, 1, 10) # Albedo
set_prop_val(nodes, 2, 0) # Specular
set_prop_val(nodes, 3, 0) # Roughness

subdir = 'gt'
outdir = '%s/%s' % (odir, subdir)

if not os.path.exists(outdir):
	os.makedirs(outdir)

for ind_img in range(0, nimg):
	proj_ptn = bpy.data.images.load("%s/sl_v%d.jpg" % (idir, ind_img))
	tex_node.image = proj_ptn
	bpy.data.scenes['Scene'].render.filepath = '%s/%04d.jpg' % (outdir, ind_img)
	bpy.ops.render.render(write_still=True)
Exemple #5
0
bpy.data.objects['king'].hide_render = True
bpy.data.objects['knight'].hide_render = True
# set up the lighting
for ilight in range(0, 8):
    bpy.data.objects['Point.%03d' % ilight].hide_render = False

# green screen
nodes_world = bpy.data.worlds['World'].node_tree.nodes
links_world = bpy.data.worlds['World'].node_tree.links
links_world.remove(links_world[1])
links_world.new(
    nodes_world.get("Light Path").outputs[0],
    nodes_world.get("Background").inputs[1])

for iobj in range(0, len(obj_name)):
    set_prop_val(nodes, 0, 10)  # texture
    set_prop_val(nodes, 1, 10)  # albedo
    set_prop_val(nodes, 2, 0)
    # specular
    set_prop_val(nodes, 3, 0)
    # roughness

    # set obj visible
    bpy.data.objects[obj_name[iobj]].hide_render = False
    # output directory of rendered images
    odir = '%s/%s/sc' % (rdir, obj_name[iobj])

    if not os.path.exists(odir):
        os.makedirs(odir)

    for ind_cam in range(0, nimages):
# number of images
nimages = 41 # len(bpy.data.objects) - 3
# root directory of synthetic dataset
rdir = 'C:/Users/Admin/Documents/3D_Recon/Data/synthetic_data'
# output directory of rendered images
odir = '%s/%s/train/mvs' % (rdir, obj_name)
# list of properties
props = ['tex', 'alb', 'spec', 'rough', 'concav']
# index of effective properties
ind_props = [0, 1, 2]
# get material nodes
nodes = bpy.data.materials['Material'].node_tree.nodes
# set the object visible
bpy.data.objects['Sphere'].hide_render = False

set_prop_val(nodes, 3, 1) # set roughness to 0.1, should set to 0.2?
for ind_1 in range(2, 9, 3):
    set_prop_val(nodes, ind_props[0], ind_1)
	
    for ind_2 in range(2, 9, 3):
        set_prop_val(nodes, ind_props[1], ind_2)

        for ind_3 in range(2, 9, 3):
            set_prop_val(nodes, ind_props[2], ind_3)

            subdir = '%02d%02d%02d00' % (ind_1, ind_2, ind_3) # change if ind_props changes
            outdir = '%s/%s/visualize' % (odir, subdir)
            if not os.path.exists(outdir):
                os.makedirs(outdir)
            
            for ind_cam in range(0, nimages):
Exemple #7
0
# list of properties
# props = ['tex', 'alb', 'spec', 'rough', 'concav']
# index of effective properties
ind_prop = [2, 8, 0, 8]
# get material nodes
nodes = bpy.data.materials['Material'].node_tree.nodes
# set the object visible
bpy.data.objects['Sphere'].hide_render = False
bpy.data.objects['ball'].hide_render = True
bpy.data.objects['cup'].hide_render = True
bpy.data.objects['king'].hide_render = True
bpy.data.objects['knight'].hide_render = True

# hide all the light sources
for ind_light in range(0, nimages):
	bpy.data.objects['Lamp.%03d' % ind_light].hide_render = True

set_prop_val(nodes, 0, ind_prop[0]) # set texture
set_prop_val(nodes, 1, ind_prop[1]) # set albedo
set_prop_val(nodes, 2, ind_prop[2]) # set specular
set_prop_val(nodes, 3, ind_prop[3]) # set roughness

outdir = odir
if not os.path.exists(outdir):
	os.makedirs(outdir)

for ind_light in range(0, nimages):
	bpy.data.objects['Lamp.%03d' % ind_light].hide_render = False
	bpy.data.scenes['Scene'].render.filepath = '%s/%04d.jpg' % (outdir, ind_light)
	bpy.ops.render.render(write_still=True)
	bpy.data.objects['Lamp.%03d' % ind_light].hide_render = True