27 #ifndef _ShaderParameter_
28 #define _ShaderParameter_
60 SPS_BLEND_WEIGHTS = 2,
62 SPS_BLEND_INDICES = 3,
68 SPS_TEXTURE_COORDINATES = 7,
277 SPC_CUSTOM_CONTENT_BEGIN = 1000,
278 SPC_CUSTOM_CONTENT_END = 2000
295 const Semantic& semantic,
int index,
296 const Content& content);
352 const Semantic& semantic,
int index,
487 template <
class valueType>
496 :
Parameter(type,
"Constant", semantic, 0, content)
Light direction in object space index 0-7.
Light direction in view space index 0-7.
Class encapsulating a standard 4x4 homogeneous matrix.
float Real
Software floating point type.
Light vector in world space index 0-7.
Light direction in world space index 0-7.
vector< ParameterPtr >::type ShaderParameterList
virtual String toString() const =0
virtual bool isConstParameter() const
Class representing colour.
SharedPtr< Parameter > ParameterPtr
Light vector in tangent space index 0-7.
Light vector in view space index 0-7.
virtual bool isConstParameter() const
Returns true if this instance is a ConstParameter otherwise false.
virtual ~ConstParameter()
AutoConstantType
Defines the types of automatically updated values that may be bound to GpuProgram parameters...
GpuConstantType
Enumeration of the types of constant we may encounter in programs.
Position in projective space.
Texture coordinate set index 0-7.
A class that represents a shader based program parameter.
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
vector< UniformParameterPtr >::type UniformParameterList
Collects together the program parameters used for a GpuProgram.
Standard 2-dimensional vector.
Depth in projective space.
View vector in object space.
int getIndex() const
Get the index of this parameter.
Position in object space.
Light position in view space index 0-7.
ShaderParameterList::iterator ShaderParameterIterator
View vector in tangent space.
Light direction in tangent space index 0-7.
const Semantic & getSemantic() const
Get the semantic of this parameter.
Helper utility class that creates common parameters.
Standard 3-dimensional vector.
UniformParameterList::const_iterator UniformParameterConstIterator
virtual ~Parameter()
Class destructor.
void _writeRawConstants(size_t physicalIndex, const float *val, size_t count)
Write a series of floating point values into the underlying float constant buffer at the given physic...
const String & getName() const
Get the name of this parameter.
View vector in world space.
GpuConstantType getType() const
Get the type of this parameter.
virtual String toString() const
Returns the string representation of this parameter.
Light position in tangent space index 0-7.
View vector in view space.
void _writeRawConstant(size_t physicalIndex, const Vector4 &vec, size_t count=4)
Write a 4-element floating-point parameter to the program directly to the underlying constants buffer...
ShaderParameterList::const_iterator ShaderParameterConstIterator
Content getContent() const
Return the content of this parameter.
Helper template which is the base for our ConstParameters.
const valueType & getValue() const
Returns the native value of this parameter.
4-dimensional homogeneous vector.
SharedPtr< UniformParameter > UniformParameterPtr
UniformParameterList::iterator UniformParameterIterator
Light vector in object space index 0-7.
Light position in object space index 0-7.
Light position in world space index 0-7.
Real * ptr()
Pointer accessor for direct copying.
Position in light space index 0-7.
ConstParameter(valueType val, GpuConstantType type, const Semantic &semantic, const Content &content)