OGRE-Next  4.0.0unstable
Object-Oriented Graphics Rendering Engine
Ogre::IrradianceVolume Class Reference

#include <OgreIrradianceVolume.h>

Public Member Functions

 IrradianceVolume (HlmsManager *hlmsManager)
 
 ~IrradianceVolume ()
 
void changeVolumeData (uint32 x, uint32 y, uint32 z, uint32 direction_id, const Vector3 &delta)
 
void clearVolumeData ()
 
void createIrradianceVolumeTexture (uint32 numBlocksX, uint32 numBlocksY, uint32 numBlocksZ)
 
void destroyIrradianceVolumeTexture ()
 
void freeMemory ()
 
bool getFadeAttenuationOverDistace () const
 
const Vector3getIrradianceCellSize () const
 
float getIrradianceMaxPower () const
 
const Vector3getIrradianceOrigin () const
 
TextureGpugetIrradianceVolumeTexture () const
 
const HlmsSamplerblockgetIrradSamplerblock () const
 
uint32 getNumBlocksX () const
 
uint32 getNumBlocksY () const
 
uint32 getNumBlocksZ () const
 
float getPowerScale () const
 
void setFadeAttenuationOverDistace (bool fade)
 Not really used. It's only use is keeping track of creation parameters. More...
 
void setIrradianceCellSize (const Vector3 &cellSize)
 
void setIrradianceMaxPower (float power)
 Not really used. It's only use is keeping track of creation parameters. More...
 
void setIrradianceOrigin (const Vector3 &origin)
 
void setPowerScale (float power)
 
void updateIrradianceVolumeTexture ()
 

Static Public Member Functions

static void gaussFilter (float *RESTRICT_ALIAS dstData, float *RESTRICT_ALIAS srcData, size_t texWidth, size_t texHeight, size_t texDepth)
 
static void gaussFilterX (float *RESTRICT_ALIAS dstData, float *RESTRICT_ALIAS srcData, size_t texWidth, size_t texHeight, size_t texDepth, const float *RESTRICT_ALIAS kernel, int kernelStart, int kernelEnd)
 
static void gaussFilterY (float *RESTRICT_ALIAS dstData, float *RESTRICT_ALIAS srcData, size_t texWidth, size_t texHeight, size_t texDepth, const float *RESTRICT_ALIAS kernel, int kernelStart, int kernelEnd)
 
static void gaussFilterZ (float *RESTRICT_ALIAS dstData, float *RESTRICT_ALIAS srcData, size_t texWidth, size_t texHeight, size_t texDepth, const float *RESTRICT_ALIAS kernel, int kernelStart, int kernelEnd)
 

Constructor & Destructor Documentation

◆ IrradianceVolume()

Ogre::IrradianceVolume::IrradianceVolume ( HlmsManager hlmsManager)

◆ ~IrradianceVolume()

Ogre::IrradianceVolume::~IrradianceVolume ( )

Member Function Documentation

◆ changeVolumeData()

void Ogre::IrradianceVolume::changeVolumeData ( uint32  x,
uint32  y,
uint32  z,
uint32  direction_id,
const Vector3 delta 
)

◆ clearVolumeData()

void Ogre::IrradianceVolume::clearVolumeData ( )

◆ createIrradianceVolumeTexture()

void Ogre::IrradianceVolume::createIrradianceVolumeTexture ( uint32  numBlocksX,
uint32  numBlocksY,
uint32  numBlocksZ 
)

◆ destroyIrradianceVolumeTexture()

void Ogre::IrradianceVolume::destroyIrradianceVolumeTexture ( )

◆ freeMemory()

void Ogre::IrradianceVolume::freeMemory ( )

◆ gaussFilter()

static void Ogre::IrradianceVolume::gaussFilter ( float *RESTRICT_ALIAS  dstData,
float *RESTRICT_ALIAS  srcData,
size_t  texWidth,
size_t  texHeight,
size_t  texDepth 
)
static

◆ gaussFilterX()

static void Ogre::IrradianceVolume::gaussFilterX ( float *RESTRICT_ALIAS  dstData,
float *RESTRICT_ALIAS  srcData,
size_t  texWidth,
size_t  texHeight,
size_t  texDepth,
const float *RESTRICT_ALIAS  kernel,
int  kernelStart,
int  kernelEnd 
)
static

◆ gaussFilterY()

static void Ogre::IrradianceVolume::gaussFilterY ( float *RESTRICT_ALIAS  dstData,
float *RESTRICT_ALIAS  srcData,
size_t  texWidth,
size_t  texHeight,
size_t  texDepth,
const float *RESTRICT_ALIAS  kernel,
int  kernelStart,
int  kernelEnd 
)
static

◆ gaussFilterZ()

static void Ogre::IrradianceVolume::gaussFilterZ ( float *RESTRICT_ALIAS  dstData,
float *RESTRICT_ALIAS  srcData,
size_t  texWidth,
size_t  texHeight,
size_t  texDepth,
const float *RESTRICT_ALIAS  kernel,
int  kernelStart,
int  kernelEnd 
)
static

◆ getFadeAttenuationOverDistace()

bool Ogre::IrradianceVolume::getFadeAttenuationOverDistace ( ) const
inline

◆ getIrradianceCellSize()

const Vector3& Ogre::IrradianceVolume::getIrradianceCellSize ( ) const
inline

◆ getIrradianceMaxPower()

float Ogre::IrradianceVolume::getIrradianceMaxPower ( ) const
inline

◆ getIrradianceOrigin()

const Vector3& Ogre::IrradianceVolume::getIrradianceOrigin ( ) const
inline

◆ getIrradianceVolumeTexture()

TextureGpu* Ogre::IrradianceVolume::getIrradianceVolumeTexture ( ) const
inline

◆ getIrradSamplerblock()

const HlmsSamplerblock* Ogre::IrradianceVolume::getIrradSamplerblock ( ) const
inline

◆ getNumBlocksX()

uint32 Ogre::IrradianceVolume::getNumBlocksX ( ) const
inline

◆ getNumBlocksY()

uint32 Ogre::IrradianceVolume::getNumBlocksY ( ) const
inline

◆ getNumBlocksZ()

uint32 Ogre::IrradianceVolume::getNumBlocksZ ( ) const
inline

◆ getPowerScale()

float Ogre::IrradianceVolume::getPowerScale ( ) const
inline

◆ setFadeAttenuationOverDistace()

void Ogre::IrradianceVolume::setFadeAttenuationOverDistace ( bool  fade)
inline

Not really used. It's only use is keeping track of creation parameters.

◆ setIrradianceCellSize()

void Ogre::IrradianceVolume::setIrradianceCellSize ( const Vector3 cellSize)
inline

◆ setIrradianceMaxPower()

void Ogre::IrradianceVolume::setIrradianceMaxPower ( float  power)
inline

Not really used. It's only use is keeping track of creation parameters.

◆ setIrradianceOrigin()

void Ogre::IrradianceVolume::setIrradianceOrigin ( const Vector3 origin)
inline

◆ setPowerScale()

void Ogre::IrradianceVolume::setPowerScale ( float  power)
inline

◆ updateIrradianceVolumeTexture()

void Ogre::IrradianceVolume::updateIrradianceVolumeTexture ( )

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