![]() |
Public API Reference |
![]() |
A "shader variable stack". More...
#include <ivideo/shader/shader.h>
Public Member Functions | |
void | Clear () |
Clear the current array. | |
bool | Copy (const csShaderVariableStack &other) |
Copy contents of another stack. | |
csShaderVariableStack () | |
Construct an empty stack. | |
csShaderVariableStack (const csShaderVariableStack &other) | |
Copies from another stack. | |
csShaderVariableStack (csShaderVariable **va, size_t size) | |
Construct a stack from a preallocated array of shader variables. | |
size_t | GetSize () const |
Get the number of variable slots in the stack. | |
void | MakeOwnArray () |
Make a local copy if the array was preallocated. | |
void | MergeBack (const csShaderVariableStack &other) |
Merge one stack onto the "back" of this one. | |
void | MergeFront (const csShaderVariableStack &other) |
Merge one stack onto the "front" of this one. | |
csShaderVariableStack & | operator= (const csShaderVariableStack &other) |
Copies from another stack. | |
csShaderVariable *& | operator[] (size_t index) |
Access a single element in the stack. | |
void | Setup (size_t size) |
Initialize stack internal storage. | |
void | Setup (csShaderVariable **stack, size_t size) |
Initialize stack with external storage. | |
void | Setup (const csShaderVariableStack &stack) |
Initialize stack with external storage taken from another stack. |
A "shader variable stack".
Stores a list of shader variables, indexed by it's name.
csShaderVariableStack::csShaderVariableStack | ( | ) | [inline] |
csShaderVariableStack::csShaderVariableStack | ( | const csShaderVariableStack & | other | ) | [inline] |
csShaderVariableStack::csShaderVariableStack | ( | csShaderVariable ** | va, |
size_t | size | ||
) | [inline] |
void csShaderVariableStack::Clear | ( | ) | [inline] |
bool csShaderVariableStack::Copy | ( | const csShaderVariableStack & | other | ) | [inline] |
Copy contents of another stack.
Unlike operator=() it does not change the storage of this stack. This stack must have the same number of elements as other. Returns whether a copy was actually made. No copy is made if both stacks point to the same storage.
size_t csShaderVariableStack::GetSize | ( | ) | const [inline] |
void csShaderVariableStack::MakeOwnArray | ( | ) | [inline] |
void csShaderVariableStack::MergeBack | ( | const csShaderVariableStack & | other | ) | [inline] |
void csShaderVariableStack::MergeFront | ( | const csShaderVariableStack & | other | ) | [inline] |
csShaderVariableStack& csShaderVariableStack::operator= | ( | const csShaderVariableStack & | other | ) | [inline] |
Copies from another stack.
If the other stack was created from a preallocated array, the stack points to that same array after the assignment. If the other stack used internal storage the new stack will allocate it's own internal array and copy over the contents.
csShaderVariable*& csShaderVariableStack::operator[] | ( | size_t | index | ) | [inline] |
void csShaderVariableStack::Setup | ( | size_t | size | ) | [inline] |
void csShaderVariableStack::Setup | ( | csShaderVariable ** | stack, |
size_t | size | ||
) | [inline] |
void csShaderVariableStack::Setup | ( | const csShaderVariableStack & | stack | ) | [inline] |