From b248ec97769fa654a3ee8bb2a643046b79e7c030 Mon Sep 17 00:00:00 2001 From: Alex Strand Date: Wed, 9 Sep 2020 11:36:57 +0200 Subject: Shaders: add emission strength input to Principled BSDF node This impacts I/O add-ons. OBJ, FBX and Collada have been updated, glTF not yet. Differential Revision: https://developer.blender.org/D4971 --- .../modules/bpy_extras/node_shader_utils.py | 27 +++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'release/scripts/modules') diff --git a/release/scripts/modules/bpy_extras/node_shader_utils.py b/release/scripts/modules/bpy_extras/node_shader_utils.py index 81c7fa31379..bcb8adff910 100644 --- a/release/scripts/modules/bpy_extras/node_shader_utils.py +++ b/release/scripts/modules/bpy_extras/node_shader_utils.py @@ -505,7 +505,7 @@ class PrincipledBSDFWrapper(ShaderWrapper): @_set_check def emission_color_set(self, color): if self.use_nodes and self.node_principled_bsdf is not None: - color = values_clamp(color, 0.0, 1.0) + color = values_clamp(color, 0.0, 1000000.0) color = rgb_to_rgba(color) self.node_principled_bsdf.inputs["Emission"].default_value = color @@ -523,6 +523,31 @@ class PrincipledBSDFWrapper(ShaderWrapper): emission_color_texture = property(emission_color_texture_get) + def emission_strength_get(self): + if not self.use_nodes or self.node_principled_bsdf is None: + return 1.0 + return self.node_principled_bsdf.inputs["Emission Strength"].default_value + + @_set_check + def emission_strength_set(self, value): + value = values_clamp(value, 0.0, 1000000.0) + if self.use_nodes and self.node_principled_bsdf is not None: + self.node_principled_bsdf.inputs["Emission Strength"].default_value = value + + emission_strength = property(emission_strength_get, emission_strength_set) + + + def emission_strength_texture_get(self): + if not self.use_nodes or self.node_principled_bsdf is None: + return None + return ShaderImageTextureWrapper( + self, self.node_principled_bsdf, + self.node_principled_bsdf.inputs["Emission Strength"], + grid_row_diff=-1, + colorspace_name='Non-Color', + ) + + emission_strength_texture = property(emission_strength_texture_get) # -------------------------------------------------------------------- # Normal map. -- cgit v1.2.3