OGRE  1.12.9
Object-Oriented Graphics Rendering Engine
OgreGpuProgramParams.h File Reference
#include "OgrePrerequisites.h"
#include "OgreSharedPtr.h"
#include "OgreIteratorWrapper.h"
#include "OgreSerializer.h"
#include "OgreAny.h"
#include "Threading/OgreThreadHeaders.h"
#include "OgreHeaderPrefix.h"
#include "OgreHeaderSuffix.h"

Classes

struct  Ogre::GpuConstantDefinition
 Information about predefined program constants. More...
 
struct  Ogre::GpuLogicalBufferStruct
 Container struct to allow params to safely & update shared list of logical buffer assignments. More...
 
struct  Ogre::GpuLogicalIndexUse
 Structure recording the use of a physical buffer by a logical parameter index. More...
 
struct  Ogre::GpuNamedConstants
 Struct collecting together the information for named constants. More...
 
class  Ogre::GpuNamedConstantsSerializer
 Simple class for loading / saving GpuNamedConstants. More...
 
class  Ogre::GpuProgramParameters
 Collects together the program parameters used for a GpuProgram. More...
 
struct  Ogre::GpuProgramParameters::AutoConstantDefinition
 Structure defining an auto constant that's available for use in a parameters object. More...
 
class  Ogre::GpuProgramParameters::AutoConstantEntry
 Structure recording the use of an automatic parameter. More...
 
class  Ogre::GpuSharedParameters
 A group of manually updated parameters that are shared between many parameter sets. More...
 
class  Ogre::GpuSharedParametersUsage
 This class records the usage of a set of shared parameters in a concrete set of GpuProgramParameters. More...
 

Namespaces

 Ogre
 

Typedefs

typedef std::vector< double > Ogre::DoubleConstantList
 Definition of container that holds the current double constants. More...
 
typedef std::vector< float > Ogre::FloatConstantList
 Definition of container that holds the current float constants. More...
 
typedef ConstMapIterator< GpuConstantDefinitionMap > Ogre::GpuConstantDefinitionIterator
 
typedef std::map< String, GpuConstantDefinition > Ogre::GpuConstantDefinitionMap
 
typedef std::map< size_t, GpuLogicalIndexUse > Ogre::GpuLogicalIndexUseMap
 
typedef std::vector< int > Ogre::IntConstantList
 Definition of container that holds the current int constants. More...
 
typedef std::vector< uint > Ogre::UnsignedIntConstantList
 Definition of container that holds the current uint constants. More...
 

Enumerations

enum  Ogre::BaseConstantType {
  Ogre::BCT_FLOAT = 0, Ogre::BCT_INT = 0x10, Ogre::BCT_DOUBLE = 0x20, Ogre::BCT_UINT = 0x30,
  Ogre::BCT_BOOL = 0x40, Ogre::BCT_SAMPLER = 0x50, Ogre::BCT_SUBROUTINE = 0x60, Ogre::BCT_UNKNOWN = 0x70
}
 
enum  Ogre::GpuConstantType {
  Ogre::GCT_FLOAT1 = BCT_FLOAT + 1, Ogre::GCT_FLOAT2 = BCT_FLOAT + 2, Ogre::GCT_FLOAT3 = BCT_FLOAT + 3, Ogre::GCT_FLOAT4 = BCT_FLOAT + 4,
  Ogre::GCT_SAMPLER1D = BCT_SAMPLER + 1, Ogre::GCT_SAMPLER2D = BCT_SAMPLER + 2, Ogre::GCT_SAMPLER3D = BCT_SAMPLER + 3, Ogre::GCT_SAMPLERCUBE = BCT_SAMPLER + 4,
  Ogre::GCT_SAMPLERRECT = BCT_SAMPLER +5, Ogre::GCT_SAMPLER1DSHADOW = BCT_SAMPLER + 6, Ogre::GCT_SAMPLER2DSHADOW = BCT_SAMPLER + 7, Ogre::GCT_SAMPLER2DARRAY = BCT_SAMPLER + 8,
  Ogre::GCT_SAMPLER_EXTERNAL_OES = BCT_SAMPLER + 9, Ogre::GCT_MATRIX_2X2 = BCT_FLOAT + 5, Ogre::GCT_MATRIX_2X3 = BCT_FLOAT + 6, Ogre::GCT_MATRIX_2X4 = BCT_FLOAT + 7,
  Ogre::GCT_MATRIX_3X2 = BCT_FLOAT + 8, Ogre::GCT_MATRIX_3X3 = BCT_FLOAT + 9, Ogre::GCT_MATRIX_3X4 = BCT_FLOAT + 10, Ogre::GCT_MATRIX_4X2 = BCT_FLOAT + 11,
  Ogre::GCT_MATRIX_4X3 = BCT_FLOAT + 12, Ogre::GCT_MATRIX_4X4 = BCT_FLOAT + 13, Ogre::GCT_INT1 = BCT_INT + 1, Ogre::GCT_INT2 = BCT_INT + 2,
  Ogre::GCT_INT3 = BCT_INT + 3, Ogre::GCT_INT4 = BCT_INT + 4, Ogre::GCT_SUBROUTINE = BCT_SUBROUTINE, Ogre::GCT_DOUBLE1 = BCT_DOUBLE + 1,
  Ogre::GCT_DOUBLE2 = BCT_DOUBLE + 2, Ogre::GCT_DOUBLE3 = BCT_DOUBLE + 3, Ogre::GCT_DOUBLE4 = BCT_DOUBLE + 4, Ogre::GCT_MATRIX_DOUBLE_2X2 = BCT_DOUBLE + 5,
  Ogre::GCT_MATRIX_DOUBLE_2X3 = BCT_DOUBLE + 6, Ogre::GCT_MATRIX_DOUBLE_2X4 = BCT_DOUBLE + 7, Ogre::GCT_MATRIX_DOUBLE_3X2 = BCT_DOUBLE + 8, Ogre::GCT_MATRIX_DOUBLE_3X3 = BCT_DOUBLE + 9,
  Ogre::GCT_MATRIX_DOUBLE_3X4 = BCT_DOUBLE + 10, Ogre::GCT_MATRIX_DOUBLE_4X2 = BCT_DOUBLE + 11, Ogre::GCT_MATRIX_DOUBLE_4X3 = BCT_DOUBLE + 12, Ogre::GCT_MATRIX_DOUBLE_4X4 = BCT_DOUBLE + 13,
  Ogre::GCT_UINT1 = BCT_UINT + 1, Ogre::GCT_UINT2 = BCT_UINT + 2, Ogre::GCT_UINT3 = BCT_UINT + 3, Ogre::GCT_UINT4 = BCT_UINT + 4,
  Ogre::GCT_BOOL1 = BCT_BOOL + 1, Ogre::GCT_BOOL2 = BCT_BOOL + 2, Ogre::GCT_BOOL3 = BCT_BOOL + 3, Ogre::GCT_BOOL4 = BCT_BOOL + 4,
  Ogre::GCT_UNKNOWN = BCT_UNKNOWN
}
 Enumeration of the types of constant we may encounter in programs. More...
 
enum  Ogre::GpuParamVariability {
  Ogre::GPV_GLOBAL = 1, Ogre::GPV_PER_OBJECT = 2, Ogre::GPV_LIGHTS = 4, Ogre::GPV_PASS_ITERATION_NUMBER = 8,
  Ogre::GPV_ALL = 0xFFFF
}
 The variability of a GPU parameter, as derived from auto-params targeting it. More...