OGRE 2.1
Object-Oriented Graphics Rendering Engine
Loading...
Searching...
No Matches
Ogre::InstantRadiosity::AreaOfInterest Struct Reference

Areas of Interest are defined by both AABB and distance (can be 0). More...

#include <OgreInstantRadiosity.h>

Public Member Functions

 AreaOfInterest (const Aabb &_aabb, Real _sphereRadius)
 

Public Attributes

Aabb aabb
 
Real sphereRadius
 

Detailed Description

Areas of Interest are defined by both AABB and distance (can be 0).

AoIs serve two purposes:

  1. Define where to shoot the rays (i.e. windows, holes, etc)
  2. Limit the scope of the rays for performance rasons.

We will shoot rays towards the AABB from the largest distance between the AABB and the sphere of radius sphereRadius and center at aabb.mCenter. Only the hits that lay inside the AABB or the sphere will be considered.

Example 1: Let's suppose for performance reasons you want to restrict AoI to four buildings in a city, In this case you set aabb to encompass all 4 buildings, and most likely sphereRadius to 0.

Example 2: You have a big building, but only want to shoot rays against the windows to avoid generating many unnecesary VPLs that hit the outer walls of the building. In this case you generate multiple AABBs each with the shape of each window, and set radius to a large value that will create A SPHERE with sphereRadius and center at aabb.mCenter. This distance will ensure the rays are hit from a place far enough to hit other walls and buidings occluding this object (i.e. the sphere should encompass the entire room or the entire house)

Constructor & Destructor Documentation

◆ AreaOfInterest()

Ogre::InstantRadiosity::AreaOfInterest::AreaOfInterest ( const Aabb _aabb,
Real  _sphereRadius 
)
inline

Member Data Documentation

◆ aabb

Aabb Ogre::InstantRadiosity::AreaOfInterest::aabb

◆ sphereRadius

Real Ogre::InstantRadiosity::AreaOfInterest::sphereRadius

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