diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2017-07-06 14:32:07 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2017-07-06 14:32:19 +0300 |
commit | c217d518efe5f5eeb709229e2832d9d2dfde7c30 (patch) | |
tree | 4687aa60b23c153b27d04c946cd3d49e4668d533 /release/scripts/startup/nodeitems_builtins.py | |
parent | e5462421c006929f4e88b27d38b3391d05163262 (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.py | 39 |
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), ]), |