Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Poirier <theeth@yahoo.com>2009-12-04 04:28:00 +0300
committerMartin Poirier <theeth@yahoo.com>2009-12-04 04:28:00 +0300
commitd3d11ede4453fbcce0f010b6418c1faeb6ec05e1 (patch)
tree2910c0684f1152958afb63bff03c97e1e9a0bc34 /release/scripts
parent77aacc6ce437dbe526fe08e12a6f68a16d7e2c30 (diff)
Fix for cache path.
Operator for background baking (no support in netrender itself yet).
Diffstat (limited to 'release/scripts')
-rw-r--r--release/scripts/io/netrender/client.py2
-rw-r--r--release/scripts/io/netrender/operators.py49
2 files changed, 50 insertions, 1 deletions
diff --git a/release/scripts/io/netrender/client.py b/release/scripts/io/netrender/client.py
index 8fdedde3f52..f39beadfe57 100644
--- a/release/scripts/io/netrender/client.py
+++ b/release/scripts/io/netrender/client.py
@@ -127,7 +127,7 @@ def clientSendJob(conn, scene, anim = False):
# FLUID + POINT CACHE
###########################
root, ext = os.path.splitext(name)
- default_path = path + "blendcache_" + root + os.sep # need an API call for that
+ default_path = path + os.sep + "blendcache_" + root + os.sep # need an API call for that
for object in bpy.data.objects:
for modifier in object.modifiers:
diff --git a/release/scripts/io/netrender/operators.py b/release/scripts/io/netrender/operators.py
index b5b16b1fb9c..84a00970018 100644
--- a/release/scripts/io/netrender/operators.py
+++ b/release/scripts/io/netrender/operators.py
@@ -27,6 +27,55 @@ import netrender.client as client
import netrender.model
@rnaOperator
+class RENDER_OT_netslave_bake(bpy.types.Operator):
+ '''NEED DESCRIPTION'''
+ bl_idname = "render.netslavebake"
+ bl_label = "Bake all in file"
+
+ def poll(self, context):
+ return True
+
+ def execute(self, context):
+ scene = context.scene
+ netsettings = scene.network_render
+
+ filename = bpy.data.filename
+ path, name = os.path.split(filename)
+ root, ext = os.path.splitext(name)
+ default_path = path + os.sep + "blendcache_" + root + os.sep # need an API call for that
+
+ # Force all point cache next to the blend file
+ for object in bpy.data.objects:
+ for modifier in object.modifiers:
+ if modifier.type == 'FLUID_SIMULATION' and modifier.settings.type == "DOMAIN":
+ modifier.settings.path = default_path
+ bpy.ops.fluid.bake({"active_object": object, "scene": scene})
+ elif modifier.type == "CLOTH":
+ modifier.point_cache.disk_cache = True
+ modifier.point_cache.external = False
+ elif modifier.type == "SOFT_BODY":
+ modifier.point_cache.disk_cache = True
+ modifier.point_cache.external = False
+ elif modifier.type == "SMOKE" and modifier.smoke_type == "TYPE_DOMAIN":
+ modifier.domain_settings.point_cache_low.disk_cache = True
+ modifier.domain_settings.point_cache_low.external = False
+ modifier.domain_settings.point_cache_high.disk_cache = True
+ modifier.domain_settings.point_cache_high.external = False
+
+ # particles modifier are stupid and don't contain data
+ # we have to go through the object property
+ for psys in object.particle_systems:
+ psys.point_cache.disk_cache = True
+ psys.point_cache.external = False
+
+ bpy.ops.ptcache.bake_all()
+
+ return ('FINISHED',)
+
+ def invoke(self, context, event):
+ return self.execute(context)
+
+@rnaOperator
class RENDER_OT_netclientanim(bpy.types.Operator):
'''Start rendering an animation on network'''
bl_idname = "render.netclientanim"