24
24
def __init__(self):
25
25
self.args = Arguments()
26
self.args.parse_argv()
26
self.render_path = os.path.splitext(self.args['render_path'])[0]
29
scene = Scene.GetCurrent()
29
31
script = imp.load_source(self.args['script'], self.args['script_path'])
30
script.set_up_render(self.args)
32
scn = Scene.GetCurrent()
33
ctx = scn.getRenderingContext()
38
ctx.imageSizeX(int(self.args['render_width']))
39
ctx.imageSizeY(int(self.args['render_height']))
41
render_path = os.path.splitext(self.args['render_path'])[0]
43
ctx.renderPath = render_path + os.path.sep
46
render_result_path = os.path.join(render_path, '0001.png')
32
blender_initializer = script.BlenderInitializer()
33
blender_initializer.set_up_render(self.args, scene)
35
self.set_up_render_context(scene)
37
render_result_path = os.path.join(self.render_path, '0001.png')
47
38
os.rename(render_result_path, self.args['render_path'])
40
blender_initializer.clean_up()
42
def set_up_render_context(self, scene):
43
context = scene.getRenderingContext()
48
context.imageSizeX(int(self.args['render_width']))
49
context.imageSizeY(int(self.args['render_height']))
50
context.setRenderWinSize(100)
52
context.oversampling = True
55
context.alphaMode = 0 # 0 for sky, 1 for premul, 2 for key
56
context.enableRGBColor()
58
context.renderPath = self.render_path + os.path.sep
50
61
class Arguments(dict):
53
64
args = sys.argv[sys.argv.index('--') + 1:]
55
66
key, value = arg.split(':', 1)
68
if value.lower() in ('no', 'false'):
72
self[key] = float(value)
59
76
script = BlenderScript()