Blender V4.5
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 (const float value) const
 
void make_constant (const float3 value) const
 
void make_constant (const int value) const
 
void make_constant_clamp (const float value, bool clamp) const
 
void make_constant_clamp (const 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_mix_color (NodeMix type, bool clamp_factor, bool clamp) const
 
void fold_mix_float (bool clamp_factor, 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()

◆ bypass()

◆ bypass_or_discard()

void ConstantFolder::bypass_or_discard ( ShaderInput * input) const

◆ discard()

◆ fold_mapping()

◆ fold_math()

◆ fold_mix()

◆ fold_mix_color()

◆ fold_mix_float()

void ConstantFolder::fold_mix_float ( bool clamp_factor,
bool clamp ) const

◆ fold_vector_math()

◆ is_one()

◆ is_zero()

◆ make_constant() [1/3]

◆ make_constant() [2/3]

void ConstantFolder::make_constant ( const float3 value) const

◆ make_constant() [3/3]

void ConstantFolder::make_constant ( const int value) const

◆ make_constant_clamp() [1/2]

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

◆ make_constant_clamp() [2/2]

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

Definition at line 75 of file constant_fold.cpp.

References clamp(), make_constant(), saturatef, and value.

◆ make_one()

void ConstantFolder::make_one ( ) const

◆ make_zero()

◆ try_bypass_or_make_constant()

Member Data Documentation

◆ graph

◆ node

◆ output

◆ scene

Scene* ConstantFolder::scene

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