diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2017-05-02 20:55:02 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2017-05-03 13:08:56 +0300 |
commit | 5570ba9c4f2cee25a1d366c754682996040d58a9 (patch) | |
tree | 3b803953d58b95f89c1d01c5ef4ab08caa62a786 | |
parent | a7404958148f1030483c7d6238ebf48abc26cf24 (diff) |
NodeTree: Add eevee default shader tree.
-rw-r--r-- | source/blender/blenkernel/BKE_scene.h | 1 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/scene.c | 6 | ||||
-rw-r--r-- | source/blender/editors/space_node/node_edit.c | 8 |
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; |