[Bf-blender-cvs] [5570ba9c4f2] blender2.8: NodeTree: Add eevee default shader tree.

Clément Foucault noreply at git.blender.org
Wed May 3 12:09:05 CEST 2017


Commit: 5570ba9c4f2cee25a1d366c754682996040d58a9
Author: Clément Foucault
Date:   Tue May 2 19:55:02 2017 +0200
Branches: blender2.8
https://developer.blender.org/rB5570ba9c4f2cee25a1d366c754682996040d58a9

NodeTree: Add eevee default shader tree.

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

M	source/blender/blenkernel/BKE_scene.h
M	source/blender/blenkernel/intern/scene.c
M	source/blender/editors/space_node/node_edit.c

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

diff --git a/source/blender/blenkernel/BKE_scene.h b/source/blender/blenkernel/BKE_scene.h
index ba2b7160408..454fba0126e 100644
--- a/source/blender/blenkernel/BKE_scene.h
+++ b/source/blender/blenkernel/BKE_scene.h
@@ -153,6 +153,7 @@ bool BKE_scene_use_spherical_stereo(struct Scene *scene);
 
 bool BKE_scene_uses_blender_internal(const struct Scene *scene);
 bool BKE_scene_uses_blender_game(const struct Scene *scene);
+bool BKE_scene_uses_blender_eevee(const struct Scene *scene);
 
 void BKE_scene_disable_color_management(struct Scene *scene);
 bool BKE_scene_check_color_management_enabled(const struct Scene *scene);
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c
index b963dbf89fa..b2ed9668c31 100644
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@ -111,6 +111,7 @@
 const char *RE_engine_id_BLENDER_RENDER = "BLENDER_RENDER";
 const char *RE_engine_id_BLENDER_GAME = "BLENDER_GAME";
 const char *RE_engine_id_BLENDER_CLAY = "BLENDER_CLAY";
+const char *RE_engine_id_BLENDER_EEVEE = "BLENDER_EEVEE";
 const char *RE_engine_id_CYCLES = "CYCLES";
 
 void free_avicodecdata(AviCodecData *acd)
@@ -1791,6 +1792,11 @@ bool BKE_scene_uses_blender_game(const Scene *scene)
 	return STREQ(scene->r.engine, RE_engine_id_BLENDER_GAME);
 }
 
+bool BKE_scene_uses_blender_eevee(const Scene *scene)
+{
+	return STREQ(scene->r.engine, RE_engine_id_BLENDER_EEVEE);
+}
+
 void BKE_scene_base_flag_to_objects(SceneLayer *sl)
 {
 	Base *base = sl->object_bases.first;
diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c
index fdfe316f5ed..fc3180680f8 100644
--- a/source/blender/editors/space_node/node_edit.c
+++ b/source/blender/editors/space_node/node_edit.c
@@ -397,6 +397,14 @@ void ED_node_shader_default(const bContext *C, ID *id)
 			Material *ma = (Material *)id;
 			ma->nodetree = ntree;
 
+			if (BKE_scene_uses_blender_eevee(scene)) {
+				out = nodeAddStaticNode(C, ntree, SH_NODE_OUTPUT_METALLIC);
+				out->locx = 300.0f; out->locy = 300.0f;
+				nodeSetActive(ntree, out);
+				ntreeUpdateTree(CTX_data_main(C), ntree);
+				return;
+			}
+
 			if (BKE_scene_use_new_shading_nodes(scene)) {
 				output_type = SH_NODE_OUTPUT_MATERIAL;
 				shader_type = SH_NODE_BSDF_DIFFUSE;




More information about the Bf-blender-cvs mailing list