Blender V5.0
ShaderInput Class Reference

#include <shader_graph.h>

Public Member Functions

 ShaderInput (const SocketType &socket_type_, ShaderNode *parent_)
ustring name () const
int flags () const
SocketType::Type type () const
void set (const float f)
void set (const float3 f)
void set (const int f)
void disconnect ()

Public Attributes

const SocketTypesocket_type
ShaderNodeparent
ShaderOutputlink = nullptr
int stack_offset = SVM_STACK_INVALID
bool constant_folded_in = false

Detailed Description

Definition at line 68 of file shader_graph.h.

Constructor & Destructor Documentation

◆ ShaderInput()

ShaderInput::ShaderInput ( const SocketType & socket_type_,
ShaderNode * parent_ )
inline

Definition at line 70 of file shader_graph.h.

References parent, and socket_type.

Member Function Documentation

◆ disconnect()

void ShaderInput::disconnect ( )

Definition at line 48 of file shader_graph.cpp.

References link.

Referenced by ShaderGraph::disconnect(), and ShaderNode::disconnect_unused_input().

◆ flags()

int ShaderInput::flags ( ) const
inline

Definition at line 80 of file shader_graph.h.

References socket_type.

◆ name()

ustring ShaderInput::name ( ) const
inline

Definition at line 76 of file shader_graph.h.

References socket_type.

Referenced by ShaderGraph::connect(), and ShaderGraph::dump_graph().

◆ set() [1/3]

◆ set() [2/3]

void ShaderInput::set ( const float3 f)
inline

Definition at line 93 of file shader_graph.h.

References parent, and socket_type.

◆ set() [3/3]

void ShaderInput::set ( const int f)
inline

Definition at line 97 of file shader_graph.h.

References parent, and socket_type.

◆ type()

SocketType::Type ShaderInput::type ( ) const
inline

Definition at line 84 of file shader_graph.h.

References socket_type.

Referenced by TextureMapping::compile_end(), and ShaderGraph::connect().

Member Data Documentation

◆ constant_folded_in

bool ShaderInput::constant_folded_in = false

◆ link

ShaderOutput* ShaderInput::link = nullptr

Definition at line 106 of file shader_graph.h.

Referenced by GlossyBsdfNode::attributes(), MetallicBsdfNode::attributes(), PrincipledBsdfNode::attributes(), PrincipledVolumeNode::attributes(), ShaderGraph::bump_from_displacement(), ShaderGraph::clean(), BsdfNode::compile(), VolumeNode::compile(), SVMCompiler::compile_type(), ShaderGraph::compute_displacement_hash(), ShaderGraph::connect(), AddClosureNode::constant_fold(), BackgroundNode::constant_fold(), BumpNode::constant_fold(), ConvertNode::constant_fold(), CurvesNode::constant_fold(), EmissionNode::constant_fold(), FloatCurveNode::constant_fold(), InvertNode::constant_fold(), MixClosureNode::constant_fold(), ShaderGraph::constant_fold(), ImageTextureNode::cull_tiles(), LightManager::device_update_background(), ShaderGraph::disconnect(), disconnect(), ShaderNode::disconnect_unused_input(), ShaderNode::equals(), Shader::estimate_emission(), ShaderGraph::finalize(), ConstantFolder::fold_mix(), ConstantFolder::fold_mix_color(), ConstantFolder::fold_mix_float(), SVMCompiler::generate_closure_node(), SVMCompiler::generate_multi_closure(), ShaderManager::get_kernel_features(), SubsurfaceScatteringNode::has_bssrdf_bump(), BsdfBaseNode::has_bump(), PrincipledBsdfNode::has_nonzero_weight(), PrincipledBsdfNode::has_surface_bssrdf(), PrincipledBsdfNode::has_surface_emission(), PrincipledBsdfNode::has_surface_transparent(), GlossyBsdfNode::is_isotropic(), MetallicBsdfNode::is_isotropic(), MapRangeNode::is_linear_operation(), VectorMapRangeNode::is_linear_operation(), ShaderGraph::optimize_volume_output(), output_estimate_emission(), ShaderGraph::refine_bump_nodes(), ShaderGraph::relink(), ShaderGraph::relink(), ShaderGraph::transform_multi_closure(), and ConstantFolder::try_bypass_or_make_constant().

◆ parent

ShaderNode* ShaderInput::parent

Definition at line 105 of file shader_graph.h.

Referenced by ShaderGraph::connect(), ShaderGraph::relink(), set(), set(), set(), and ShaderInput().

◆ socket_type

◆ stack_offset

int ShaderInput::stack_offset = SVM_STACK_INVALID

Definition at line 107 of file shader_graph.h.

Referenced by SVMCompiler::generate_multi_closure().


The documentation for this class was generated from the following files: