Skip to content

Commit 45233e7

Browse files
committed
Added keyboard exception option
1 parent 6b498d6 commit 45233e7

File tree

2 files changed

+11
-7
lines changed

2 files changed

+11
-7
lines changed

batch_render_blender.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
parser = argparse.ArgumentParser(description='Execute render script on multiple obj files')
1919
parser.add_argument('-path', type=str, help='Path to the directory which holds object files (in their directories')
20-
parser.add_argument('--views', type=int, default=5, help='number of views to be rendered for each object')
20+
parser.add_argument('--views', type=int, default=50, help='number of views to be rendered for each object')
2121
parser.add_argument('-output_path', type=str, default="/home/toky/asaf/rendered_data/", help='Path to the directory which renders will be written in')
2222
parser.add_argument('-max_objects', type=int, default=-1, help='maximum number of objects to be rendered')
2323
parser.add_argument('-render_script', type=str, default="render_blender.py", help='Rendering script')
@@ -65,6 +65,9 @@
6565
quit("Error during run: {}".format(error))
6666
except subprocess.TimeoutExpired:
6767
logging.error("The object {} timed out and was stopped".format(obj_file))
68+
except KeyboardInterrupt as e:
69+
logging.exception("Run killed by user")
70+
6871

6972
if idx == max_objects:
7073
break

render_blender.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
parser = argparse.ArgumentParser(description='Render object and by-products for use in photometric stereo')
1717
parser.add_argument('--views', type=int, default=5, help='number of views to be rendered')
18-
parser.add_argument('-num_of_lights', type=int, default=2, help='number of light angles to be rendered')
18+
parser.add_argument('-num_of_lights', type=int, default=1, help='number of light angles to be rendered')
1919
parser.add_argument('-obj', type=str, help='Path to the obj file to be rendered.')
2020
parser.add_argument('-output_folder', type=str, default='/tmp', help='The output path')
2121
parser.add_argument('--scale', type=float, default=1, help='Scaling factor applied to model. Depends on size of mesh.')
@@ -153,7 +153,6 @@ def setup_nodes():
153153

154154
bias_normal = tree.nodes.new(type="CompositorNodeMixRGB")
155155
bias_normal.blend_type = 'ADD'
156-
# bias_normal.use_alpha = True
157156
bias_normal.inputs[2].default_value = (0.5, 0.5, 0.5, 0)
158157
links.new(scale_normal.outputs[0], bias_normal.inputs[1])
159158

@@ -210,8 +209,9 @@ def main_flow():
210209
light_directions = {} # saved and will be written to file
211210

212211
for i in range(0, args.views):
212+
213213
print("Rotation {}, {}".format((stepsize * i), radians(stepsize * i)))
214-
file_path = os.path.join(args.filepath, "obj_rotation" + str(i), "")
214+
file_path = os.path.join(args.filepath, "obj_rotat" + str(i), "")
215215

216216
depth_file_output.file_slots[0].path = file_path + "depth"
217217
normal_file_output.file_slots[0].path = file_path + "normal"
@@ -242,10 +242,11 @@ def main_flow():
242242
else:
243243
objct = obj
244244

245-
# objct.rotation_euler[2] += radians(stepsize)
246-
objct.rotation_euler[0] += radians(stepsize / 2) # rotate object
245+
# rotate object around x and z axis (this is just some arbitrary choice to create different views...)
246+
objct.rotation_euler[2] += radians(stepsize / 2)
247+
objct.rotation_euler[0] += radians(stepsize / 2)
247248

248-
# return exit code different than 0
249+
# return exit code different than 0 if some exception is thrown
249250
try:
250251
main_flow()
251252
except:

0 commit comments

Comments
 (0)