Ogre::GpuNamedConstants Struct Reference

Struct collecting together the information for named constants. More...

#include <OgreGpuProgram.h>

List of all members.

Public Member Functions

void generateConstantDefinitionArrayEntries (const String &paramName, const GpuConstantDefinition &baseDef)
 Generate additional constant entries for arrays based on a base definition.

Public Attributes

size_t floatBufferSize
 Total size of the float buffer required.
size_t intBufferSize
 Total size of the int buffer required.
GpuConstantDefinitionMap map
 Map of parameter names to GpuConstantDefinition.


Detailed Description

Struct collecting together the information for named constants.

Definition at line 144 of file OgreGpuProgram.h.


Member Function Documentation

void Ogre::GpuNamedConstants::generateConstantDefinitionArrayEntries ( const String paramName,
const GpuConstantDefinition baseDef 
)

Generate additional constant entries for arrays based on a base definition.

Remarks:
Array uniforms will be added just with their base name with no array suffix. This method will add named entries for array suffixes too so individual array entries can be addressed. Note that we only individually index array elements if the array size is up to 16 entries in size. Anything larger than that only gets a [0] entry as well as the main entry, to save cluttering up the name map. After all, you can address the larger arrays in a bulk fashion much more easily anyway.


Member Data Documentation

size_t Ogre::GpuNamedConstants::floatBufferSize

Total size of the float buffer required.

Definition at line 147 of file OgreGpuProgram.h.

size_t Ogre::GpuNamedConstants::intBufferSize

Total size of the int buffer required.

Definition at line 149 of file OgreGpuProgram.h.

GpuConstantDefinitionMap Ogre::GpuNamedConstants::map

Map of parameter names to GpuConstantDefinition.

Definition at line 151 of file OgreGpuProgram.h.


The documentation for this struct was generated from the following file:

Copyright © 2000-2005 by The OGRE Team
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Mon Jun 16 12:49:47 2008