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

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2013-04-11 16:49:57 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2013-04-11 16:49:57 +0400
commit6569ab813f853bc076377220f76868325ffefeb0 (patch)
treeec0e1f2db2cb5ebeb3e20946c403186c66a39e60 /source/blender/editors/render
parentfa3770eb669ab5a1794cc1b9f874c3f0428b487c (diff)
Fix for material icon rendering with cycles
Materials icons used to miss transparent background and were using world environment which didn't give so nice results. Reviewed by Brecht, thanks!
Diffstat (limited to 'source/blender/editors/render')
-rw-r--r--source/blender/editors/render/render_preview.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/source/blender/editors/render/render_preview.c b/source/blender/editors/render/render_preview.c
index 08349e2e0bb..a42f15a9037 100644
--- a/source/blender/editors/render/render_preview.c
+++ b/source/blender/editors/render/render_preview.c
@@ -382,6 +382,10 @@ static Scene *preview_prepare_scene(Scene *scene, ID *id, int id_type, ShaderPre
}
else {
sce->lay = 1 << MA_SPHERE_A;
+
+ /* same as above, use current scene world to light sphere */
+ if (BKE_scene_use_new_shading_nodes(scene))
+ sce->world = scene->world;
}
}
else {
@@ -1026,6 +1030,7 @@ static void icon_preview_startjob_all_sizes(void *customdata, short *stop, short
{
IconPreview *ip = (IconPreview *)customdata;
IconPreviewSize *cur_size = ip->sizes.first;
+ int use_new_shading = BKE_scene_use_new_shading_nodes(ip->scene);
while (cur_size) {
ShaderPreview *sp = MEM_callocN(sizeof(ShaderPreview), "Icon ShaderPreview");
@@ -1038,7 +1043,11 @@ static void icon_preview_startjob_all_sizes(void *customdata, short *stop, short
sp->pr_method = PR_ICON_RENDER;
sp->pr_rect = cur_size->rect;
sp->id = ip->id;
- sp->pr_main = G_pr_main;
+
+ if (use_new_shading)
+ sp->pr_main = G_pr_main_cycles;
+ else
+ sp->pr_main = G_pr_main;
common_preview_startjob(sp, stop, do_update, progress);
shader_preview_free(sp);