Page MenuHome

Custom RenderEngine shading editor behaviour
Open, Needs Triage by DeveloperPublic

Description

System Information
Operating system: Arch Linux
Graphics card: GTX Titan

Blender Version
Broken: 2.80.75 (f6cb5f54494e)

Short description of error

Behaviour with respect to keeping Cycles/Evee shader nodes around seems to be inconsistent with the documentation.

Exact steps for others to reproduce the error

On https://docs.blender.org/api/current/bpy.types.RenderEngine.html the property bl_use_shading_nodes_custom is described as

Don't expose Cycles and Eevee shading nodes in the node editor user interface, so own nodes can be used instead

Using the attached RenderEngine test class, which is based on the code in the above doc page:

  1. Start blender -P blender_render_engine.test.py
  2. Switch to Custom renderer

I see the following depending on bl_use_shading_nodes_custom:

  • When bl_use_shading_nodes_custom is False (i.e. keep Cycles/Eevee nodes around) the Shader editor's add node menu (Shift+A) under Shader only has a Principled Volume entry, other Cycles nodes are gone. But when creating a new material in the editor the initial graph is Principled BSDF -> Material Output, i.e. using the principled BSDF node that cannot be created from the menu.
  • When bl_use_shading_nodes_custom is True the Shader editor is no longer available. Is this new behaviour, where a custom RE needs to provide its own editor page, instead of adding to the existing shader editor?

There's also a corner case when having the Shader editor visible (for example when Cycles is active) and then switching to a render engine that has bl_use_shading_nodes_custom=True: the icon for the editor will become blank, but the Shader editor remains visible. In the console I warnings in this case:

WARN (bpy.rna): ../source/blender/python/intern/bpy_rna.c:1451 pyrna_enum_to_py: current value '3' matches no enum in 'SpaceNodeEditor', '(null)', 'tree_type'

Details

Type
Bug

Event Timeline