Public Member Functions | Static Public Member Functions | Public Attributes | Static Protected Attributes | List of all members
Ogre::GpuNamedConstants Struct Reference

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

#include <OgreGpuProgramParams.h>

Inheritance diagram for Ogre::GpuNamedConstants:
Inheritance graph
[legend]

Public Member Functions

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

Static Public Member Functions

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

Public Attributes

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

Static Protected Attributes

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

Detailed Description

Struct collecting together the information for named constants.

Definition at line 355 of file OgreGpuProgramParams.h.

Constructor & Destructor Documentation

◆ GpuNamedConstants()

Ogre::GpuNamedConstants::GpuNamedConstants ( )

Definition at line 366 of file OgreGpuProgramParams.h.

Member Function Documentation

◆ calculateSize()

size_t Ogre::GpuNamedConstants::calculateSize ( void  ) const

◆ generateConstantDefinitionArrayEntries()

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.

◆ getGenerateAllConstantDefinitionArrayEntries()

static bool Ogre::GpuNamedConstants::getGenerateAllConstantDefinitionArrayEntries ( )
static

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

◆ load()

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

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

See also
GpuProgram::setManualNamedConstantsFile

◆ operator delete() [1/3]

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr)
inherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

◆ operator delete() [2/3]

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inherited

Definition at line 108 of file OgreMemoryAllocatedObject.h.

◆ operator delete() [3/3]

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
void *   
)
inherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

◆ operator delete[]() [1/2]

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

Definition at line 113 of file OgreMemoryAllocatedObject.h.

◆ operator delete[]() [2/2]

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

Definition at line 119 of file OgreMemoryAllocatedObject.h.

◆ operator new() [1/3]

template<class Alloc >
void * Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz)
inherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

◆ operator new() [2/3]

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 68 of file OgreMemoryAllocatedObject.h.

◆ operator new() [3/3]

template<class Alloc >
void * Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
void *  ptr 
)
inherited

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

◆ operator new[]() [1/2]

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

Definition at line 91 of file OgreMemoryAllocatedObject.h.

◆ operator new[]() [2/2]

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 86 of file OgreMemoryAllocatedObject.h.

◆ save()

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

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

See also
GpuProgram::setManualNamedConstantsFile

◆ setGenerateAllConstantDefinitionArrayEntries()

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

◆ doubleBufferSize

size_t Ogre::GpuNamedConstants::doubleBufferSize

Total size of the double buffer required.

Definition at line 360 of file OgreGpuProgramParams.h.

◆ floatBufferSize

size_t Ogre::GpuNamedConstants::floatBufferSize

Total size of the float buffer required.

Definition at line 358 of file OgreGpuProgramParams.h.

◆ intBufferSize

size_t Ogre::GpuNamedConstants::intBufferSize

Total size of the int buffer required.

Definition at line 362 of file OgreGpuProgramParams.h.

◆ map

GpuConstantDefinitionMap Ogre::GpuNamedConstants::map

Map of parameter names to GpuConstantDefinition.

Definition at line 364 of file OgreGpuProgramParams.h.

◆ msGenerateAllConstantDefinitionArrayEntries

bool Ogre::GpuNamedConstants::msGenerateAllConstantDefinitionArrayEntries
staticprotected

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 411 of file OgreGpuProgramParams.h.


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

Copyright © 2012 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.