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:
authorClément Foucault <foucault.clem@gmail.com>2017-05-02 20:55:02 +0300
committerClément Foucault <foucault.clem@gmail.com>2017-05-03 13:08:56 +0300
commit5570ba9c4f2cee25a1d366c754682996040d58a9 (patch)
tree3b803953d58b95f89c1d01c5ef4ab08caa62a786
parenta7404958148f1030483c7d6238ebf48abc26cf24 (diff)
NodeTree: Add eevee default shader tree.
-rw-r--r--source/blender/blenkernel/BKE_scene.h1
-rw-r--r--source/blender/blenkernel/intern/scene.c6
-rw-r--r--source/blender/editors/space_node/node_edit.c8
3 files changed, 15 insertions, 0 deletions
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;