ShNibbles.hpp File Reference

A set of nibbles that are functions that return ShPrograms for basic operations. More...

#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.


Detailed Description

A set of nibbles that are functions that return ShPrograms for basic operations.

Definition in file ShNibbles.hpp.


Generated on Thu Feb 16 14:53:49 2006 for Sh by  doxygen 1.4.6