[Bf-blender-cvs] [59861db763e] blender-v2.90-release: Fix T77517 EEVEE: Collection Holdout doesn't work in 2.90

Clément Foucault noreply at git.blender.org
Wed Aug 5 22:29:27 CEST 2020


Commit: 59861db763ebb8d031bd768504fbd485da7ea75f
Author: Clément Foucault
Date:   Wed Aug 5 22:29:21 2020 +0200
Branches: blender-v2.90-release
https://developer.blender.org/rB59861db763ebb8d031bd768504fbd485da7ea75f

Fix T77517 EEVEE: Collection Holdout doesn't work in 2.90

The default material was missing its init code.

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

M	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);
 }



More information about the Bf-blender-cvs mailing list