[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [3066] trunk/py/scripts/addons/ render_renderfarmfi.py: - Enabling Cycles uploading
Jesse Kaukonen
jesse.kaukonen at gmail.com
Tue Mar 6 13:11:06 CET 2012
Revision: 3066
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=3066
Author: gekko
Date: 2012-03-06 12:11:05 +0000 (Tue, 06 Mar 2012)
Log Message:
-----------
- Enabling Cycles uploading
- Enabling settings for defining things for Cycles rendering
- Adding some file format checking
- Adding some code for defining a few session settings via xmlrpc
- Making the UI more responsive
Modified Paths:
--------------
trunk/py/scripts/addons/render_renderfarmfi.py
Modified: trunk/py/scripts/addons/render_renderfarmfi.py
===================================================================
--- trunk/py/scripts/addons/render_renderfarmfi.py 2012-03-05 23:15:13 UTC (rev 3065)
+++ trunk/py/scripts/addons/render_renderfarmfi.py 2012-03-06 12:11:05 UTC (rev 3066)
@@ -21,8 +21,8 @@
bl_info = {
"name": "Renderfarm.fi",
"author": "Nathan Letwory <nathan at letworyinteractive.com>, Jesse Kaukonen <jesse.kaukonen at gmail.com>",
- "version": (15,),
- "blender": (2, 6, 1),
+ "version": (16,),
+ "blender": (2, 6, 2),
"location": "Render > Engine > Renderfarm.fi",
"description": "Send .blend as session to http://www.renderfarm.fi to render",
"warning": "",
@@ -85,6 +85,7 @@
bpy.particleBakeWarning = False
bpy.childParticleWarning = False
bpy.simulationWarning = False
+bpy.file_format_warning = False
bpy.ready = False
if False and DEV:
@@ -123,6 +124,9 @@
longdesc = StringProperty(name='Description', description='Description of the scene (2k)', maxlen=2048, default='')
title = StringProperty(name='Title', description='Title for this session (128 characters)', maxlen=128, default='')
url = StringProperty(name='Project URL', description='Project URL. Leave empty if not applicable', maxlen=256, default='')
+ engine = StringProperty(name='Engine', description='The rendering engine that is used for rendering', maxlen=64, default='blender')
+ samples = IntProperty(name='Samples', description='Number of samples that is used (Cycles only)', min=1, max=1000000, soft_min=1, soft_max=100000, default=100)
+ file_format = StringProperty(name='File format', description='File format used for the rendering', maxlen=20, default='PNG_FORMAT')
parts = IntProperty(name='Parts/Frame', description='', min=1, max=1000, soft_min=1, soft_max=64, default=1)
resox = IntProperty(name='Resolution X', description='X of render', min=1, max=10000, soft_min=1, soft_max=10000, default=1920)
@@ -130,7 +134,7 @@
memusage = IntProperty(name='Memory Usage', description='Estimated maximum memory usage during rendering in MB', min=1, max=6*1024, soft_min=1, soft_max=3*1024, default=256)
start = IntProperty(name='Start Frame', description='Start Frame', default=1)
end = IntProperty(name='End Frame', description='End Frame', default=250)
- fps = IntProperty(name='FPS', description='FPS', min=1, max=256, default=25)
+ fps = IntProperty(name='FPS', description='FPS', min=1, max=120, default=25)
prepared = BoolProperty(name='Prepared', description='Set to True if preparation has been run', default=False)
loginInserted = BoolProperty(name='LoginInserted', description='Set to True if user has logged in', default=False)
@@ -139,8 +143,8 @@
selected_session = IntProperty(name='Selected Session', description='The selected session', default=0)
hasUnsupportedSimulation = BoolProperty(name='HasSimulation', description='Set to True if therea re unsupported simulations', default=False)
- inlicense = EnumProperty(items=licenses, name='source license', description='license speficied for the source files', default='1')
- outlicense = EnumProperty(items=licenses, name='output license', description='license speficied for the output files', default='1')
+ inlicense = EnumProperty(items=licenses, name='Scene license', description='License speficied for the source files', default='1')
+ outlicense = EnumProperty(items=licenses, name='Product license', description='License speficied for the output files', default='1')
sessions = CollectionProperty(type=ORESession, name='Sessions', description='Sessions on Renderfarm.fi')
completed_sessions = CollectionProperty(type=ORESession, name='Completed sessions', description='Sessions that have been already rendered')
rejected_sessions = CollectionProperty(type=ORESession, name='Rejected sessions', description='Sessions that have been rejected')
@@ -244,6 +248,31 @@
ore.end = sce.frame_end
ore.fps = rd.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'):
+ ore.samples = bpy.context.scene.cycles.samples
+
# Multipart support doesn' work if SSS is used
if ((rd.use_sss == True and hasSSSMaterial()) and ore.parts > 1):
ore.parts = 1;
@@ -266,8 +295,13 @@
changeSettings()
+ ore.resox = rd.resolution_x
+ ore.resoy = rd.resolution_y
+ ore.fps = rd.fps
+ ore.start = sce.frame_start
+ ore.end = sce.frame_end
+
print("Packing external textures...")
- # Pack all external textures
try:
bpy.ops.file.pack_all()
bpy.texturePackError = False
@@ -315,20 +349,34 @@
def execute(self, context):
changeSettings()
+ if (bpy.context.scene.render.engine == 'CYCLES'):
+ bpy.context.scene.ore_render.engine = 'cycles'
+ else:
+ bpy.context.scene.ore_render.engine = 'blender'
bpy.context.scene.render.engine = 'RENDERFARMFI_RENDER'
return {'FINISHED'}
class OpSwitchBlenderRender(bpy.types.Operator):
- bl_label = "Switch to Blender Render"
- bl_idname = "ore.switch_to_blender_render"
+ bl_label = "Switch to local render"
+ bl_idname = "ore.switch_to_local_render"
def execute(self, context):
- bpy.context.scene.render.engine = 'BLENDER_RENDER'
- return {'FINISHED'}
+ rd = bpy.context.scene.render
+ ore = bpy.context.scene.ore_render
+ rd.resolution_x = ore.resox
+ rd.resolution_y = ore.resoy
+ rd.fps = ore.fps
+ bpy.context.scene.frame_start = ore.start
+ bpy.context.scene.frame_end = ore.end
+ if (bpy.context.scene.ore_render.engine == 'cycles'):
+ bpy.context.scene.render.engine = 'CYCLES'
+ else:
+ bpy.context.scene.render.engine = 'BLENDER_RENDER'
+ return {'FINISHED'}
# Copies start & end frame + others from render settings to ore settings
class OpCopySettings(bpy.types.Operator):
- bl_label = "Copy from Blender Render settings"
+ bl_label = "Copy settings from current scene"
bl_idname = "ore.copy_settings"
def execute(self, context):
@@ -342,31 +390,6 @@
ore.fps = rd.fps
return {'FINISHED'}
-# We re-write the default render panel (not enabled, breaks Cycles)
-'''class RENDER_PT_render(RenderButtonsPanel, bpy.types.Panel):
- bl_label = "Render"
- COMPAT_ENGINES = {'BLENDER_RENDER'}
-
- def draw(self, context):
- layout = self.layout
- rd = context.scene.render
- row = layout.row()
- row.operator("ore.switch_to_renderfarm_render", text="Renderfarm.fi", icon='WORLD')
- row.operator("ore.switch_to_blender_render", text="Blender Render", icon='BLENDER')
- row = layout.row()
- if (bpy.context.scene.render.engine == 'BLENDER_RENDER'):
- row.operator("render.render", text="Image", icon='RENDER_STILL')
- row.operator("render.render", text="Animation", icon='RENDER_ANIMATION').animation = True
- layout.prop(rd, "display_mode", text="Display")
- else:
- if bpy.found_newer_version == True:
- layout.operator('ore.open_download_location')
- else:
- if bpy.up_to_date == True:
- layout.label(text='You have the latest version')
- layout.operator('ore.check_update')
-'''
-
class EngineSelectPanel(bpy.types.Panel):
bl_idname = "OBJECT_PT_engineSelectPanel"
bl_label = "Choose rendering mode"
@@ -379,7 +402,7 @@
rd = context.scene.render
row = layout.row()
row.operator("ore.switch_to_renderfarm_render", text="Renderfarm.fi", icon='WORLD')
- row.operator("ore.switch_to_blender_render", text="Blender Render", icon='BLENDER')
+ row.operator("ore.switch_to_local_render", text="Local computer", icon='BLENDER')
row = layout.row()
if (bpy.context.scene.render.engine == 'RENDERFARMFI_RENDER'):
if bpy.found_newer_version == True:
@@ -489,6 +512,50 @@
layout.label(text="Example: blue skies hero castle flowers grass particles")
layout.prop(ore, 'url')
layout.label(text="Example: www.sintel.org")
+
+ layout.label(text="Please verify your settings", icon='MODIFIER')
+ row = layout.row()
+ #row.operator('ore.copy_settings')
+ #row = layout.row()
+
+ layout.label(text="Rendering engine")
+ row = layout.row()
+ if (ore.engine == 'blender'):
+ row.operator('ore.use_blender_render', icon='FILE_TICK')
+ row.operator('ore.use_cycles_render')
+ elif (ore.engine == 'cycles' ):
+ row.operator('ore.use_blender_render')
+ row.operator('ore.use_cycles_render', icon='FILE_TICK')
+ else:
+ row.operator('ore.use_blender_render', icon='FILE_TICK')
+ row.operator('ore.use_cycles_render')
+
+ row = layout.row()
+
+ layout.separator()
+ row = layout.row()
+ row.prop(ore, 'resox')
+ row.prop(ore, 'resoy')
+ row = layout.row()
+ row.prop(ore, 'start')
+ row.prop(ore, 'end')
+ row = layout.row()
+ row.prop(ore, 'fps')
+ row = layout.row()
+ if (ore.engine == 'cycles'):
+ row.prop(ore, 'samples')
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-extensions-cvs
mailing list