ForwardPlusBase.  
 More...
#include <OgreForwardPlusBase.h>
◆ CachedGridBufferVec
◆ ForwardPlusMethods
| Enumerator | 
|---|
| MethodForward3D |  | 
| MethodForwardClustered |  | 
| NumForwardPlusMethods |  | 
 
 
◆ ForwardPlusBase()
      
        
          | Ogre::ForwardPlusBase::ForwardPlusBase | ( | SceneManager * | sceneManager, | 
        
          |  |  | bool | decalsEnabled, | 
        
          |  |  | bool | cubemapProbesEnabled | 
        
          |  | ) |  |  | 
      
 
 
◆ ~ForwardPlusBase()
  
  | 
        
          | virtual Ogre::ForwardPlusBase::~ForwardPlusBase | ( |  | ) |  |  | virtual | 
 
 
◆ _changeRenderSystem()
      
        
          | void Ogre::ForwardPlusBase::_changeRenderSystem | ( | RenderSystem * | newRs | ) |  | 
      
 
 
◆ _releaseManualHardwareResources()
      
        
          | void Ogre::ForwardPlusBase::_releaseManualHardwareResources | ( |  | ) |  | 
      
 
 
◆ collectLights()
  
  | 
        
          | virtual void Ogre::ForwardPlusBase::collectLights | ( | Camera * | camera | ) |  |  | pure virtual | 
 
 
◆ fillConstBufferData()
  
  | 
        
          | virtual void Ogre::ForwardPlusBase::fillConstBufferData | ( | Viewport * | viewport, |  
          |  |  | bool | bRequiresTextureFlipping, |  
          |  |  | uint32 | renderTargetHeight, |  
          |  |  | IdString | shaderSyntax, |  
          |  |  | bool | instancedStereo, |  
          |  |  | float *RESTRICT_ALIAS | passBufferPtr |  
          |  | ) |  | const |  | pure virtual | 
 
 
◆ getConstBufferSize()
  
  | 
        
          | virtual size_t Ogre::ForwardPlusBase::getConstBufferSize | ( |  | ) | const |  | pure virtual | 
 
 
◆ getDebugMode()
  
  | 
        
          | bool Ogre::ForwardPlusBase::getDebugMode | ( |  | ) | const |  | inline | 
 
 
◆ getDecalsEnabled()
  
  | 
        
          | bool Ogre::ForwardPlusBase::getDecalsEnabled | ( |  | ) | const |  | inline | 
 
 
◆ getEnableVpls()
  
  | 
        
          | bool Ogre::ForwardPlusBase::getEnableVpls | ( |  | ) | const |  | inline | 
 
 
◆ getFadeAttenuationRange()
  
  | 
        
          | bool Ogre::ForwardPlusBase::getFadeAttenuationRange | ( |  | ) | const |  | inline | 
 
 
◆ getFineLightMaskGranularity()
  
  | 
        
          | bool Ogre::ForwardPlusBase::getFineLightMaskGranularity | ( |  | ) | const |  | inline | 
 
 
◆ getForwardPlusMethod()
◆ getGlobalLightListBuffer()
Cache the return value as internally we perform an O(N) search. 
 
 
◆ getGridBuffer()
Cache the return value as internally we perform an O(N) search. 
 
 
◆ isCacheDirty()
      
        
          | bool Ogre::ForwardPlusBase::isCacheDirty | ( | const Camera * | camera | ) | const | 
      
 
 
◆ setDebugMode()
  
  | 
        
          | void Ogre::ForwardPlusBase::setDebugMode | ( | bool | debugMode | ) |  |  | inline | 
 
Turns on visualization of light cell occupancy. 
 
 
◆ setEnableVpls()
  
  | 
        
          | void Ogre::ForwardPlusBase::setEnableVpls | ( | bool | enable | ) |  |  | inline | 
 
 
◆ setFadeAttenuationRange()
  
  | 
        
          | void Ogre::ForwardPlusBase::setFadeAttenuationRange | ( | bool | fade | ) |  |  | inline | 
 
Attenuates the light by the attenuation range, causing smooth endings when at the end of the light range instead of a sudden sharp termination. 
This isn't physically based (light's range is infinite), but looks very well, and makes more intuitive to manipulate a light by controlling its range instead of controlling its radius. 
- See also
- Light::setAttenuationBasedOnRadius and 
- 
setAttenuation. And even when controlling the light by its radius, you don't have to worry so much about the threshold's value being accurate. It has a tendency to make lights dimmer though. That's the price to pay for this optimization and having more intuitive controls. Enabled by default.
In math: atten *= max( (attenRange - fDistance) / attenRange, 0.0f ); 
 
 
◆ setFineLightMaskGranularity()
  
  | 
        
          | void Ogre::ForwardPlusBase::setFineLightMaskGranularity | ( | bool | useFineGranularity | ) |  |  | inline | 
 
Toggles whether light masks will be obeyed per object & per light by doing: if( movableObject->getLightMask() & light->getLightMask() ) doLighting( movableObject light ); Note this toggle only affects Forward+ lights. 
You may want to see HlmsPbs::setFineLightMaskGranularity for control over Forward lights. If you only need coarse granularity control over Forward+ lights, you may get higher performance via CompositorPassSceneDef::mLightVisibilityMask (light_visibility_mask keyword in scripts). 
 
 
◆ setHlmsPassProperties()
  
  | 
        
          | virtual void Ogre::ForwardPlusBase::setHlmsPassProperties | ( | Hlms * | hlms | ) |  |  | virtual | 
 
 
◆ MaxCubemapProbeRq
  
  | 
        
          | const uint32 Ogre::ForwardPlusBase::MaxCubemapProbeRq |  | static | 
 
 
◆ MaxDecalRq
  
  | 
        
          | const uint32 Ogre::ForwardPlusBase::MaxDecalRq |  | static | 
 
 
◆ MinCubemapProbeRq
  
  | 
        
          | const uint32 Ogre::ForwardPlusBase::MinCubemapProbeRq |  | static | 
 
 
◆ MinDecalRq
  
  | 
        
          | const uint32 Ogre::ForwardPlusBase::MinDecalRq |  | static | 
 
 
The documentation for this class was generated from the following file: