From 59861db763ebb8d031bd768504fbd485da7ea75f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Wed, 5 Aug 2020 22:29:21 +0200 Subject: Fix T77517 EEVEE: Collection Holdout doesn't work in 2.90 The default material was missing its init code. --- source/blender/blenkernel/intern/material.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'source/blender/blenkernel/intern/material.c') diff --git a/source/blender/blenkernel/intern/material.c b/source/blender/blenkernel/intern/material.c index 34835fd1e35..b0b542f6000 100644 --- a/source/blender/blenkernel/intern/material.c +++ b/source/blender/blenkernel/intern/material.c @@ -1719,6 +1719,29 @@ static void material_default_volume_init(Material *ma) nodeSetActive(ntree, output); } +static void material_default_holdout_init(Material *ma) +{ + bNodeTree *ntree = ntreeAddTree(NULL, "Shader Nodetree", ntreeType_Shader->idname); + ma->nodetree = ntree; + ma->use_nodes = true; + + bNode *holdout = nodeAddStaticNode(NULL, ntree, SH_NODE_HOLDOUT); + bNode *output = nodeAddStaticNode(NULL, ntree, SH_NODE_OUTPUT_MATERIAL); + + nodeAddLink(ntree, + holdout, + nodeFindSocket(holdout, SOCK_OUT, "Holdout"), + output, + nodeFindSocket(output, SOCK_IN, "Surface")); + + holdout->locx = 10.0f; + holdout->locy = 300.0f; + output->locx = 300.0f; + output->locy = 300.0f; + + nodeSetActive(ntree, output); +} + Material *BKE_material_default_empty(void) { return &default_material_empty; @@ -1764,6 +1787,7 @@ void BKE_materials_init(void) material_default_surface_init(&default_material_surface); material_default_volume_init(&default_material_volume); + material_default_holdout_init(&default_material_holdout); material_default_gpencil_init(&default_material_gpencil); } -- cgit v1.2.3