#include "ShBaseTexture.hpp"
#include "ShProgram.hpp"
#include "ShMatrix.hpp"
#include "ShNibblesImpl.hpp"
Include dependency graph for ShNibbles.hpp:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.
Namespaces | |
| namespace | SH |
| #define | SHNIBBLE_BINARY_OP_DECL(opname) |
| Nibbles for binary operators Inputs: IN(0) T1 a IN(1) T2 b (by default T2 = T1) Outputs: OUT(0) name (type is T1 or T2, whichever has more components). | |
| SH::SHNIBBLE_BINARY_OP_DECL (shAdd) | |
| SH::SHNIBBLE_BINARY_OP_DECL (shAnd) | |
| SH::SHNIBBLE_BINARY_OP_DECL (shAtan2) | |
| SH::SHNIBBLE_BINARY_OP_DECL (shDiv) | |
| SH::SHNIBBLE_BINARY_OP_DECL (shFaceforward) | |
| SH::SHNIBBLE_BINARY_OP_DECL (shMax) | |
| SH::SHNIBBLE_BINARY_OP_DECL (shMin) | |
| SH::SHNIBBLE_BINARY_OP_DECL (shMod) | |
| SH::SHNIBBLE_BINARY_OP_DECL (shMul) | |
| SH::SHNIBBLE_BINARY_OP_DECL (shOr) | |
| SH::SHNIBBLE_BINARY_OP_DECL (shPow) | |
| SH::SHNIBBLE_BINARY_OP_DECL (shReflect) | |
| SH::SHNIBBLE_BINARY_OP_DECL (shSeq) | |
| SH::SHNIBBLE_BINARY_OP_DECL (shSge) | |
| SH::SHNIBBLE_BINARY_OP_DECL (shSgt) | |
| SH::SHNIBBLE_BINARY_OP_DECL (shSle) | |
| SH::SHNIBBLE_BINARY_OP_DECL (shSlt) | |
| SH::SHNIBBLE_BINARY_OP_DECL (shSne) | |
| SH::SHNIBBLE_BINARY_OP_DECL (shSub) | |
| #define | SHNIBBLE_TERNARY_OP_DECL(opname) |
| Nibbles for ternary operators Inputs: IN(0) T1 a IN(1) T2 b (by default T2 = T1) IN(2) T3 c (by default T3 = T2) Outputs: OUT(0) name (type is T1, T2 or T3, whichever has more components). | |
| SH::SHNIBBLE_TERNARY_OP_DECL (shClamp) | |
| SH::SHNIBBLE_TERNARY_OP_DECL (shCond) | |
| SH::SHNIBBLE_TERNARY_OP_DECL (shMad) | |
| SH::SHNIBBLE_TERNARY_OP_DECL (shSmoothstep) | |
| #define | SHNIBBLE_HASH_FUNC_DECL(opname) |
| Nibbles for hash functions Inputs: IN(0) T1 a Outputs: OUT(0) name (type is T2). | |
| SH::SHNIBBLE_HASH_FUNC_DECL (shCellnoise) | |
| SH::SHNIBBLE_HASH_FUNC_DECL (shScellnoise) | |
| SH::SHNIBBLE_HASH_FUNC_DECL (shHash) | |
| SH::SHNIBBLE_HASH_FUNC_DECL (shTexhash) | |
| #define | SHNIBBLE_NOISE_FUNC_DECL(opname) |
| Nibbles for noise functions Inputs: IN(0) T1 a IN(1) T2 b (optional) Outputs: OUT(0) name (type is the last of T2 or T3). | |
| SH::SHNIBBLE_NOISE_FUNC_DECL (shLinnoise) | |
| SH::SHNIBBLE_NOISE_FUNC_DECL (shNoise) | |
| SH::SHNIBBLE_NOISE_FUNC_DECL (shPerlin) | |
| SH::SHNIBBLE_NOISE_FUNC_DECL (shTurbulence) | |
| SH::SHNIBBLE_NOISE_FUNC_DECL (shSlinnoise) | |
| SH::SHNIBBLE_NOISE_FUNC_DECL (shSnoise) | |
| SH::SHNIBBLE_NOISE_FUNC_DECL (shSperlin) | |
| SH::SHNIBBLE_NOISE_FUNC_DECL (shSturbulence) | |
| #define | SHNIBBLE_DISTANCE_FUNC_DECL(opname) |
| Nibbles for distance functions Inputs: IN(0) T1 a IN(1) T2 b Outputs: OUT(0) ShAttrib1f name. | |
| SH::SHNIBBLE_DISTANCE_FUNC_DECL (shDistance) | |
| SH::SHNIBBLE_DISTANCE_FUNC_DECL (shDistance_1) | |
| SH::SHNIBBLE_DISTANCE_FUNC_DECL (shDistance_inf) | |
| #define | SHNIBBLE_UNARY_TUPLEOP_DECL(opname) |
| Nibbles for unary non-componentwise tuple operators Inputs: IN(0) T1 a Outputs: OUT(0) ShAttrib1f name. | |
| SH::SHNIBBLE_UNARY_TUPLEOP_DECL (shAll) | |
| SH::SHNIBBLE_UNARY_TUPLEOP_DECL (shAny) | |
| SH::SHNIBBLE_UNARY_TUPLEOP_DECL (shLength) | |
| SH::SHNIBBLE_UNARY_TUPLEOP_DECL (shLength_1) | |
| SH::SHNIBBLE_UNARY_TUPLEOP_DECL (shLength_inf) | |
| SH::SHNIBBLE_UNARY_TUPLEOP_DECL (shMax1) | |
| SH::SHNIBBLE_UNARY_TUPLEOP_DECL (shMin1) | |
| SH::SHNIBBLE_UNARY_TUPLEOP_DECL (shProd) | |
| SH::SHNIBBLE_UNARY_TUPLEOP_DECL (shSum) | |
| template<typename T> | |
| ShProgram | SH::shAbs (const std::string &name="result") |
| Nibbles for unary operators Inputs: IN(0) T name Outputs: OUT(0) T name. | |
| template<typename T> | |
| ShProgram | SH::shAcos (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shAcosh (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shAsin (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shAsinh (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shAtan (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shAtanh (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shCbrt (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shCeil (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shCos (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shCosh (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shDx (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shDy (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shExp (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shExpm1 (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shExp2 (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shExp10 (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shFloor (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shFrac (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shFwidth (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shLog (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shLogp1 (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shLog2 (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shLog10 (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shNormalize (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shNot (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shPos (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shRcp (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shRound (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shRsqrt (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shSat (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shSign (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shSin (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shSinh (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shSort (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shSqrt (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shTan (const std::string &name="result") |
| template<typename T> | |
| ShProgram | SH::shTanh (const std::string &name="result") |
| template<typename T1, typename T2> | |
| ShProgram | SH::shLerp (const std::string &name="result", const std::string &input_name0="x", const std::string &input_name1="y", const std::string &input_name2="z") |
| Nibble for lerp operator Inputs: IN(0) T1 a IN(1) T1 b IN(2) T2 alpha (T2 = T1 by default) Outputs: OUT(0) T1 name = a * alpha + b * (1 - alpha). | |
| template<typename T1, typename T2> | |
| ShProgram | SH::shPoly (const std::string &name="result", const std::string &input_name0="x", const std::string &input_name1="y") |
| Nibble for poly function Inputs: IN(0) T1 a IN(1) T1 b IN(2) T2 alpha (T2 = T1 by default) Outputs: OUT(0) T1 name. | |
| template<typename T1, typename T2> | |
| ShProgram | SH::shRefract (const std::string &name="result", const std::string &input_name0="x", const std::string &input_name1="y", const std::string &input_name2="z") |
| Nibble for the refract function Inputs: IN(0) T1 a IN(1) T1 b IN(2) T2 c Outputs: OUT(0) T1 name. | |
Functions | |
| template<typename T> | |
| ShProgram | SH::keep (const std::string &name="") |
| Creates a keep nibble. | |
| template<typename T> | |
| ShProgram | SH::dup (const std::string &name="var") |
| Creates a dup nibble. | |
| template<typename T> | |
| ShProgram | SH::lose (const std::string &name="") |
| Creates a lose nibble. | |
| template<typename T> | |
| ShProgram | SH::shAccess (const ShBaseTexture1D< T > &tex, const std::string &tcname="texcoord", const std::string &name="result") |
| 2D texture lookup nibble Inputs: IN(0) ShTexCoord1f texcoord Outputs: OUT(0) name = tex(tc) | |
| template<typename T> | |
| ShProgram | SH::shAccess (const ShBaseTexture2D< T > &tex, const std::string &tcname="texcoord", const std::string &name="result") |
| 2D texture lookup nibble Inputs: IN(0) ShTexCoord2f texcoord Outputs: OUT(0) name = tex(tc) | |
| template<typename T> | |
| ShProgram | SH::shAccess (const ShBaseTextureRect< T > &tex, const std::string &tcname="texcoord", const std::string &name="result") |
| Rect texture lookup nibble Inputs: IN(0) ShTexCoord2f texcoord Outputs: OUT(0) name = tex(tc). | |
| template<typename T> | |
| ShProgram | SH::shAccess (const ShBaseTexture3D< T > &tex, const std::string &tcname="texcoord", const std::string &name="result") |
| 3D texture lookup nibble Inputs: IN(0) ShTexCoord3f texcoord Outputs: OUT(0) name = tex(tc) | |
| template<typename T> | |
| ShProgram | SH::shAccess (const ShBaseTextureCube< T > &tex, const std::string &tcname="texcoord", const std::string &name="result") |
| Cube texture lookup nibble Inputs: IN(0) ShTexCoord3f texcoord Outputs: OUT(0) name = tex(tc). | |
| template<typename T, int Rows, int Cols, ShBindingType Binding, typename T2> | |
| ShProgram | SH::shTransform (const ShMatrix< Rows, Cols, Binding, T2 > &m, const std::string &name="result") |
| transformation nibble Creates a nibble that transforms a variable of type T by a matrix of type ShMatrix<Rows, Cols, Binding, V> Inputs: IN(0) attrib Outputs: OUT(0) T name = m | attrib | |
| template<typename T, typename T2> | |
| ShProgram | SH::shCast (const std::string &name="result") |
| Casting nibble Casts from tuple type T to type T2 If T::typesize < T2::typesize, pads with 0 components at end. | |
| template<typename T, typename T2> | |
| ShProgram | SH::shFillcast (const std::string &name="result") |
| Fill-Casting nibble Casts from tuple type T to type T2 If T::typesize < T2::typesize, pads with repeated last component at end. | |
| template<int N, typename T> | |
| ShProgram | SH::shBernstein (const std::string &name="result", const std::string &input_name0="x") |
| Nibble for the bernstein<N> function Inputs: IN(0) T a Outputs: OUT(0) ShGeneric<N, T>. | |
| template<typename T1, typename T2> | |
| ShProgram | SH::shBezier (const std::string &name="result", const std::string &input_name0="x", const std::string &input_name1="y") |
| Nibble for the bezier function Inputs: IN(0) T1 a IN(1) T2 b Outputs: OUT(0) T2. | |
| template<typename T> | |
| ShProgram | SH::shCross (const std::string &name="result", const std::string &input_name0="x", const std::string &input_name1="y") |
| Nibble for cross product operator Inputs: IN(0) T a IN(1) T b Outputs: OUT(0) T name. | |
| template<typename T> | |
| ShProgram | SH::shDiscard (const std::string &name="result", const std::string &input_name0="x") |
| Nibble for discard Inputs: IN(0) T a Outputs: (none). | |
| template<typename T> | |
| ShProgram | SH::shDot (const std::string &name="result", const std::string &input_name0="x", const std::string &input_name1="y") |
| Nibble for dot product operator Inputs: IN(0) T a IN(1) T b Outputs: OUT(0) ShAttrib1f name. | |
| template<typename T> | |
| ShProgram | SH::shGradient (const std::string &name="result", const std::string &input_name0="x") |
| Nibble for the gradient function Inputs: IN(0) T a Outputs: OUT(0) ShAttrib1f name. | |
| template<int S, typename T> | |
| ShProgram | SH::shGroupsort (const std::string &name="result", const std::string &input_name0="x") |
| Nibble for the groupsort<S> function Inputs: IN(0) T a Outputs: (none). | |
| template<typename T1, typename T2> | |
| ShProgram | SH::shHermite (const std::string &name="result", const std::string &input_name0="x", const std::string &input_name1="y", const std::string &input_name2="z", const std::string &input_name3="w", const std::string &input_name4="v") |
| Nibble for the hermite function Inputs: IN(0) T1 a IN(1) T2 b IN(2) T2 c IN(3) T2 d IN(4) T2 e Outputs: OUT(0) T2. | |
| template<typename T1, typename T2> | |
| ShProgram | SH::shJoin (const std::string &name="result", const std::string &input_name0="x", const std::string &input_name1="y") |
| Nibble for the join function Inputs: IN(0) T1 a IN(1) T2 b Outputs: OUT(0) T1+T2 name. | |
| template<typename T> | |
| ShProgram | SH::shLit (const std::string &name="result", const std::string &input_name0="x", const std::string &input_name1="y", const std::string &input_name2="z") |
| Nibble for the lit function Inputs: IN(0) T a IN(1) T b IN(2) T c Outputs: OUT(0) ShAttrib4f name. | |
| template<typename T> | |
| ShProgram | SH::shSmoothpulse (const std::string &name="result", const std::string &input_name0="x", const std::string &input_name1="y", const std::string &input_name2="z", const std::string &input_name3="w") |
| Nibble for the smoothpulse function Inputs: IN(0) T1 a IN(1) T1 b IN(2) T2 c Outputs: OUT(0) T1 name. | |
Definition in file ShNibbles.hpp.
1.4.5