[Bf-blender-cvs] [3d67819a170] blender2.8: Merge branch 'master' into blender2.8

Brecht Van Lommel noreply at git.blender.org
Wed Jul 18 14:13:59 CEST 2018


Commit: 3d67819a1709e35b2fb42a9d554b30136a72eec9
Author: Brecht Van Lommel
Date:   Wed Jul 18 14:13:02 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB3d67819a1709e35b2fb42a9d554b30136a72eec9

Merge branch 'master' into blender2.8

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



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

diff --cc release/scripts/startup/nodeitems_builtins.py
index e6500b7c2c0,4f4190da30b..a70d78c16c6
--- a/release/scripts/startup/nodeitems_builtins.py
+++ b/release/scripts/startup/nodeitems_builtins.py
@@@ -194,30 -225,30 +194,31 @@@ shader_node_categories = 
          NodeItem("ShaderNodeOutputLineStyle", poll=line_style_shader_nodes_poll),
          NodeItem("NodeGroupOutput", poll=group_input_output_item_poll),
      ]),
 -    ShaderNewNodeCategory("SH_NEW_SHADER", "Shader", items=[
 -        NodeItem("ShaderNodeMixShader"),
 -        NodeItem("ShaderNodeAddShader"),
 -        NodeItem("ShaderNodeBsdfDiffuse", poll=object_shader_nodes_poll),
 -        NodeItem("ShaderNodeBsdfPrincipled", poll=object_shader_nodes_poll),
 -        NodeItem("ShaderNodeBsdfGlossy", poll=object_shader_nodes_poll),
 -        NodeItem("ShaderNodeBsdfTransparent", poll=object_shader_nodes_poll),
 -        NodeItem("ShaderNodeBsdfRefraction", poll=object_shader_nodes_poll),
 -        NodeItem("ShaderNodeBsdfGlass", poll=object_shader_nodes_poll),
 -        NodeItem("ShaderNodeBsdfTranslucent", poll=object_shader_nodes_poll),
 -        NodeItem("ShaderNodeBsdfAnisotropic", poll=object_shader_nodes_poll),
 -        NodeItem("ShaderNodeBsdfVelvet", poll=object_shader_nodes_poll),
 -        NodeItem("ShaderNodeBsdfToon", poll=object_shader_nodes_poll),
 -        NodeItem("ShaderNodeSubsurfaceScattering", poll=object_shader_nodes_poll),
 -        NodeItem("ShaderNodeEmission", poll=object_shader_nodes_poll),
 -        NodeItem("ShaderNodeBsdfHair", poll=object_shader_nodes_poll),
 +    ShaderNodeCategory("SH_NEW_SHADER", "Shader", items=[
 +        NodeItem("ShaderNodeMixShader", poll=eevee_cycles_shader_nodes_poll),
 +        NodeItem("ShaderNodeAddShader", poll=eevee_cycles_shader_nodes_poll),
 +        NodeItem("ShaderNodeBsdfDiffuse", poll=object_eevee_cycles_shader_nodes_poll),
 +        NodeItem("ShaderNodeBsdfPrincipled", poll=object_eevee_cycles_shader_nodes_poll),
 +        NodeItem("ShaderNodeBsdfGlossy", poll=object_eevee_cycles_shader_nodes_poll),
 +        NodeItem("ShaderNodeBsdfTransparent", poll=object_eevee_cycles_shader_nodes_poll),
 +        NodeItem("ShaderNodeBsdfRefraction", poll=object_eevee_cycles_shader_nodes_poll),
 +        NodeItem("ShaderNodeBsdfGlass", poll=object_eevee_cycles_shader_nodes_poll),
 +        NodeItem("ShaderNodeBsdfTranslucent", poll=object_cycles_shader_nodes_poll),
 +        NodeItem("ShaderNodeBsdfAnisotropic", poll=object_cycles_shader_nodes_poll),
 +        NodeItem("ShaderNodeBsdfVelvet", poll=object_cycles_shader_nodes_poll),
 +        NodeItem("ShaderNodeBsdfToon", poll=object_cycles_shader_nodes_poll),
 +        NodeItem("ShaderNodeSubsurfaceScattering", poll=object_eevee_cycles_shader_nodes_poll),
 +        NodeItem("ShaderNodeEmission", poll=object_eevee_cycles_shader_nodes_poll),
 +        NodeItem("ShaderNodeBsdfHair", poll=object_cycles_shader_nodes_poll),
          NodeItem("ShaderNodeBackground", poll=world_shader_nodes_poll),
 -        NodeItem("ShaderNodeHoldout", poll=object_shader_nodes_poll),
 -        NodeItem("ShaderNodeVolumeAbsorption"),
 -        NodeItem("ShaderNodeVolumeScatter"),
 +        NodeItem("ShaderNodeHoldout", poll=object_cycles_shader_nodes_poll),
 +        NodeItem("ShaderNodeVolumeAbsorption", poll=eevee_cycles_shader_nodes_poll),
 +        NodeItem("ShaderNodeVolumeScatter", poll=eevee_cycles_shader_nodes_poll),
          NodeItem("ShaderNodeVolumePrincipled"),
 +        NodeItem("ShaderNodeEeveeSpecular", poll=object_eevee_shader_nodes_poll),
+         NodeItem("ShaderNodeBsdfHairPrincipled", poll=object_shader_nodes_poll)
      ]),
 -    ShaderNewNodeCategory("SH_NEW_TEXTURE", "Texture", items=[
 +    ShaderNodeCategory("SH_NEW_TEXTURE", "Texture", items=[
          NodeItem("ShaderNodeTexImage"),
          NodeItem("ShaderNodeTexEnvironment"),
          NodeItem("ShaderNodeTexSky"),
diff --cc source/blender/blenlib/CMakeLists.txt
index 61f53f938e2,e3f5773b1e4..9621a759f3c
--- a/source/blender/blenlib/CMakeLists.txt
+++ b/source/blender/blenlib/CMakeLists.txt
@@@ -158,8 -160,8 +159,9 @@@ set(SR
  	BLI_hash.h
  	BLI_hash_md5.h
  	BLI_hash_mm2a.h
+ 	BLI_hash_mm3.h
  	BLI_heap.h
 +	BLI_iterator.h
  	BLI_jitter_2d.h
  	BLI_kdopbvh.h
  	BLI_kdtree.h
diff --cc source/blender/editors/space_node/node_intern.h
index 1a0f738ab8a,9b396aa9642..ed7379acca9
--- a/source/blender/editors/space_node/node_intern.h
+++ b/source/blender/editors/space_node/node_intern.h
@@@ -223,12 -222,8 +223,14 @@@ void NODE_OT_shader_script_update(struc
  void NODE_OT_viewer_border(struct wmOperatorType *ot);
  void NODE_OT_clear_viewer_border(struct wmOperatorType *ot);
  
 +/* node_widgets.c */
 +void NODE_GGT_backdrop_transform(struct wmGizmoGroupType *gzgt);
 +void NODE_GGT_backdrop_crop(struct wmGizmoGroupType *gzgt);
 +void NODE_GGT_backdrop_sun_beams(struct wmGizmoGroupType *gzgt);
 +void NODE_GGT_backdrop_corner_pin(struct wmGizmoGroupType *gzgt);
 +
+ void NODE_OT_cryptomatte_layer_add(struct wmOperatorType *ot);
+ void NODE_OT_cryptomatte_layer_remove(struct wmOperatorType *ot);
  
  extern const char *node_context_dir[];
  
diff --cc source/blender/nodes/shader/nodes/node_shader_bsdf_hair_principled.c
index 00000000000,c5029852033..5fff2548ba1
mode 000000,100644..100644
--- a/source/blender/nodes/shader/nodes/node_shader_bsdf_hair_principled.c
+++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_hair_principled.c
@@@ -1,0 -1,133 +1,132 @@@
+ /*
+  * ***** BEGIN GPL LICENSE BLOCK *****
+  *
+  * This program is free software; you can redistribute it and/or
+  * modify it under the terms of the GNU General Public License
+  * as published by the Free Software Foundation; either version 2
+  * of the License, or (at your option) any later version.
+  *
+  * This program is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  * GNU General Public License for more details.
+  *
+  * You should have received a copy of the GNU General Public License
+  * along with this program; if not, write to the Free Software Foundation,
+  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+  *
+  * The Original Code is Copyright (C) 2018 Blender Foundation.
+  * All rights reserved.
+  *
+  * The Original Code is: all of this file.
+  *
+  * Contributor(s): Lukas Stockner, L. E. Segovia
+  *
+  * ***** END GPL LICENSE BLOCK *****
+  */
+ 
+ #include "../node_shader_util.h"
+ 
+ /* **************** OUTPUT ******************** */
+ 
+ /* Color, melanin and absorption coefficient default to approximately same brownish hair. */
+ static bNodeSocketTemplate sh_node_bsdf_hair_principled_in[] = {
+ 	{	SOCK_RGBA,		1, N_("Color"),						0.017513f, 0.005763f, 0.002059f, 1.0f, 0.0f, 1.0f},
+ 	{	SOCK_FLOAT,		1, N_("Melanin"),					0.8f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ 	{	SOCK_FLOAT,		1, N_("Melanin Redness"),			1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ 	{	SOCK_RGBA,		1, N_("Tint"),						1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f},
+ 	{	SOCK_VECTOR,	1, N_("Absorption Coefficient"),	0.245531f, 0.52f, 1.365f, 0.0f, 0.0f, 1000.0f},
+ 	{	SOCK_FLOAT,		1, N_("Roughness"),					0.3f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ 	{	SOCK_FLOAT,		1, N_("Radial Roughness"),			0.3f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ 	{	SOCK_FLOAT,		1, N_("Coat"),						0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ 	{	SOCK_FLOAT,		1, N_("IOR"),						1.55f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f},
+ 	{	SOCK_FLOAT,		1, N_("Offset"),					2.f*((float)M_PI)/180.f, 0.0f, 0.0f, 0.0f, -M_PI_2, M_PI_2, PROP_ANGLE},
+ 	{	SOCK_FLOAT, 	1, N_("Random Color"),				0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ 	{	SOCK_FLOAT, 	1, N_("Random Roughness"),			0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ 	{	SOCK_FLOAT,		1, N_("Random"),					0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},
+ 	{	-1, 0, ""	},
+ };
+ 
+ static bNodeSocketTemplate sh_node_bsdf_hair_principled_out[] = {
+ 	{	SOCK_SHADER, 0, N_("BSDF")},
+ 	{	-1, 0, ""	}
+ };
+ 
+ /* Initialize the custom Parametrization property to Color. */
+ static void node_shader_init_hair_principled(bNodeTree *UNUSED(ntree), bNode *node)
+ {
+ 	node->custom1 = SHD_PRINCIPLED_HAIR_REFLECTANCE;
+ }
+ 
+ /* Triggers (in)visibility of some sockets when changing Parametrization. */
+ static void node_shader_update_hair_principled(bNodeTree *UNUSED(ntree), bNode *node)
+ {
+ 	bNodeSocket *sock;
+ 	int parametrization = node->custom1;
+ 
+ 	for (sock = node->inputs.first; sock; sock = sock->next) {
+ 		if (STREQ(sock->name, "Color")) {
+ 			if (parametrization == SHD_PRINCIPLED_HAIR_REFLECTANCE) {
+ 				sock->flag &= ~SOCK_UNAVAIL;
+ 			}
+ 			else {
+ 				sock->flag |= SOCK_UNAVAIL;
+ 			}
+ 		}
+ 		else if (STREQ(sock->name, "Melanin")) {
+ 			if (parametrization == SHD_PRINCIPLED_HAIR_PIGMENT_CONCENTRATION) {
+ 				sock->flag &= ~SOCK_UNAVAIL;
+ 			}
+ 			else {
+ 				sock->flag |= SOCK_UNAVAIL;
+ 			}
+ 		}
+ 		else if (STREQ(sock->name, "Melanin Redness")) {
+ 			if (parametrization == SHD_PRINCIPLED_HAIR_PIGMENT_CONCENTRATION) {
+ 				sock->flag &= ~SOCK_UNAVAIL;
+ 			}
+ 			else {
+ 				sock->flag |= SOCK_UNAVAIL;
+ 			}
+ 		}
+ 		else if (STREQ(sock->name, "Tint")) {
+ 			if (parametrization == SHD_PRINCIPLED_HAIR_PIGMENT_CONCENTRATION) {
+ 				sock->flag &= ~SOCK_UNAVAIL;
+ 			}
+ 			else {
+ 				sock->flag |= SOCK_UNAVAIL;
+ 			}
+ 		}
+ 		else if (STREQ(sock->name, "Absorption Coefficient")) {
+ 			if (parametrization == SHD_PRINCIPLED_HAIR_DIRECT_ABSORPTION) {
+ 				sock->flag &= ~SOCK_UNAVAIL;
+ 			}
+ 			else {
+ 				sock->flag |= SOCK_UNAVAIL;
+ 			}
+ 		}
+ 		else if (STREQ(sock->name, "Random Color")) {
+ 			if (parametrization == SHD_PRINCIPLED_HAIR_PIGMENT_CONCENTRATION) {
+ 				sock->flag &= ~SOCK_UNAVAIL;
+ 			}
+ 			else {
+ 				sock->flag |= SOCK_UNAVAIL;
+ 			}
+ 		}
+ 	}
+ }
+ 
+ /* node type definition */
+ void register_node_type_sh_bsdf_hair_principled(void)
+ {
+ 	static bNodeType ntype;
+ 
+ 	sh_node_type_base(&ntype, SH_NODE_BSDF_HAIR_PRINCIPLED, "Principled Hair BSDF", NODE_CLASS_SHADER, 0);
 -	node_type_compat

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list