Cycles: support for custom shader AOVs
Custom render passes are added in the Shader AOVs panel in the view layer settings, with a name and data type. In shader nodes, an AOV Output node is then used to output either a value or color to the pass. Arbitrary names can be used for these passes, as long as they don't conflict with built-in passes that are enabled. The AOV Output node can be used in both material and world shader nodes. Implemented by Lukas, with tweaks by Brecht. Differential Revision: https://developer.blender.org/D4837
This commit is contained in:
@@ -157,6 +157,11 @@ def object_cycles_shader_nodes_poll(context):
|
||||
cycles_shader_nodes_poll(context))
|
||||
|
||||
|
||||
def cycles_aov_node_poll(context):
|
||||
return (object_cycles_shader_nodes_poll(context) or
|
||||
world_shader_nodes_poll(context))
|
||||
|
||||
|
||||
def object_eevee_shader_nodes_poll(context):
|
||||
return (object_shader_nodes_poll(context) and
|
||||
eevee_shader_nodes_poll(context))
|
||||
@@ -197,6 +202,7 @@ shader_node_categories = [
|
||||
ShaderNodeCategory("SH_NEW_OUTPUT", "Output", items=[
|
||||
NodeItem("ShaderNodeOutputMaterial", poll=object_eevee_cycles_shader_nodes_poll),
|
||||
NodeItem("ShaderNodeOutputLight", poll=object_cycles_shader_nodes_poll),
|
||||
NodeItem("ShaderNodeOutputAOV", poll=cycles_aov_node_poll),
|
||||
NodeItem("ShaderNodeOutputWorld", poll=world_shader_nodes_poll),
|
||||
NodeItem("ShaderNodeOutputLineStyle", poll=line_style_shader_nodes_poll),
|
||||
NodeItem("NodeGroupOutput", poll=group_input_output_item_poll),
|
||||
|
||||
Reference in New Issue
Block a user