Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/render/constant_fold.h
| Show All 12 Lines | |||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| #ifndef __CONSTANT_FOLD_H__ | #ifndef __CONSTANT_FOLD_H__ | ||||
| #define __CONSTANT_FOLD_H__ | #define __CONSTANT_FOLD_H__ | ||||
| #include "util_types.h" | #include "util_types.h" | ||||
| #include "util_vector.h" | |||||
| CCL_NAMESPACE_BEGIN | CCL_NAMESPACE_BEGIN | ||||
| class ShaderGraph; | class ShaderGraph; | ||||
| class ShaderInput; | class ShaderInput; | ||||
| class ShaderNode; | class ShaderNode; | ||||
| class ShaderOutput; | class ShaderOutput; | ||||
| Show All 19 Lines | public: | ||||
| /* For closure nodes, discard node entirely or bypass to one of its inputs. */ | /* For closure nodes, discard node entirely or bypass to one of its inputs. */ | ||||
| void discard() const; | void discard() const; | ||||
| void bypass_or_discard(ShaderInput *input) const; | void bypass_or_discard(ShaderInput *input) const; | ||||
| /* Bypass or make constant, unless we can't due to clamp being true. */ | /* Bypass or make constant, unless we can't due to clamp being true. */ | ||||
| bool try_bypass_or_make_constant(ShaderInput *input, float3 input_value, bool clamp) const; | bool try_bypass_or_make_constant(ShaderInput *input, float3 input_value, bool clamp) const; | ||||
| }; | }; | ||||
| /* Utility Functions for Constant Fold */ | |||||
| float curves_ramp_lookup(const array<float3> &ramp, float at, int component); | |||||
| CCL_NAMESPACE_END | CCL_NAMESPACE_END | ||||
| #endif /* __CONSTANT_FOLD_H__ */ | #endif /* __CONSTANT_FOLD_H__ */ | ||||