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

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'render_renderfarmfi/prepare.py')
-rw-r--r--render_renderfarmfi/prepare.py189
1 files changed, 0 insertions, 189 deletions
diff --git a/render_renderfarmfi/prepare.py b/render_renderfarmfi/prepare.py
deleted file mode 100644
index 67770635..00000000
--- a/render_renderfarmfi/prepare.py
+++ /dev/null
@@ -1,189 +0,0 @@
-# ##### BEGIN GPL LICENSE BLOCK #####
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# ##### END GPL LICENSE BLOCK #####
-
-import bpy
-import os
-
-def hasSSSMaterial():
- for m in bpy.data.materials:
- if m.subsurface_scattering.use:
- return True
- return False
-
-def tuneParticles():
- for p in bpy.data.particles:
- if (p.type == 'EMITTER'):
- bpy.particleBakeWarning = True
- if (p.type == 'HAIR'):
- if (p.child_type == 'SIMPLE'):
- p.child_type = 'INTERPOLATED'
- bpy.childParticleWarning = True
-
-def hasParticleSystem():
- if (len(bpy.data.particles) > 0):
- print("Found particle system")
- return True
- return False
-
-def hasSimulation(t):
- for o in bpy.data.objects:
- for m in o.modifiers:
- if isinstance(m, t):
- print("Found simulation: " + str(t))
- return True
- return False
-
-def hasFluidSimulation():
- return hasSimulation(bpy.types.FluidSimulationModifier)
-
-def hasSmokeSimulation():
- return hasSimulation(bpy.types.SmokeModifier)
-
-def hasClothSimulation():
- return hasSimulation(bpy.types.ClothModifier)
-
-def hasCollisionSimulation():
- return hasSimulation(bpy.types.CollisionModifier)
-
-def hasSoftbodySimulation():
- return hasSimulation(bpy.types.SoftBodyModifier)
-
-def hasUnsupportedSimulation():
- return hasSoftbodySimulation() or hasCollisionSimulation() or hasClothSimulation() or hasSmokeSimulation() or hasFluidSimulation()
-
-def isFilterNode(node):
- t = type(node)
- return t==bpy.types.CompositorNodeBlur or t==bpy.types.CompositorNodeDBlur
-
-def changeSettings():
-
- sce = bpy.context.scene
- rd = sce.render
- ore = sce.ore_render
-
- # Necessary settings for BURP
- rd.resolution_x = ore.resox
- rd.resolution_y = ore.resoy
- sce.frame_start = ore.start
- sce.frame_end = ore.end
- rd.fps = ore.fps
-
- bpy.file_format_warning = False
- bpy.simulationWarning = False
- bpy.texturePackError = False
- bpy.particleBakeWarning = False
- bpy.childParticleWarning = False
-
- if (rd.image_settings.file_format == 'HDR'):
- rd.image_settings.file_format = 'PNG'
- bpy.file_format_warning = True
-
- # Convert between Blender's image format and BURP's formats
- if (rd.image_settings.file_format == 'PNG'):
- ore.file_format = 'PNG_FORMAT'
- elif (rd.image_settings.file_format == 'OPEN_EXR'):
- ore.file_format = 'EXR_FORMAT'
- elif (rd.image_settings.file_format == 'OPEN_EXR_MULTILAYER'):
- ore.file_format = 'EXR_MULTILAYER_FORMAT'
- elif (rd.image_settings.file_format == 'HDR'):
- ore.file_format = 'PNG_FORMAT'
- else:
- ore.file_format = 'PNG_FORMAT'
-
- if (ore.engine == 'cycles'):
- bpy.context.scene.cycles.samples = ore.samples
-
- if (ore.subsamples <= 0):
- ore.subsamples = 1
-
- if (ore.samples / ore.subsamples < 100.0):
- ore.subsamples = float(ore.samples) / 100.0
-
- # Multipart support doesn' work if SSS is used
- if ((rd.use_sss == True and hasSSSMaterial()) and ore.parts > 1):
- ore.parts = 1;
-
- if (hasParticleSystem()):
- tuneParticles()
- else:
- bpy.particleBakeWarning = False
- bpy.childParticleWarning = False
-
- if (hasUnsupportedSimulation()):
- bpy.simulationWarning = True
- else:
- bpy.simulationWarning = False
-
-def _prepare_scene():
- changeSettings()
-
- print("Packing external textures...")
- try:
- bpy.ops.file.pack_all()
- bpy.texturePackError = False
- except Exception as e:
- bpy.texturePackError = True
- print(e)
-
- linkedData = bpy.utils.blend_paths()
- if (len(linkedData) > 0):
- print("Appending linked .blend files...")
- try:
- bpy.ops.object.make_local(type='ALL')
- bpy.linkedFileError = False
- except Exception as e:
- bpy.linkedFileError = True
- print(e)
- else:
- print("No external .blends used, skipping...")
-
- # Save with a different name
- print("Saving into a new file...")
- try:
- bpy.originalFileName = bpy.data.filepath
- except:
- bpy.originalFileName = 'untitled.blend'
- print("Original path is " + bpy.originalFileName)
- try:
- # If the filename is empty, we'll make one from the path of the user's resource folder
- if (len(bpy.originalFileName) == 0):
- print("No existing file path found, saving to autosave directory")
- savePath = bpy.utils.user_resource("AUTOSAVE")
- try:
- os.mkdir(savePath)
- except Exception as ex:
- print(ex)
- try:
- savePath = savePath + "_renderfarm"
- except Exception as ex:
- print(ex)
- try:
- bpy.ops.wm.save_mainfile(filepath=savePath)
- except Exception as ex:
- print(ex)
- else:
- print("Saving to current .blend directory")
- savePath = bpy.originalFileName
- savePath = savePath + "_renderfarm.blend"
- bpy.ops.wm.save_mainfile(filepath=savePath)
- except Exception as e:
- print(e)
-
- print(".blend prepared")
-
-