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:
authorClément Foucault <foucault.clem@gmail.com>2017-07-06 14:32:07 +0300
committerClément Foucault <foucault.clem@gmail.com>2017-07-06 14:32:19 +0300
commitc217d518efe5f5eeb709229e2832d9d2dfde7c30 (patch)
tree4687aa60b23c153b27d04c946cd3d49e4668d533 /release/scripts/startup/nodeitems_builtins.py
parente5462421c006929f4e88b27d38b3391d05163262 (diff)
Eevee: Unlock compatible bsdfs in node add menu.
Diffstat (limited to 'release/scripts/startup/nodeitems_builtins.py')
-rw-r--r--release/scripts/startup/nodeitems_builtins.py39
1 files changed, 30 insertions, 9 deletions
diff --git a/release/scripts/startup/nodeitems_builtins.py b/release/scripts/startup/nodeitems_builtins.py
index f13222140b1..6f226e8cf87 100644
--- a/release/scripts/startup/nodeitems_builtins.py
+++ b/release/scripts/startup/nodeitems_builtins.py
@@ -145,6 +145,15 @@ def cycles_shader_nodes_poll(context):
return context.scene.render.engine == 'CYCLES'
+def eevee_shader_nodes_poll(context):
+ return context.scene.render.engine == 'BLENDER_EEVEE'
+
+
+def eevee_cycles_shader_nodes_poll(context):
+ return (cycles_shader_nodes_poll(context) or
+ eevee_shader_nodes_poll(context))
+
+
def object_cycles_shader_nodes_poll(context):
return (object_shader_nodes_poll(context) and
cycles_shader_nodes_poll(context))
@@ -152,7 +161,19 @@ def object_cycles_shader_nodes_poll(context):
def object_eevee_shader_nodes_poll(context):
return (object_shader_nodes_poll(context) and
- context.scene.render.engine == 'BLENDER_EEVEE')
+ eevee_shader_nodes_poll(context))
+
+
+def object_eevee_cycles_shader_nodes_poll(context):
+ return (object_shader_nodes_poll(context) and
+ eevee_cycles_shader_nodes_poll(context))
+
+
+# Until volume shader on objects are supported in eevee.
+def volume_shader_nodes_poll(context):
+ return (cycles_shader_nodes_poll(context) or
+ (eevee_shader_nodes_poll(context) and
+ world_shader_nodes_poll(context)))
# All standard node categories currently used in nodes.
@@ -238,11 +259,11 @@ shader_node_categories = [
NodeItem("NodeGroupOutput", poll=group_input_output_item_poll),
]),
ShaderNewNodeCategory("SH_NEW_SHADER", "Shader", items=[
- NodeItem("ShaderNodeMixShader", poll=cycles_shader_nodes_poll),
- NodeItem("ShaderNodeAddShader", poll=cycles_shader_nodes_poll),
- NodeItem("ShaderNodeBsdfDiffuse", poll=object_cycles_shader_nodes_poll),
- NodeItem("ShaderNodeBsdfPrincipled", poll=object_cycles_shader_nodes_poll),
- NodeItem("ShaderNodeBsdfGlossy", poll=object_cycles_shader_nodes_poll),
+ 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_cycles_shader_nodes_poll),
NodeItem("ShaderNodeBsdfRefraction", poll=object_cycles_shader_nodes_poll),
NodeItem("ShaderNodeBsdfGlass", poll=object_cycles_shader_nodes_poll),
@@ -251,13 +272,13 @@ shader_node_categories = [
NodeItem("ShaderNodeBsdfVelvet", poll=object_cycles_shader_nodes_poll),
NodeItem("ShaderNodeBsdfToon", poll=object_cycles_shader_nodes_poll),
NodeItem("ShaderNodeSubsurfaceScattering", poll=object_cycles_shader_nodes_poll),
- NodeItem("ShaderNodeEmission", poll=object_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("ShaderNodeAmbientOcclusion", poll=object_cycles_shader_nodes_poll),
NodeItem("ShaderNodeHoldout", poll=object_cycles_shader_nodes_poll),
- NodeItem("ShaderNodeVolumeAbsorption", poll=cycles_shader_nodes_poll),
- NodeItem("ShaderNodeVolumeScatter", poll=cycles_shader_nodes_poll),
+ NodeItem("ShaderNodeVolumeAbsorption", poll=volume_shader_nodes_poll),
+ NodeItem("ShaderNodeVolumeScatter", poll=volume_shader_nodes_poll),
NodeItem("ShaderNodeEeveeMetallic", poll=object_eevee_shader_nodes_poll),
NodeItem("ShaderNodeEeveeSpecular", poll=object_eevee_shader_nodes_poll),
]),