[Bf-blender-cvs] [0e5789c] asset-experiments: Some cleanup and addressing TODOs in ID preview generation module.
Bastien Montagne
noreply at git.blender.org
Tue May 5 17:20:43 CEST 2015
Commit: 0e5789c43ccb79c10f55e9a9f7f9a6dfb494f3e7
Author: Bastien Montagne
Date: Tue May 5 17:18:49 2015 +0200
Branches: asset-experiments
https://developer.blender.org/rB0e5789c43ccb79c10f55e9a9f7f9a6dfb494f3e7
Some cleanup and addressing TODOs in ID preview generation module.
===================================================================
M release/scripts/modules/bl_previews_utils/bl_previews_render.py
===================================================================
diff --git a/release/scripts/modules/bl_previews_utils/bl_previews_render.py b/release/scripts/modules/bl_previews_utils/bl_previews_render.py
index bfb23de..3da7355 100644
--- a/release/scripts/modules/bl_previews_utils/bl_previews_render.py
+++ b/release/scripts/modules/bl_previews_utils/bl_previews_render.py
@@ -19,19 +19,12 @@
# <pep8 compliant>
# Populate a template file (POT format currently) from Blender RNA/py/C data.
-# XXX: This script is meant to be used from inside Blender!
-# You should not directly use this script, rather use update_msg.py!
+# Note: This script is meant to be used from inside Blender!
import collections
-import copy
-import datetime
import os
-import re
import sys
-# XXX Relative import does not work here when used from Blender...
-#~ from bl_previews_utils import utils
-
import bpy
from mathutils import Vector, Euler
@@ -76,6 +69,8 @@ def do_previews(do_objects, do_groups, do_scenes, do_data_intern):
"backup_scene", "backup_world", "backup_camera", "backup_lamp", "backup_camera_data", "backup_lamp_data",
))
+ RENDER_PREVIEW_SIZE = bpy.app.render_preview_size
+
def render_context_create(engine, objects_ignored):
if engine == '__SCENE':
backup_scene, backup_world, backup_camera, backup_lamp, backup_camera_data, backup_lamp_data = [()] * 6
@@ -139,14 +134,14 @@ def do_previews(do_objects, do_groups, do_scenes, do_data_intern):
scene.render.image_settings.color_depth = '8'
scene.render.image_settings.color_mode = 'RGBA'
scene.render.image_settings.compression = 25
- scene.render.resolution_x = 128
- scene.render.resolution_y = 128
+ scene.render.resolution_x = RENDER_PREVIEW_SIZE
+ scene.render.resolution_y = RENDER_PREVIEW_SIZE
scene.render.resolution_percentage = 100
- scene.render.filepath = '/tmp/TEMP_preview_render.png' # XXX To be done properly!!!!
+ scene.render.filepath = os.path.join(bpy.app.tempdir, 'TEMP_preview_render.png')
scene.render.use_overwrite = True
scene.render.use_stamp = False
- image = bpy.data.images.new("TEMP_render_image", 128, 128, alpha=True)
+ image = bpy.data.images.new("TEMP_render_image", RENDER_PREVIEW_SIZE, RENDER_PREVIEW_SIZE, alpha=True)
image.source = 'FILE'
image.filepath = scene.render.filepath
@@ -274,9 +269,10 @@ def do_previews(do_objects, do_groups, do_scenes, do_data_intern):
image = bpy.data.images[render_context.image]
item = getattr(bpy.data, item_container)[item_name]
image.reload()
+ # Note: we could use struct module here, but not quite sure it'd give any advantage really...
pix = tuple((round(r * 255)) + (round(g * 255) << 8) + (round(b * 255) << 16) + (round(a * 255) << 24)
for r, g, b, a in zip(*[iter(image.pixels)] * 4))
- item.preview.image_size = (128, 128)
+ item.preview.image_size = (RENDER_PREVIEW_SIZE, RENDER_PREVIEW_SIZE)
item.preview.image_pixels = pix
# And now, main code!
More information about the Bf-blender-cvs
mailing list