# Ogre::GpuNamedConstants Struct Reference
[Materials]

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

`#include <OgreGpuProgramParams.h>`

Inheritance diagram for Ogre::GpuNamedConstants:
[legend]

List of all members.

## Public Member Functions

| GpuNamedConstants ()
void | generateConstantDefinitionArrayEntries (const String &paramName, const GpuConstantDefinition &baseDef)
| Generate additional constant entries for arrays based on a base definition.
void | save (const String &filename) const
| Saves constant definitions to a file, compatible with GpuProgram::setManualNamedConstantsFile.
void | load (DataStreamPtr &stream)
| Loads constant definitions from a stream, compatible with GpuProgram::setManualNamedConstantsFile.
void * | operator new (size_t sz, const char *file, int line, const char *func)
| operator new, with debug line info
void * | operator new (size_t sz)
void * | operator new (size_t sz, void *ptr)
| placement operator new
void * | operator new[] (size_t sz, const char *file, int line, const char *func)
| array operator new, with debug line info
void * | operator new[] (size_t sz)
void | operator delete (void *ptr)
void | operator delete (void *ptr, void *)
void | operator delete (void *ptr, const char *, int, const char *)
void | operator delete[] (void *ptr)
void | operator delete[] (void *ptr, const char *, int, const char *)

## Static Public Member Functions

static bool | getGenerateAllConstantDefinitionArrayEntries ()
| Indicates whether all array entries will be generated and added to the definitions map.
static void | setGenerateAllConstantDefinitionArrayEntries (bool generateAll)
| Sets whether all array entries will be generated and added to the definitions map.

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

## Static Protected Attributes

static bool | msGenerateAllConstantDefinitionArrayEntries
| Indicates whether all array entries will be generated and added to the definitions map.

## Detailed Description

Struct collecting together the information for named constants.

Definition at line 264 of file OgreGpuProgramParams.h.

## Constructor & Destructor Documentation

Ogre::GpuNamedConstants::GpuNamedConstants | ( |  | ) |

Definition at line 273 of file OgreGpuProgramParams.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.

static bool Ogre::GpuNamedConstants::getGenerateAllConstantDefinitionArrayEntries | ( |  | ) | `[static]`

Indicates whether all array entries will be generated and added to the definitions map.

void Ogre::GpuNamedConstants::load | ( | DataStreamPtr & | stream | ) |

Loads constant definitions from a stream, compatible with GpuProgram::setManualNamedConstantsFile.

See also:
  GpuProgram::setManualNamedConstantsFile

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) | `[inherited]`

Definition at line 95 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | void * |  |
| ) |  |  | `[inherited]`

Definition at line 101 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |  |
| ) |  |  | `[inherited]`

Definition at line 107 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |  |
| ) |  |  | `[inherited]`

Definition at line 118 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) | `[inherited]`

Definition at line 112 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | void * | ptr |
| ) |  |  | `[inherited]`

placement operator new

Definition at line 78 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | const char * | file,
|  | int | line,
|  | const char * | func |
| ) |  |  | `[inherited]`

operator new, with debug line info

Definition at line 67 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) | `[inherited]`

Definition at line 72 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz,
|  | const char * | file,
|  | int | line,
|  | const char * | func |
| ) |  |  | `[inherited]`

array operator new, with debug line info

Definition at line 85 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz | ) | `[inherited]`

Definition at line 90 of file OgreMemoryAllocatedObject.h.

void Ogre::GpuNamedConstants::save | ( | const String & | filename | ) | const

Saves constant definitions to a file, compatible with GpuProgram::setManualNamedConstantsFile.

See also:
  GpuProgram::setManualNamedConstantsFile

static void Ogre::GpuNamedConstants::setGenerateAllConstantDefinitionArrayEntries | ( | bool | generateAll | ) | `[static]`

Sets whether all array entries will be generated and added to the definitions map.

Remarks:
  Usually, array entries can only be individually indexed if they're up to 16 entries long, to save memory - arrays larger than that can be set but only via the bulk setting methods. This option allows you to choose to individually index every array entry.

## Member Data Documentation

size_t Ogre::GpuNamedConstants::floatBufferSize

Total size of the float buffer required.

Definition at line 267 of file OgreGpuProgramParams.h.

size_t Ogre::GpuNamedConstants::intBufferSize

Total size of the int buffer required.

Definition at line 269 of file OgreGpuProgramParams.h.

GpuConstantDefinitionMap Ogre::GpuNamedConstants::map

Map of parameter names to GpuConstantDefinition.

Definition at line 271 of file OgreGpuProgramParams.h.

bool Ogre::GpuNamedConstants::msGenerateAllConstantDefinitionArrayEntries `[static, protected]`

Indicates whether all array entries will be generated and added to the definitions map.

Remarks:
  Normally, the number of array entries added to the definitions map is capped at 16 to save memory. Setting this value to `true` allows all of the entries to be generated and added to the map.

Definition at line 316 of file OgreGpuProgramParams.h.

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

- OgreGpuProgramParams.h

Copyright © 2008 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Wed Nov 3 2010 19:24:55