OGRE  14.2
Object-Oriented Graphics Rendering Engine
OgreGpuProgramParams.h File Reference
#include <limits>
#include "OgrePrerequisites.h"
#include "OgreSharedPtr.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< uchar > Ogre::ConstantList
 Definition of container that holds the current constants. More...
 
typedef ConstMapIterator< GpuConstantDefinitionMap > Ogre::GpuConstantDefinitionIterator
 
typedef std::map< String, GpuConstantDefinition > Ogre::GpuConstantDefinitionMap
 
typedef std::map< size_t, GpuLogicalIndexUse > Ogre::GpuLogicalIndexUseMap
 

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_SPECIALIZATION = 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_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_SPECIALIZATION = BCT_SPECIALIZATION , 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 : uint16 {
  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...