Blender  V3.3
Public Member Functions | Public Attributes | List of all members
ConstantFolder Class Reference

#include <constant_fold.h>

Public Member Functions

 ConstantFolder (ShaderGraph *graph, ShaderNode *node, ShaderOutput *output, Scene *scene)
 
bool all_inputs_constant () const
 
void make_constant (float value) const
 
void make_constant (float3 value) const
 
void make_constant_clamp (float value, bool clamp) const
 
void make_constant_clamp (float3 value, bool clamp) const
 
void make_zero () const
 
void make_one () const
 
void bypass (ShaderOutput *output) const
 
void discard () const
 
void bypass_or_discard (ShaderInput *input) const
 
bool try_bypass_or_make_constant (ShaderInput *input, bool clamp=false) const
 
bool is_zero (ShaderInput *input) const
 
bool is_one (ShaderInput *input) const
 
void fold_mix (NodeMix type, bool clamp) const
 
void fold_math (NodeMathType type) const
 
void fold_vector_math (NodeVectorMathType type) const
 
void fold_mapping (NodeMappingType type) const
 

Public Attributes

ShaderGraph *const graph
 
ShaderNode *const node
 
ShaderOutput *const output
 
Scenescene
 

Detailed Description

Definition at line 18 of file constant_fold.h.

Constructor & Destructor Documentation

◆ ConstantFolder()

CCL_NAMESPACE_BEGIN ConstantFolder::ConstantFolder ( ShaderGraph graph,
ShaderNode node,
ShaderOutput output,
Scene scene 
)

Definition at line 12 of file constant_fold.cpp.

Member Function Documentation

◆ all_inputs_constant()

bool ConstantFolder::all_inputs_constant ( ) const

◆ bypass()

void ConstantFolder::bypass ( ShaderOutput output) const

◆ bypass_or_discard()

void ConstantFolder::bypass_or_discard ( ShaderInput input) const

◆ discard()

void ConstantFolder::discard ( ) const

◆ fold_mapping()

void ConstantFolder::fold_mapping ( NodeMappingType  type) const

◆ fold_math()

void ConstantFolder::fold_math ( NodeMathType  type) const

◆ fold_mix()

void ConstantFolder::fold_mix ( NodeMix  type,
bool  clamp 
) const

◆ fold_vector_math()

void ConstantFolder::fold_vector_math ( NodeVectorMathType  type) const

◆ is_one()

bool ConstantFolder::is_one ( ShaderInput input) const

◆ is_zero()

bool ConstantFolder::is_zero ( ShaderInput input) const

◆ make_constant() [1/2]

void ConstantFolder::make_constant ( float  value) const

◆ make_constant() [2/2]

void ConstantFolder::make_constant ( float3  value) const

◆ make_constant_clamp() [1/2]

void ConstantFolder::make_constant_clamp ( float  value,
bool  clamp 
) const

◆ make_constant_clamp() [2/2]

void ConstantFolder::make_constant_clamp ( float3  value,
bool  clamp 
) const

◆ make_one()

void ConstantFolder::make_one ( ) const

◆ make_zero()

void ConstantFolder::make_zero ( ) const

◆ try_bypass_or_make_constant()

bool ConstantFolder::try_bypass_or_make_constant ( ShaderInput input,
bool  clamp = false 
) const

Member Data Documentation

◆ graph

ShaderGraph* const ConstantFolder::graph

◆ node

ShaderNode* const ConstantFolder::node

◆ output

ShaderOutput* const ConstantFolder::output

◆ scene

Scene* ConstantFolder::scene

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