Blender V5.0
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.

References graph, node, output, and scene.

Member Function Documentation

◆ all_inputs_constant()

◆ bypass()

◆ 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()

◆ fold_mix()

◆ fold_mix_color()

◆ fold_mix_float()

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

◆ fold_vector_math()

◆ is_one()

bool ConstantFolder::is_one ( ShaderInput * input) const

◆ is_zero()

bool ConstantFolder::is_zero ( ShaderInput * input) const

◆ 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, float3::x, float3::y, and float3::z.

◆ make_one()

void ConstantFolder::make_one ( ) const

◆ make_zero()

◆ try_bypass_or_make_constant()

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

Member Data Documentation

◆ graph

◆ node

◆ output

◆ scene


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