18 #ifndef ION_GFX_UNIFORM_H_
19 #define ION_GFX_UNIFORM_H_
25 #include "base/integral_types.h"
66 math::VectorBase2f, math::VectorBase3f, math::VectorBase4f,
67 math::VectorBase2i, math::VectorBase3i, math::VectorBase4i,
68 math::VectorBase2ui, math::VectorBase3ui, math::VectorBase4ui,
85 static const char* GetShaderInputTypeName();
88 static const char* GetValueTypeName(
const ValueType
type);
92 template <
typename T>
static ValueType GetTypeByValue();
100 void MergeValuesFrom(
const Uniform& replacement);
104 return !(*
this == other);
109 static bool GetMerged(
113 template <
typename T>
void MergeValuesInternal(
const Uniform& other);
119 #endif // ION_GFX_UNIFORM_H_
Matrix< 4, float > Matrix4f
Matrix< 3, float > Matrix3f
base::ReferentPtr< CubeMapTexture >::Type CubeMapTexturePtr
Convenience typedef for shared pointer to a CubeMapTexture.
base::Variant< float, int, uint32, math::VectorBase2f, math::VectorBase3f, math::VectorBase4f, math::VectorBase2i, math::VectorBase3i, math::VectorBase4i, math::VectorBase2ui, math::VectorBase3ui, math::VectorBase4ui, math::Matrix2f, math::Matrix3f, math::Matrix4f, CubeMapTexturePtr, TexturePtr > UniformValueType
The Variant class is similar to boost::variant.
Matrix< 2, float > Matrix2f
Dimension- and type-specific typedefs.
bool operator==(const StlAllocator< T1 > &lhs, const StlAllocator< T2 > &rhs)
Each StlAllocator holds an Allocator.
A SharedPtr is a smart shared pointer to an instance of some class that implements reference counting...
UniformType
The UniformType enum defines all supported uniform shader argument types.