diff options
author | Campbell Barton <ideasman42@gmail.com> | 2014-05-28 20:32:25 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2014-06-13 18:47:11 +0400 |
commit | 477f35559cf20ea6cc81fa3d3a0ec1b886dbf5e4 (patch) | |
tree | 5d7b88fc9cac1bc5d2a11bd8146117ff50da863d /source | |
parent | b72eca435ebdbd10359b7c0fc67cb9eddc1b2dcf (diff) |
Code cleanup: reorder BKE_scene_use_new_shading_nodes checks last
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/render/render_preview.c | 13 | ||||
-rw-r--r-- | source/blender/editors/space_view3d/drawmesh.c | 5 | ||||
-rw-r--r-- | source/blender/nodes/shader/node_shader_tree.c | 4 |
3 files changed, 16 insertions, 6 deletions
diff --git a/source/blender/editors/render/render_preview.c b/source/blender/editors/render/render_preview.c index 46777685442..e3b4051b8e0 100644 --- a/source/blender/editors/render/render_preview.c +++ b/source/blender/editors/render/render_preview.c @@ -299,10 +299,10 @@ static Scene *preview_prepare_scene(Scene *scene, ID *id, int id_type, ShaderPre sce->r.cfra = scene->r.cfra; - if (id_type == ID_TE && ELEM(sp->pr_method, PR_ICON_RENDER, PR_NODE_RENDER)) { - /* Force blender internal for texture icons and nodes render, + if (id_type == ID_TE && sp->pr_method == PR_ICON_RENDER) { + /* force blender internal for texture icons render, * seems commonly used render engines does not support - * such kind of rendering. + * such kind of rendering */ BLI_strncpy(sce->r.engine, "BLENDER_RENDER", sizeof(sce->r.engine)); } @@ -1137,6 +1137,11 @@ void ED_preview_shader_job(const bContext *C, void *owner, ID *id, ID *parent, M wmJob *wm_job; ShaderPreview *sp; Scene *scene = CTX_data_scene(C); + const bool use_new_shading = BKE_scene_use_new_shading_nodes(scene); + + /* node previews not supported for cycles */ + if ((method == PR_NODE_RENDER) && use_new_shading) + return; wm_job = WM_jobs_get(CTX_wm_manager(C), CTX_wm_window(C), owner, "Shader Preview", WM_JOB_EXCL_RENDER, WM_JOB_TYPE_RENDER_PREVIEW); @@ -1154,7 +1159,7 @@ void ED_preview_shader_job(const bContext *C, void *owner, ID *id, ID *parent, M /* hardcoded preview .blend for cycles/internal, this should be solved * once with custom preview .blend path for external engines */ - if (BKE_scene_use_new_shading_nodes(scene) && method != PR_NODE_RENDER) + if (use_new_shading) sp->pr_main = G_pr_main_cycles; else sp->pr_main = G_pr_main; diff --git a/source/blender/editors/space_view3d/drawmesh.c b/source/blender/editors/space_view3d/drawmesh.c index 03f2fa86ecb..56b6b6a89a7 100644 --- a/source/blender/editors/space_view3d/drawmesh.c +++ b/source/blender/editors/space_view3d/drawmesh.c @@ -947,7 +947,10 @@ void draw_mesh_textured(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object *ob, DerivedMesh *dm, const int draw_flags) { /* if not cycles, or preview-modifiers, or drawing matcaps */ - if ((!BKE_scene_use_new_shading_nodes(scene)) || (draw_flags & DRAW_MODIFIERS_PREVIEW) || (v3d->flag2 & V3D_SHOW_SOLID_MATCAP)) { + if ((draw_flags & DRAW_MODIFIERS_PREVIEW) || + (v3d->flag2 & V3D_SHOW_SOLID_MATCAP) || + (BKE_scene_use_new_shading_nodes(scene) == false)) + { draw_mesh_textured_old(scene, v3d, rv3d, ob, dm, draw_flags); return; } diff --git a/source/blender/nodes/shader/node_shader_tree.c b/source/blender/nodes/shader/node_shader_tree.c index 53f97e0d36c..4288b8fbcdc 100644 --- a/source/blender/nodes/shader/node_shader_tree.c +++ b/source/blender/nodes/shader/node_shader_tree.c @@ -79,7 +79,9 @@ static void shader_get_from_context(const bContext *C, bNodeTreeType *UNUSED(tre Scene *scene = CTX_data_scene(C); Object *ob = OBACT; - if (!BKE_scene_use_new_shading_nodes(scene) || snode->shaderfrom == SNODE_SHADER_OBJECT) { + if ((snode->shaderfrom == SNODE_SHADER_OBJECT) || + (BKE_scene_use_new_shading_nodes(scene) == false)) + { if (ob) { *r_from = &ob->id; if (ob->type == OB_LAMP) { |