-
Notifications
You must be signed in to change notification settings - Fork 376
/
render_all.py
44 lines (40 loc) · 1.6 KB
/
render_all.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# NVIDIA CORPORATION & AFFILIATES and its licensors retain all intellectual property
# and proprietary rights in and to this software, related documentation
# and any modifications thereto. Any use, reproduction, disclosure or
# distribution of this software and related documentation without an express
# license agreement from NVIDIA CORPORATION & AFFILIATES is strictly prohibited.
import os
import argparse
parser = argparse.ArgumentParser(description='Renders given obj file by rotation a camera around it.')
parser.add_argument(
'--save_folder', type=str, default='./tmp',
help='path for saving rendered image')
parser.add_argument(
'--dataset_folder', type=str, default='./tmp',
help='path for downloaded 3d dataset folder')
parser.add_argument(
'--blender_root', type=str, default='./tmp',
help='path for blender')
args = parser.parse_args()
save_folder = args.save_folder
dataset_folder = args.dataset_folder
blender_root = args.blender_root
synset_list = [
'02958343', # Car
'03001627', # Chair
'03790512' # Motorbike
]
scale_list = [
0.9,
0.7,
0.9
]
for synset, obj_scale in zip(synset_list, scale_list):
file_list = sorted(os.listdir(os.path.join(dataset_folder, synset)))
for idx, file in enumerate(file_list):
render_cmd = '%s -b -P render_shapenet.py -- --output %s %s --scale %f --views 24 --resolution 1024 >> tmp.out' % (
blender_root, save_folder, os.path.join(dataset_folder, synset, file, 'model.obj'), obj_scale
)
os.system(render_cmd)