diff --git a/render_povray/render.py b/render_povray/render.py index fe5b9c6ffd5e5a32c1fd9400e1fb262630e8b298..ac163b0314bb776c650e70132bcb454b094868c6 100644 --- a/render_povray/render.py +++ b/render_povray/render.py @@ -1721,13 +1721,19 @@ class PovrayRender(bpy.types.RenderEngine): povPath = bpy.path.abspath("//") else: povPath = bpy.path.abspath(scene.pov_scene_path) + if not os.path.exists(povPath): - print("POV-Ray 3.7: Cannot find scenes directory") - self.update_stats("", "POV-Ray 3.7: Cannot find scenes directory") - print("Path: " + povPath) - time.sleep(2.0) - return - + try: + os.makedirs(povPath) + except: + import traceback + traceback.print_exc() + + print("POV-Ray 3.7: Cannot create scenes directory: %r" % povPath) + self.update_stats("", "POV-Ray 3.7: Cannot create scenes directory %r" % povPath) + time.sleep(2.0) + return + ''' # Bug in POV-Ray RC3 renderImagePath = bpy.path.abspath(scene.pov_renderimage_path).replace('\\','/') @@ -1769,7 +1775,7 @@ class PovrayRender(bpy.types.RenderEngine): print("Scene name: " + povSceneName) print("Export path: " + povPath) - povPath = povPath + "\\" + povSceneName + povPath = os.path.join(povPath, povSceneName) povPath = os.path.realpath(povPath) # renderImagePath = renderImagePath + "\\" + povSceneName # for now this has to be the same like the pov output. Bug in POV-Ray RC3. @@ -1819,12 +1825,19 @@ class PovrayRender(bpy.types.RenderEngine): prev_size = -1 def update_image(): + xmin = int(r.border_min_x * x) + ymin = int(r.border_min_y * y) + xmax = int(r.border_max_x * x) + ymax = int(r.border_max_y * y) + # print("***POV UPDATING IMAGE***") result = self.begin_result(0, 0, x, y) + #result = self.begin_result(xmin, ymin, xmax - xmin, ymax - ymin) # XXX, test for border render. lay = result.layers[0] # possible the image wont load early on. try: lay.load_from_file(self._temp_file_out) + #lay.load_from_file(self._temp_file_out, xmin, ymin) # XXX, test for border render. except SystemError: pass self.end_result(result)