Fix: Operator, app template and benchmarking script errors after media type
Always set the media type before the file format. Ref #142955 Pull Request: https://projects.blender.org/blender/blender/pulls/143433
This commit is contained in:
committed by
Brecht Van Lommel
parent
fa2062ee96
commit
eb8dc8f535
@@ -2222,15 +2222,19 @@ class NWSaveViewer(bpy.types.Operator, ExportHelper):
|
|||||||
'.tiff': 'TIFF',
|
'.tiff': 'TIFF',
|
||||||
'.tif': 'TIFF'}
|
'.tif': 'TIFF'}
|
||||||
basename, ext = path.splitext(fp)
|
basename, ext = path.splitext(fp)
|
||||||
old_render_format = context.scene.render.image_settings.file_format
|
image_settings = context.scene.render.image_settings
|
||||||
|
old_media_type = image_settings.media_type
|
||||||
|
old_file_format = image_settings.file_format
|
||||||
old_tree_type = context.space_data.tree_type
|
old_tree_type = context.space_data.tree_type
|
||||||
context.scene.render.image_settings.file_format = formats[self.filename_ext]
|
image_settings.media_type = 'IMAGE'
|
||||||
|
image_settings.file_format = formats[self.filename_ext]
|
||||||
context.area.type = "IMAGE_EDITOR"
|
context.area.type = "IMAGE_EDITOR"
|
||||||
context.area.spaces[0].image = bpy.data.images['Viewer Node']
|
context.area.spaces[0].image = bpy.data.images['Viewer Node']
|
||||||
context.area.spaces[0].image.save_render(fp)
|
context.area.spaces[0].image.save_render(fp)
|
||||||
context.area.type = "NODE_EDITOR"
|
context.area.type = "NODE_EDITOR"
|
||||||
context.space_data.tree_type = old_tree_type
|
context.space_data.tree_type = old_tree_type
|
||||||
context.scene.render.image_settings.file_format = old_render_format
|
image_settings.media_type = old_media_type
|
||||||
|
image_settings.file_format = old_file_format
|
||||||
return {'FINISHED'}
|
return {'FINISHED'}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -112,6 +112,7 @@ def do_previews(do_objects, do_collections, do_scenes, do_data_intern):
|
|||||||
scene.render.film_transparent = True
|
scene.render.film_transparent = True
|
||||||
# TODO: define Cycles world?
|
# TODO: define Cycles world?
|
||||||
|
|
||||||
|
scene.render.image_settings.media_type = 'IMAGE'
|
||||||
scene.render.image_settings.file_format = 'PNG'
|
scene.render.image_settings.file_format = 'PNG'
|
||||||
scene.render.image_settings.color_depth = '8'
|
scene.render.image_settings.color_depth = '8'
|
||||||
scene.render.image_settings.color_mode = 'RGBA'
|
scene.render.image_settings.color_mode = 'RGBA'
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ def update_factory_startup_ffmpeg_preset():
|
|||||||
|
|
||||||
for scene in bpy.data.scenes:
|
for scene in bpy.data.scenes:
|
||||||
render = scene.render
|
render = scene.render
|
||||||
|
render.image_settings.media_type = 'VIDEO'
|
||||||
render.image_settings.file_format = 'FFMPEG'
|
render.image_settings.file_format = 'FFMPEG'
|
||||||
|
|
||||||
if preset_filepath:
|
if preset_filepath:
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ def render(shading_system):
|
|||||||
set_shading_system(scene, shading_system)
|
set_shading_system(scene, shading_system)
|
||||||
scene.render.filepath = "%s/test_renders/%s_%s" % (test_dir, filename, shading_system)
|
scene.render.filepath = "%s/test_renders/%s_%s" % (test_dir, filename, shading_system)
|
||||||
|
|
||||||
|
scene.render.image_settings.media_type = 'IMAGE'
|
||||||
scene.render.image_settings.file_format = 'PNG'
|
scene.render.image_settings.file_format = 'PNG'
|
||||||
scene.render.use_file_extension = True
|
scene.render.use_file_extension = True
|
||||||
|
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ def _run(args):
|
|||||||
scene = bpy.context.scene
|
scene = bpy.context.scene
|
||||||
scene.render.engine = 'CYCLES'
|
scene.render.engine = 'CYCLES'
|
||||||
scene.render.filepath = args['render_filepath']
|
scene.render.filepath = args['render_filepath']
|
||||||
|
scene.render.image_settings.media_type = 'IMAGE'
|
||||||
scene.render.image_settings.file_format = 'PNG'
|
scene.render.image_settings.file_format = 'PNG'
|
||||||
scene.cycles.device = 'CPU' if device_type == 'CPU' else 'GPU'
|
scene.cycles.device = 'CPU' if device_type == 'CPU' else 'GPU'
|
||||||
|
|
||||||
|
|||||||
@@ -73,6 +73,7 @@ class ImBufTest(AbstractImBufTest):
|
|||||||
def _save_exr(self, img, out_exr_path):
|
def _save_exr(self, img, out_exr_path):
|
||||||
scene = bpy.data.scenes[0]
|
scene = bpy.data.scenes[0]
|
||||||
image_settings = scene.render.image_settings
|
image_settings = scene.render.image_settings
|
||||||
|
image_settings.media_type = 'IMAGE'
|
||||||
image_settings.file_format = "OPEN_EXR"
|
image_settings.file_format = "OPEN_EXR"
|
||||||
image_settings.color_mode = "RGBA"
|
image_settings.color_mode = "RGBA"
|
||||||
image_settings.color_depth = "32"
|
image_settings.color_depth = "32"
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ def render_gl(context, filepath, shade):
|
|||||||
scene = context.scene
|
scene = context.scene
|
||||||
render = scene.render
|
render = scene.render
|
||||||
render.filepath = filepath
|
render.filepath = filepath
|
||||||
|
render.image_settings.media_type = 'IMAGE'
|
||||||
render.image_settings.file_format = 'PNG'
|
render.image_settings.file_format = 'PNG'
|
||||||
render.image_settings.color_mode = 'RGB'
|
render.image_settings.color_mode = 'RGB'
|
||||||
render.use_file_extension = True
|
render.use_file_extension = True
|
||||||
|
|||||||
@@ -953,6 +953,7 @@ def render_output(scene, bounds, filepath):
|
|||||||
scene.collection.objects.link(camera)
|
scene.collection.objects.link(camera)
|
||||||
|
|
||||||
render = scene.render
|
render = scene.render
|
||||||
|
render.image_settings.media_type = 'IMAGE'
|
||||||
render.image_settings.file_format = 'JPEG'
|
render.image_settings.file_format = 'JPEG'
|
||||||
render.image_settings.color_depth = '8'
|
render.image_settings.color_depth = '8'
|
||||||
render.image_settings.color_mode = 'RGB'
|
render.image_settings.color_mode = 'RGB'
|
||||||
|
|||||||
Reference in New Issue
Block a user