[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