Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2017-08-01 19:03:16 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2017-08-01 20:13:41 +0300
commitc42c12939342bdccb98000c195503a78423ddc2c (patch)
treea60e272cbe1f4805e34e39f8f5118ec0fb743c77 /release/scripts/startup
parent110d6832a88a3ebca0b0d4c3d996e545c2f5e1f1 (diff)
Render: make Cycles and Evee support each other's output material nodes.
This changes the Cycles exporting and Cycles/Eevee UI code to support both output material nodes, giving priority to the renderer native one. Still missing is Eevee code to prefer the Eevee output node.
Diffstat (limited to 'release/scripts/startup')
-rw-r--r--release/scripts/startup/bl_ui/properties_material.py13
-rw-r--r--release/scripts/startup/bl_ui/properties_world.py13
2 files changed, 15 insertions, 11 deletions
diff --git a/release/scripts/startup/bl_ui/properties_material.py b/release/scripts/startup/bl_ui/properties_material.py
index e7e92000723..0e130b20566 100644
--- a/release/scripts/startup/bl_ui/properties_material.py
+++ b/release/scripts/startup/bl_ui/properties_material.py
@@ -1120,10 +1120,12 @@ def panel_node_draw(layout, ntree, output_type):
if node:
input = find_node_input(node, 'Surface')
- layout.template_node_view(ntree, node, input)
- return True
-
- return False
+ if input:
+ layout.template_node_view(ntree, node, input)
+ else:
+ layout.label(text="Incompatible output node")
+ else:
+ layout.label(text="No output node")
class EEVEE_MATERIAL_PT_surface(MaterialButtonsPanel, Panel):
@@ -1145,8 +1147,7 @@ class EEVEE_MATERIAL_PT_surface(MaterialButtonsPanel, Panel):
layout.separator()
if mat.use_nodes:
- if not panel_node_draw(layout, mat.node_tree, 'OUTPUT_EEVEE_MATERIAL'):
- layout.label(text="No output node")
+ panel_node_draw(layout, mat.node_tree, ['OUTPUT_EEVEE_MATERIAL', 'OUTPUT_MATERIAL'])
else:
raym = mat.raytrace_mirror
layout.prop(mat, "diffuse_color", text="Base Color")
diff --git a/release/scripts/startup/bl_ui/properties_world.py b/release/scripts/startup/bl_ui/properties_world.py
index fc5835d23d0..ed5cfaa22d2 100644
--- a/release/scripts/startup/bl_ui/properties_world.py
+++ b/release/scripts/startup/bl_ui/properties_world.py
@@ -270,13 +270,16 @@ class EEVEE_WORLD_PT_surface(WorldButtonsPanel, Panel):
if world.use_nodes:
ntree = world.node_tree
- node = find_output_node(ntree, 'OUTPUT_WORLD')
+ node = find_output_node(ntree, ['OUTPUT_WORLD'])
- if not node:
- layout.label(text="No output node")
- else:
+ if node:
input = find_node_input(node, 'Surface')
- layout.template_node_view(ntree, node, input)
+ if input:
+ layout.template_node_view(ntree, node, input)
+ else:
+ layout.label(text="Incompatible output node")
+ else:
+ layout.label(text="No output node")
else:
layout.prop(world, "horizon_color", text="Color")