[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [2796] trunk/py/scripts/addons/ netrender: [#29564] Patch to enable choice between BLENDER_RENDER and CYCLES

Martin Poirier theeth at yahoo.com
Mon Dec 19 21:36:59 CET 2011


Revision: 2796
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=2796
Author:   theeth
Date:     2011-12-19 20:36:52 +0000 (Mon, 19 Dec 2011)
Log Message:
-----------
[#29564] Patch to enable choice between BLENDER_RENDER and CYCLES
[#29648] patch for netrender: correctly send smoke cache domain

Both by Philippe Van Hecke

Render engine support was expended to be able to specify non-builtin engines.

Modified Paths:
--------------
    trunk/py/scripts/addons/netrender/__init__.py
    trunk/py/scripts/addons/netrender/client.py
    trunk/py/scripts/addons/netrender/master.py
    trunk/py/scripts/addons/netrender/model.py
    trunk/py/scripts/addons/netrender/slave.py
    trunk/py/scripts/addons/netrender/ui.py

Modified: trunk/py/scripts/addons/netrender/__init__.py
===================================================================
--- trunk/py/scripts/addons/netrender/__init__.py	2011-12-19 20:21:51 UTC (rev 2795)
+++ trunk/py/scripts/addons/netrender/__init__.py	2011-12-19 20:36:52 UTC (rev 2796)
@@ -21,7 +21,7 @@
 bl_info = {
     "name": "Network Renderer",
     "author": "Martin Poirier",
-    "version": (1, 3),
+    "version": (1, 4),
     "blender": (2, 5, 6),
     "api": 35011,
     "location": "Render > Engine > Network Render",

Modified: trunk/py/scripts/addons/netrender/client.py
===================================================================
--- trunk/py/scripts/addons/netrender/client.py	2011-12-19 20:21:51 UTC (rev 2795)
+++ trunk/py/scripts/addons/netrender/client.py	2011-12-19 20:36:52 UTC (rev 2796)
@@ -101,7 +101,12 @@
 
     job.chunks = netsettings.chunks
     job.priority = netsettings.priority
-    
+
+    if netsettings.job_render_engine == "OTHER":
+        job.render = netsettings.job_render_engine_other
+    else:
+        job.render = netsettings.job_render_engine
+     
     if netsettings.job_type == "JOB_BLENDER":
         job.type = netrender.model.JOB_BLENDER
     elif netsettings.job_type == "JOB_PROCESS":
@@ -225,7 +230,7 @@
                 addPointCache(job, object, modifier.point_cache, default_path)
             elif modifier.type == "SOFT_BODY":
                 addPointCache(job, object, modifier.point_cache, default_path)
-            elif modifier.type == "SMOKE" and modifier.smoke_type == "TYPE_DOMAIN":
+            elif modifier.type == "SMOKE" and modifier.smoke_type == "DOMAIN":
                 addPointCache(job, object, modifier.domain_settings.point_cache, default_path)
             elif modifier.type == "MULTIRES" and modifier.is_external:
                 file_path = bpy.path.abspath(modifier.filepath)

Modified: trunk/py/scripts/addons/netrender/master.py
===================================================================
--- trunk/py/scripts/addons/netrender/master.py	2011-12-19 20:21:51 UTC (rev 2795)
+++ trunk/py/scripts/addons/netrender/master.py	2011-12-19 20:36:52 UTC (rev 2796)
@@ -434,7 +434,6 @@
                     self.send_head(headers={"job-id": job.id})
 
                     message = job.serialize(frames)
-
                     self.wfile.write(bytes(json.dumps(message), encoding='utf8'))
 
                     self.server.stats("", "Sending job to slave")
@@ -512,7 +511,6 @@
             length = int(self.headers['content-length'])
 
             job_info = netrender.model.RenderJob.materialize(json.loads(str(self.rfile.read(length), encoding='utf8')))
-
             job_id = self.server.nextJobID()
 
             job = MRenderJob(job_id, job_info)

Modified: trunk/py/scripts/addons/netrender/model.py
===================================================================
--- trunk/py/scripts/addons/netrender/model.py	2011-12-19 20:21:51 UTC (rev 2795)
+++ trunk/py/scripts/addons/netrender/model.py	2011-12-19 20:36:52 UTC (rev 2796)
@@ -193,7 +193,7 @@
         self.chunks = 0
         self.priority = 0
         self.blacklist = []
-        
+        self.render = "BLENDER_RENDER"
         self.version_info = None
         
         self.resolution = None
@@ -212,6 +212,7 @@
             self.priority = job_info.priority
             self.blacklist = job_info.blacklist
             self.version_info = job_info.version_info
+            self.render = job_info.render
 
     def hasRenderResult(self):
         return self.type in (JOB_BLENDER, JOB_VCS)
@@ -292,7 +293,8 @@
                             "blacklist": self.blacklist,
                             "last_dispatched": self.last_dispatched,
                             "version_info": self.version_info.serialize() if self.version_info else None,
-                            "resolution": self.resolution
+                            "resolution": self.resolution,
+                            "render": self.render
                         }
 
     @staticmethod
@@ -314,6 +316,7 @@
         job.blacklist = data["blacklist"]
         job.last_dispatched = data["last_dispatched"]
         job.resolution = data["resolution"]
+        job.render=data["render"]
         
         version_info = data.get("version_info", None)
         if version_info:

Modified: trunk/py/scripts/addons/netrender/slave.py
===================================================================
--- trunk/py/scripts/addons/netrender/slave.py	2011-12-19 20:21:51 UTC (rev 2795)
+++ trunk/py/scripts/addons/netrender/slave.py	2011-12-19 20:36:52 UTC (rev 2796)
@@ -238,7 +238,7 @@
                         frame_args += ["-f", str(frame.number)]
 
                     val = SetErrorMode()
-                    process = subprocess.Popen([BLENDER_PATH, "-b", "-noaudio", job_full_path, "-t", str(threads), "-o", os.path.join(JOB_PREFIX, "######"), "-E", "BLENDER_RENDER", "-F", "MULTILAYER"] + frame_args, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+                    process = subprocess.Popen([BLENDER_PATH, "-b", "-noaudio", job_full_path, "-t", str(threads), "-o", os.path.join(JOB_PREFIX, "######"), "-E", job.render, "-F", "MULTILAYER"] + frame_args, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
                     RestoreErrorMode(val)
                 elif job.type == netrender.model.JOB_PROCESS:
                     command = job.frames[0].command
@@ -272,6 +272,7 @@
 
                         run_t = current_t
                         if testCancel(conn, job.id, first_frame):
+                            engine.update_stats("", "Job canceled by Master")
                             cancelled = True
 
                 if job.type == netrender.model.JOB_BLENDER:

Modified: trunk/py/scripts/addons/netrender/ui.py
===================================================================
--- trunk/py/scripts/addons/netrender/ui.py	2011-12-19 20:21:51 UTC (rev 2795)
+++ trunk/py/scripts/addons/netrender/ui.py	2011-12-19 20:36:52 UTC (rev 2796)
@@ -211,18 +211,14 @@
                 row.operator("render.render", text="Get Image", icon='RENDER_STILL')
                 row.operator("render.render", text="Get Animation", icon='RENDER_ANIMATION').animation = True
 
-        split = layout.split(percentage=0.3)
+        layout.prop(netsettings, "job_type", text="Type")
+        layout.prop(netsettings, "job_name", text="Name")
+        layout.prop(netsettings, "job_category", text="Category")
+        layout.prop(netsettings, "job_render_engine", text="Engine")
+        
+        if netsettings.job_render_engine == "OTHER":
+            layout.prop(netsettings, "job_render_engine_other", text="Other Engine")
 
-        col = split.column()
-        col.label(text="Type:")
-        col.label(text="Name:")
-        col.label(text="Category:")
-
-        col = split.column()
-        col.prop(netsettings, "job_type", text="")
-        col.prop(netsettings, "job_name", text="")
-        col.prop(netsettings, "job_category", text="")
-
         row = layout.row()
         row.prop(netsettings, "priority")
         row.prop(netsettings, "chunks")
@@ -462,6 +458,22 @@
                         description="Category of the job",
                         maxlen = 128,
                         default = "")
+
+        NetRenderSettings.job_render_engine = EnumProperty(
+                                items = (
+                                                ("BLENDER_RENDER", "BLENDER", "Standard Blender Render"),
+                                                ("CYCLES", "CYCLES", "Cycle Render"),
+                                                ("OTHER", "OTHER", "Other non-default Render"),
+                                         ),
+                                name="render",
+                                description="Render engine used to render this job",
+                                default="BLENDER_RENDER")
+
+        NetRenderSettings.job_render_engine_other = StringProperty(
+                        name="Render engine",
+                        description="Render engine other than the builtin defaults (POVRAY_RENDER, ...)",
+                        maxlen = 128,
+                        default = "")
         
         NetRenderSettings.chunks = IntProperty(
                         name="Chunks",



More information about the Bf-extensions-cvs mailing list