Ogre::GpuConstantDefinition Struct Reference
Core » Materials

Information about predefined program constants. More...

`#include <OgreGpuProgramParams.h>`

## Public Member Functions

| GpuConstantDefinition ()
bool | isDouble () const
bool | isFloat () const
bool | isSampler () const
bool | isSubroutine () const

## Static Public Member Functions

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 | isDouble (GpuConstantType c)
static bool | isFloat (GpuConstantType c)
static bool | isSampler (GpuConstantType c)
static bool | isSubroutine (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 or int 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.

Definition at line 122 of file OgreGpuProgramParams.h.

## Constructor & Destructor Documentation

## GpuConstantDefinition()

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

Definition at line 343 of file OgreGpuProgramParams.h.

## Member Function Documentation

## getElementSize()

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

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)

Definition at line 232 of file OgreGpuProgramParams.h.

References 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, and Ogre::GCT_SAMPLERCUBE.

## isDouble() [1/2]

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

Definition at line 165 of file OgreGpuProgramParams.h.

## isDouble() [2/2]

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

static

Definition at line 170 of file OgreGpuProgramParams.h.

References 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_SAMPLER1D, Ogre::GCT_SAMPLER1DSHADOW, Ogre::GCT_SAMPLER2D, Ogre::GCT_SAMPLER2DARRAY, Ogre::GCT_SAMPLER2DSHADOW, Ogre::GCT_SAMPLER3D, and Ogre::GCT_SAMPLERCUBE.

## isFloat() [1/2]

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

Definition at line 138 of file OgreGpuProgramParams.h.

## isFloat() [2/2]

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

static

Definition at line 143 of file OgreGpuProgramParams.h.

References Ogre::GCT_INT1, Ogre::GCT_INT2, Ogre::GCT_INT3, Ogre::GCT_INT4, Ogre::GCT_SAMPLER1D, Ogre::GCT_SAMPLER1DSHADOW, Ogre::GCT_SAMPLER2D, Ogre::GCT_SAMPLER2DARRAY, Ogre::GCT_SAMPLER2DSHADOW, Ogre::GCT_SAMPLER3D, and Ogre::GCT_SAMPLERCUBE.

## isSampler() [1/2]

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

Definition at line 196 of file OgreGpuProgramParams.h.

## isSampler() [2/2]

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

static

Definition at line 201 of file OgreGpuProgramParams.h.

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

Definition at line 219 of file OgreGpuProgramParams.h.

## isSubroutine() [2/2]

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

static

Definition at line 224 of file OgreGpuProgramParams.h.

References Ogre::GCT_SUBROUTINE.

## Member Data Documentation

## arraySize

size_t Ogre::GpuConstantDefinition::arraySize

Length of array.

Definition at line 134 of file OgreGpuProgramParams.h.

## constType

GpuConstantType Ogre::GpuConstantDefinition::constType

Data type.

Definition at line 125 of file OgreGpuProgramParams.h.

## elementSize

size_t Ogre::GpuConstantDefinition::elementSize

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

Definition at line 132 of file OgreGpuProgramParams.h.

## logicalIndex

size_t Ogre::GpuConstantDefinition::logicalIndex

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

Definition at line 129 of file OgreGpuProgramParams.h.

## physicalIndex

size_t Ogre::GpuConstantDefinition::physicalIndex

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

Definition at line 127 of file OgreGpuProgramParams.h.

## variability

uint16 Ogre::GpuConstantDefinition::variability

mutable

How this parameter varies (bitwise combination of GpuProgramVariability)

Definition at line 136 of file OgreGpuProgramParams.h.

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

- OgreGpuProgramParams.h

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