| OGRE 1.11.1 Object-Oriented Graphics Rendering Engine

Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
Ogre::GpuConstantDefinition Struct Reference
Core » Materials

Information about predefined program constants. More...

`#include <OgreGpuProgramParams.h>`

## Public Member Functions
| GpuConstantDefinition ()
bool | isBool () const
bool | isDouble () const
bool | isFloat () const
bool | isInt () const
bool | isSampler () const
bool | isSubroutine () const
bool | isUnsignedInt () const

## Static Public Member Functions
static BaseConstantType | getBaseType (GpuConstantType ctype)
static size_t | getElementSize (GpuConstantType ctype, bool padToMultiplesOf4)
| Get the element size of a given type, including whether to pad the elements into multiples of 4 (e.g. More...
static bool | isBool (GpuConstantType c)
static bool | isDouble (GpuConstantType c)
static bool | isFloat (GpuConstantType c)
static bool | isInt (GpuConstantType c)
static bool | isSampler (GpuConstantType c)
static bool | isSubroutine (GpuConstantType c)
static bool | isUnsignedInt (GpuConstantType c)

## Public Attributes
size_t | arraySize
| Length of array. More...
GpuConstantType | constType
| Data type. More...
size_t | elementSize
| Number of raw buffer slots per element (some programs pack each array element to float4, some do not) More...
size_t | logicalIndex
| Logical index - used to communicate this constant to the rendersystem. More...
size_t | physicalIndex
| Physical start index in buffer (either float, double, int, or uint buffer) More...
uint16 | variability
| How this parameter varies (bitwise combination of GpuProgramVariability) More...

## Detailed Description

Information about predefined program constants.

Note
  Only available for high-level programs but is referenced generically by GpuProgramParameters.

## Constructor & Destructor Documentation

## ◆ GpuConstantDefinition()

Ogre::GpuConstantDefinition::GpuConstantDefinition | ( |  | ) |
| inline

## Member Function Documentation

## ◆ isFloat() [1/2]

bool Ogre::GpuConstantDefinition::isFloat | ( |  | ) | const
| inline

## ◆ isFloat() [2/2]

static bool Ogre::GpuConstantDefinition::isFloat | ( | GpuConstantType | c | ) |
| inline static

References Ogre::GCT_FLOAT1, Ogre::GCT_FLOAT2, Ogre::GCT_FLOAT3, Ogre::GCT_FLOAT4, Ogre::GCT_MATRIX_2X2, Ogre::GCT_MATRIX_2X3, Ogre::GCT_MATRIX_2X4, Ogre::GCT_MATRIX_3X2, Ogre::GCT_MATRIX_3X3, Ogre::GCT_MATRIX_3X4, Ogre::GCT_MATRIX_4X2, Ogre::GCT_MATRIX_4X3, and Ogre::GCT_MATRIX_4X4.

## ◆ isDouble() [1/2]

bool Ogre::GpuConstantDefinition::isDouble | ( |  | ) | const
| inline

## ◆ isDouble() [2/2]

static bool Ogre::GpuConstantDefinition::isDouble | ( | GpuConstantType | c | ) |
| inline static

References Ogre::GCT_DOUBLE1, Ogre::GCT_DOUBLE2, Ogre::GCT_DOUBLE3, Ogre::GCT_DOUBLE4, Ogre::GCT_MATRIX_DOUBLE_2X2, Ogre::GCT_MATRIX_DOUBLE_2X3, Ogre::GCT_MATRIX_DOUBLE_2X4, Ogre::GCT_MATRIX_DOUBLE_3X2, Ogre::GCT_MATRIX_DOUBLE_3X3, Ogre::GCT_MATRIX_DOUBLE_3X4, Ogre::GCT_MATRIX_DOUBLE_4X2, Ogre::GCT_MATRIX_DOUBLE_4X3, and Ogre::GCT_MATRIX_DOUBLE_4X4.

## ◆ isInt() [1/2]

bool Ogre::GpuConstantDefinition::isInt | ( |  | ) | const
| inline

## ◆ isInt() [2/2]

static bool Ogre::GpuConstantDefinition::isInt | ( | GpuConstantType | c | ) |
| inline static

References Ogre::GCT_INT1, Ogre::GCT_INT2, Ogre::GCT_INT3, and Ogre::GCT_INT4.

## ◆ isUnsignedInt() [1/2]

bool Ogre::GpuConstantDefinition::isUnsignedInt | ( |  | ) | const
| inline

## ◆ isUnsignedInt() [2/2]

static bool Ogre::GpuConstantDefinition::isUnsignedInt | ( | GpuConstantType | c | ) |
| inline static

References Ogre::GCT_UINT1, Ogre::GCT_UINT2, Ogre::GCT_UINT3, and Ogre::GCT_UINT4.

## ◆ isBool() [1/2]

bool Ogre::GpuConstantDefinition::isBool | ( |  | ) | const
| inline

## ◆ isBool() [2/2]

static bool Ogre::GpuConstantDefinition::isBool | ( | GpuConstantType | c | ) |
| inline static

References Ogre::GCT_BOOL1, Ogre::GCT_BOOL2, Ogre::GCT_BOOL3, and Ogre::GCT_BOOL4.

## ◆ isSampler() [1/2]

bool Ogre::GpuConstantDefinition::isSampler | ( |  | ) | const
| inline

## ◆ isSampler() [2/2]

static bool Ogre::GpuConstantDefinition::isSampler | ( | GpuConstantType | c | ) |
| inline static

References Ogre::GCT_SAMPLER1D, Ogre::GCT_SAMPLER1DSHADOW, Ogre::GCT_SAMPLER2D, Ogre::GCT_SAMPLER2DARRAY, Ogre::GCT_SAMPLER2DSHADOW, Ogre::GCT_SAMPLER3D, and Ogre::GCT_SAMPLERCUBE.

## ◆ isSubroutine() [1/2]

bool Ogre::GpuConstantDefinition::isSubroutine | ( |  | ) | const
| inline

## ◆ isSubroutine() [2/2]

static bool Ogre::GpuConstantDefinition::isSubroutine | ( | GpuConstantType | c | ) |
| inline static

References Ogre::GCT_SUBROUTINE.

## ◆ getBaseType()

static BaseConstantType Ogre::GpuConstantDefinition::getBaseType | ( | GpuConstantType | ctype | ) |
| inline static

References Ogre::BCT_BOOL, Ogre::BCT_DOUBLE, Ogre::BCT_FLOAT, Ogre::BCT_INT, Ogre::BCT_SAMPLER, Ogre::BCT_SUBROUTINE, Ogre::BCT_UINT, and Ogre::BCT_UNKNOWN.

## ◆ getElementSize()

static size_t Ogre::GpuConstantDefinition::getElementSize | ( | GpuConstantType | ctype,
|  | bool | padToMultiplesOf4
| ) |  |
| inline static

Get the element size of a given type, including whether to pad the elements into multiples of 4 (e.g.

SM1 and D3D does, GLSL doesn't)

References Ogre::GCT_BOOL1, Ogre::GCT_BOOL2, Ogre::GCT_BOOL3, Ogre::GCT_BOOL4, Ogre::GCT_DOUBLE1, Ogre::GCT_DOUBLE2, Ogre::GCT_DOUBLE3, Ogre::GCT_DOUBLE4, Ogre::GCT_FLOAT1, Ogre::GCT_FLOAT2, Ogre::GCT_FLOAT3, Ogre::GCT_FLOAT4, Ogre::GCT_INT1, Ogre::GCT_INT2, Ogre::GCT_INT3, Ogre::GCT_INT4, Ogre::GCT_MATRIX_2X2, Ogre::GCT_MATRIX_2X3, Ogre::GCT_MATRIX_2X4, Ogre::GCT_MATRIX_3X2, Ogre::GCT_MATRIX_3X3, Ogre::GCT_MATRIX_3X4, Ogre::GCT_MATRIX_4X2, Ogre::GCT_MATRIX_4X3, Ogre::GCT_MATRIX_4X4, Ogre::GCT_MATRIX_DOUBLE_2X2, Ogre::GCT_MATRIX_DOUBLE_2X3, Ogre::GCT_MATRIX_DOUBLE_2X4, Ogre::GCT_MATRIX_DOUBLE_3X2, Ogre::GCT_MATRIX_DOUBLE_3X3, Ogre::GCT_MATRIX_DOUBLE_3X4, Ogre::GCT_MATRIX_DOUBLE_4X2, Ogre::GCT_MATRIX_DOUBLE_4X3, Ogre::GCT_MATRIX_DOUBLE_4X4, Ogre::GCT_SAMPLER1D, Ogre::GCT_SAMPLER1DSHADOW, Ogre::GCT_SAMPLER2D, Ogre::GCT_SAMPLER2DARRAY, Ogre::GCT_SAMPLER2DSHADOW, Ogre::GCT_SAMPLER3D, Ogre::GCT_SAMPLERCUBE, Ogre::GCT_UINT1, Ogre::GCT_UINT2, Ogre::GCT_UINT3, and Ogre::GCT_UINT4.

## Member Data Documentation

## ◆ constType

GpuConstantType Ogre::GpuConstantDefinition::constType

Data type.

## ◆ physicalIndex

size_t Ogre::GpuConstantDefinition::physicalIndex

Physical start index in buffer (either float, double, int, or uint buffer)

## ◆ logicalIndex

size_t Ogre::GpuConstantDefinition::logicalIndex

Logical index - used to communicate this constant to the rendersystem.

## ◆ elementSize

size_t Ogre::GpuConstantDefinition::elementSize

Number of raw buffer slots per element (some programs pack each array element to float4, some do not)

## ◆ arraySize

size_t Ogre::GpuConstantDefinition::arraySize

Length of array.

## ◆ variability

uint16 Ogre::GpuConstantDefinition::variability
| mutable

How this parameter varies (bitwise combination of GpuProgramVariability)

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

- OgreGpuProgramParams.h