OGRE-Next  4.0.0unstable
Object-Oriented Graphics Rendering Engine
Ogre::IrradianceFieldSettings Struct Reference

#include <OgreIrradianceField.h>

Public Member Functions

 IrradianceFieldSettings ()
 
void createSubsamples ()
 
uint8 getBorderedDepthResolution () const
 
uint8 getBorderedIrradResolution () const
 Returns mIrradianceResolution + 2u, since we need to reserverve 1 pixel border around the probe for proper interpolation. More...
 
void getDepthProbeFullResolution (uint32 &outWidth, uint32 &outHeight) const
 
void getIrradProbeFullResolution (uint32 &outWidth, uint32 &outHeight) const
 
Vector3 getNumProbes3f () const
 
uint32 getNumRaysPerIrradiancePixel () const
 
const vector< Vector2 >::type & getSubsamples () const
 
uint32 getTotalNumProbes () const
 
bool isRaster () const
 
void testValidity ()
 

Public Attributes

uint8 mDepthProbeResolution
 Square resolution of a single probe, depth variance, e.g. 8u means each probe is 8x8. More...
 
uint8 mIrradianceResolution
 Square resolution of a single probe, irradiance e.g. More...
 
uint32 mNumProbes [3]
 Number of probes in all three XYZ axes. More...
 
uint16 mNumRaysPerPixel
 Number of rays per pixel in terms of mDepthProbeResolution. More...
 
RasterParams mRasterParams
 Use rasterization to generate light & depth data, instead of voxelization. More...
 

Constructor & Destructor Documentation

◆ IrradianceFieldSettings()

Ogre::IrradianceFieldSettings::IrradianceFieldSettings ( )

Member Function Documentation

◆ createSubsamples()

void Ogre::IrradianceFieldSettings::createSubsamples ( )

◆ getBorderedDepthResolution()

uint8 Ogre::IrradianceFieldSettings::getBorderedDepthResolution ( ) const

◆ getBorderedIrradResolution()

uint8 Ogre::IrradianceFieldSettings::getBorderedIrradResolution ( ) const

Returns mIrradianceResolution + 2u, since we need to reserverve 1 pixel border around the probe for proper interpolation.

This means a 8x8 probe actually occupies 10x10.

◆ getDepthProbeFullResolution()

void Ogre::IrradianceFieldSettings::getDepthProbeFullResolution ( uint32 outWidth,
uint32 outHeight 
) const

◆ getIrradProbeFullResolution()

void Ogre::IrradianceFieldSettings::getIrradProbeFullResolution ( uint32 outWidth,
uint32 outHeight 
) const

◆ getNumProbes3f()

Vector3 Ogre::IrradianceFieldSettings::getNumProbes3f ( ) const

◆ getNumRaysPerIrradiancePixel()

uint32 Ogre::IrradianceFieldSettings::getNumRaysPerIrradiancePixel ( ) const

◆ getSubsamples()

const vector<Vector2>::type& Ogre::IrradianceFieldSettings::getSubsamples ( ) const
inline

◆ getTotalNumProbes()

uint32 Ogre::IrradianceFieldSettings::getTotalNumProbes ( ) const

◆ isRaster()

bool Ogre::IrradianceFieldSettings::isRaster ( ) const

◆ testValidity()

void Ogre::IrradianceFieldSettings::testValidity ( )
inline

References OGRE_ASSERT_LOW.

Member Data Documentation

◆ mDepthProbeResolution

uint8 Ogre::IrradianceFieldSettings::mDepthProbeResolution

Square resolution of a single probe, depth variance, e.g. 8u means each probe is 8x8.

◆ mIrradianceResolution

uint8 Ogre::IrradianceFieldSettings::mIrradianceResolution

Square resolution of a single probe, irradiance e.g.

4u means each probe is 4x4. Must be mIrradianceResolution <= mDepthProbeResolution mDepthProbeResolution must be multiple of mIrradianceResolution

◆ mNumProbes

uint32 Ogre::IrradianceFieldSettings::mNumProbes[3]

Number of probes in all three XYZ axes.

Must be power of two

◆ mNumRaysPerPixel

uint16 Ogre::IrradianceFieldSettings::mNumRaysPerPixel

Number of rays per pixel in terms of mDepthProbeResolution.

e.g. if mNumRaysPerPixel = 4, mDepthProbeResolution = 16 and mIrradianceResolution = 8, then the depth texture has 4 rays per pixel, but the irradiance texture will have 16 rays per pixel

◆ mRasterParams

RasterParams Ogre::IrradianceFieldSettings::mRasterParams

Use rasterization to generate light & depth data, instead of voxelization.


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