diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-05-12 15:39:30 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-05-13 16:56:11 +0300 |
commit | 8f71a84496a95528303fbe0bb7c1406060353425 (patch) | |
tree | ebebb3cb4dd35b83a7f4aba960f616fffdc36800 /source/blender/nodes | |
parent | 21854575a4ede7d0c16fbe31ac90e66493f607fe (diff) |
Cycles/Eevee: add Emission and Alpha inputs to Principled BSDF
This makes it easier to set up materials with emission and transparency.
Importers/exporters and add-ons are recommended to now use these rather than
creating separate transparent BSDF and emission nodes.
Diffstat (limited to 'source/blender/nodes')
-rw-r--r-- | source/blender/nodes/shader/nodes/node_shader_bsdf_principled.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_principled.c b/source/blender/nodes/shader/nodes/node_shader_bsdf_principled.c index 72852d28744..6c3e082f36a 100644 --- a/source/blender/nodes/shader/nodes/node_shader_bsdf_principled.c +++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_principled.c @@ -39,6 +39,8 @@ static bNodeSocketTemplate sh_node_bsdf_principled_in[] = { {SOCK_FLOAT, 1, N_("IOR"), 1.45f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, {SOCK_FLOAT, 1, N_("Transmission"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR}, {SOCK_FLOAT, 1, N_("Transmission Roughness"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR}, + {SOCK_RGBA, 1, N_("Emission"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f}, + {SOCK_FLOAT, 1, N_("Alpha"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR}, {SOCK_VECTOR, 1, N_("Normal"), @@ -99,25 +101,25 @@ static int node_shader_gpu_bsdf_principled(GPUMaterial *mat, GPUNodeLink *sss_scale; /* Normals */ - if (!in[17].link) { - GPU_link(mat, "world_normals_get", &in[17].link); + if (!in[19].link) { + GPU_link(mat, "world_normals_get", &in[19].link); } /* Clearcoat Normals */ - if (!in[18].link) { - GPU_link(mat, "world_normals_get", &in[18].link); + if (!in[20].link) { + GPU_link(mat, "world_normals_get", &in[20].link); } /* Tangents */ - if (!in[19].link) { + if (!in[21].link) { GPUNodeLink *orco = GPU_attribute(CD_ORCO, ""); - GPU_link(mat, "tangent_orco_z", orco, &in[19].link); + GPU_link(mat, "tangent_orco_z", orco, &in[21].link); GPU_link(mat, "node_tangent", GPU_builtin(GPU_WORLD_NORMAL), - in[19].link, + in[21].link, GPU_builtin(GPU_OBJECT_MATRIX), - &in[19].link); + &in[21].link); } /* SSS Profile */ |