OGRE-Next  2.3
Object-Oriented Graphics Rendering Engine
Ogre::VctCascadeSetting Struct Reference

Contains VctLighting settings about each cascade that cannot be set by setting them directly via VctCascadedVoxelizer::getVctLighting. More...

#include <OgreVctCascadedVoxelizer.h>

Public Member Functions

 VctCascadeSetting ()
 
Vector3 getVoxelCellSize () const
 
void setOctantSubdivision (uint32 subdiv)
 
void setResolution (uint32 res)
 

Public Attributes

Vector3 areaHalfSize
 The area around the camera to voxelize. More...
 
bool bAutoMultiplier
 
bool bCorrectAreaLightShadows
 See VctImageVoxelizer::VctImageVoxelizer. More...
 
Vector3 cameraStepSize
 How much we let the camera move before updating the cascade Value is in range [1; inf) Camera is evaluated in quantized steps. More...
 
Vector3 lastCameraPosition
 
uint32 lightMask
 
uint32 octantSubdivision [3]
 See VctImageVoxelizer::dividideOctants These are the values passed to it when we have to perform a full rebuild. More...
 
float rayMarchStepScale
 
uint32 resolution [3]
 The resolution to set to voxelizer. More...
 
float thinWallCounter
 
VctImageVoxelizervoxelizer
 Valid ptr after VctCascadedVoxelizer::init. More...
 

Detailed Description

Contains VctLighting settings about each cascade that cannot be set by setting them directly via VctCascadedVoxelizer::getVctLighting.

Constructor & Destructor Documentation

◆ VctCascadeSetting()

Ogre::VctCascadeSetting::VctCascadeSetting ( )

Member Function Documentation

◆ getVoxelCellSize()

Vector3 Ogre::VctCascadeSetting::getVoxelCellSize ( ) const

◆ setOctantSubdivision()

void Ogre::VctCascadeSetting::setOctantSubdivision ( uint32  subdiv)
inline

◆ setResolution()

void Ogre::VctCascadeSetting::setResolution ( uint32  res)
inline

Member Data Documentation

◆ areaHalfSize

Vector3 Ogre::VctCascadeSetting::areaHalfSize

The area around the camera to voxelize.

The camera is at the center of this AABB

◆ bAutoMultiplier

bool Ogre::VctCascadeSetting::bAutoMultiplier

◆ bCorrectAreaLightShadows

bool Ogre::VctCascadeSetting::bCorrectAreaLightShadows

See VctImageVoxelizer::VctImageVoxelizer.

Recommended setting is true for the first cascade, false for the rest Or just false if you don't plan on using area lights (saves memory and performance)

◆ cameraStepSize

Vector3 Ogre::VctCascadeSetting::cameraStepSize

How much we let the camera move before updating the cascade Value is in range [1; inf) Camera is evaluated in quantized steps.

i.e. stepSize = cameraStepSize * 2.0 * areaHalfSize / resolution stepSize = cameraStepSize * getVoxelCellSize()

If cameraStepSize = 1, after the camera moves stepSize, we will move the cascades If cameraStepSize = 2, after the camera moves 2 * stepSize, we will move the cascades

Small step sizes may cause too much brightness jumping as VCT may not be stable Very big step sizes may cause periodic performance spikes or sudden changes in brightness

◆ lastCameraPosition

Vector3 Ogre::VctCascadeSetting::lastCameraPosition

◆ lightMask

uint32 Ogre::VctCascadeSetting::lightMask

◆ octantSubdivision

uint32 Ogre::VctCascadeSetting::octantSubdivision[3]

See VctImageVoxelizer::dividideOctants These are the values passed to it when we have to perform a full rebuild.

◆ rayMarchStepScale

float Ogre::VctCascadeSetting::rayMarchStepScale

◆ resolution

uint32 Ogre::VctCascadeSetting::resolution[3]

The resolution to set to voxelizer.

See also
VctLighting::update

◆ thinWallCounter

float Ogre::VctCascadeSetting::thinWallCounter

◆ voxelizer

VctImageVoxelizer* Ogre::VctCascadeSetting::voxelizer

Valid ptr after VctCascadedVoxelizer::init.

You can call:


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