UI: Increase Size of Blend File Thumbnails
Increase effective resolution of blend preview images from 128x128 to 256x256 for versions saved in the file system thumbnail cache. See D10491 for details and examples. Differential Revision: https://developer.blender.org/D10491 Reviewed by Campbell Barton
This commit is contained in:
parent
4ddad5a7ee
commit
bf0ac711fd
|
@ -52,6 +52,7 @@ typedef enum ThumbSource {
|
|||
#define THUMB_SIZE_MAX (100 * 1024 * 1024)
|
||||
|
||||
#define PREVIEW_RENDER_DEFAULT_HEIGHT 128
|
||||
#define PREVIEW_RENDER_LARGE_HEIGHT 256
|
||||
|
||||
/* Note this can also be used as versioning system,
|
||||
* to force refreshing all thumbnails if e.g. we change some thumb generating code or so.
|
||||
|
|
|
@ -347,7 +347,7 @@ static ImBuf *thumb_create_ex(const char *file_path,
|
|||
tsize = PREVIEW_RENDER_DEFAULT_HEIGHT;
|
||||
break;
|
||||
case THB_LARGE:
|
||||
tsize = PREVIEW_RENDER_DEFAULT_HEIGHT * 2;
|
||||
tsize = PREVIEW_RENDER_LARGE_HEIGHT;
|
||||
break;
|
||||
case THB_FAIL:
|
||||
tsize = 1;
|
||||
|
|
|
@ -1573,8 +1573,8 @@ static ImBuf *blend_file_thumb(const bContext *C,
|
|||
NULL,
|
||||
OB_SOLID,
|
||||
scene->camera,
|
||||
BLEN_THUMB_SIZE * 2,
|
||||
BLEN_THUMB_SIZE * 2,
|
||||
PREVIEW_RENDER_LARGE_HEIGHT * 2,
|
||||
PREVIEW_RENDER_LARGE_HEIGHT * 2,
|
||||
IB_rect,
|
||||
V3D_OFSDRAW_NONE,
|
||||
R_ALPHAPREMUL,
|
||||
|
@ -1588,8 +1588,8 @@ static ImBuf *blend_file_thumb(const bContext *C,
|
|||
OB_SOLID,
|
||||
v3d,
|
||||
region,
|
||||
BLEN_THUMB_SIZE * 2,
|
||||
BLEN_THUMB_SIZE * 2,
|
||||
PREVIEW_RENDER_LARGE_HEIGHT * 2,
|
||||
PREVIEW_RENDER_LARGE_HEIGHT * 2,
|
||||
IB_rect,
|
||||
R_ALPHAPREMUL,
|
||||
NULL,
|
||||
|
@ -1610,8 +1610,14 @@ static ImBuf *blend_file_thumb(const bContext *C,
|
|||
|
||||
if (ibuf) {
|
||||
/* dirty oversampling */
|
||||
IMB_scaleImBuf(ibuf, BLEN_THUMB_SIZE, BLEN_THUMB_SIZE);
|
||||
thumb = BKE_main_thumbnail_from_imbuf(NULL, ibuf);
|
||||
ImBuf *thumb_ibuf;
|
||||
thumb_ibuf = IMB_dupImBuf(ibuf);
|
||||
/* BLEN_THUMB_SIZE is size of thumbnail inside blend file: 128x128. */
|
||||
IMB_scaleImBuf(thumb_ibuf, BLEN_THUMB_SIZE, BLEN_THUMB_SIZE);
|
||||
thumb = BKE_main_thumbnail_from_imbuf(NULL, thumb_ibuf);
|
||||
IMB_freeImBuf(thumb_ibuf);
|
||||
/* Thumbnail saved to filesystem should be 256x256. */
|
||||
IMB_scaleImBuf(ibuf, PREVIEW_RENDER_LARGE_HEIGHT, PREVIEW_RENDER_LARGE_HEIGHT);
|
||||
}
|
||||
else {
|
||||
/* '*thumb_pt' needs to stay NULL to prevent a bad thumbnail from being handled */
|
||||
|
|
Loading…
Reference in New Issue