[Bf-blender-cvs] [477f355] master: Code cleanup: reorder BKE_scene_use_new_shading_nodes checks last

Campbell Barton noreply at git.blender.org
Fri Jun 13 16:47:51 CEST 2014


Commit: 477f35559cf20ea6cc81fa3d3a0ec1b886dbf5e4
Author: Campbell Barton
Date:   Thu May 29 02:32:25 2014 +1000
https://developer.blender.org/rB477f35559cf20ea6cc81fa3d3a0ec1b886dbf5e4

Code cleanup: reorder BKE_scene_use_new_shading_nodes checks last

===================================================================

M	source/blender/editors/render/render_preview.c
M	source/blender/editors/space_view3d/drawmesh.c
M	source/blender/nodes/shader/node_shader_tree.c

===================================================================

diff --git a/source/blender/editors/render/render_preview.c b/source/blender/editors/render/render_preview.c
index 4677768..e3b4051 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 03f2fa8..56b6b6a 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 53f97e0..4288b8f 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) {




More information about the Bf-blender-cvs mailing list