|
| ForwardPlusBase (SceneManager *sceneManager, bool decalsEnabled, bool cubemapProbesEnabled) |
|
virtual | ~ForwardPlusBase () |
|
void | _changeRenderSystem (RenderSystem *newRs) |
|
virtual void | collectLights (Camera *camera)=0 |
|
virtual void | fillConstBufferData (Viewport *viewport, TextureGpu *renderTarget, IdString shaderSyntax, bool instancedStereo, float *RESTRICT_ALIAS passBufferPtr) const =0 |
| Fills 'passBufferPtr' with the necessary data for ForwardPlusBase rendering. More...
|
|
virtual size_t | getConstBufferSize (void) const =0 |
| Returns the amount of bytes that fillConstBufferData is going to fill. More...
|
|
bool | getDebugMode (void) const |
|
bool | getDecalsEnabled (void) const |
|
bool | getEnableVpls (void) const |
|
bool | getFadeAttenuationRange (void) const |
|
bool | getFineLightMaskGranularity (void) const |
|
virtual ForwardPlusMethods | getForwardPlusMethod (void) const =0 |
|
TexBufferPacked * | getGlobalLightListBuffer (const Camera *camera) const |
| Cache the return value as internally we perform an O(N) search. More...
|
|
TexBufferPacked * | getGridBuffer (const Camera *camera) const |
| Cache the return value as internally we perform an O(N) search. More...
|
|
bool | isCacheDirty (const Camera *camera) const |
|
void | operator delete (void *ptr) |
|
void | operator delete (void *ptr, void *) |
|
void | operator delete (void *ptr, const char *, int, const char *) |
|
void | operator delete[] (void *ptr) |
|
void | operator delete[] (void *ptr, const char *, int, const char *) |
|
void * | operator new (size_t sz, const char *file, int line, const char *func) |
| operator new, with debug line info More...
|
|
void * | operator new (size_t sz) |
|
void * | operator new (size_t sz, void *ptr) |
| placement operator new More...
|
|
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
| array operator new, with debug line info More...
|
|
void * | operator new[] (size_t sz) |
|
void | setDebugMode (bool debugMode) |
| Turns on visualization of light cell occupancy. More...
|
|
void | setEnableVpls (bool enable) |
|
void | setFadeAttenuationRange (bool fade) |
| Attenuates the light by the attenuation range, causing smooth endings when at the end of the light range instead of a sudden sharp termination. More...
|
|
void | setFineLightMaskGranularity (bool useFineGranularity) |
| 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. More...
|
|
virtual void | setHlmsPassProperties (Hlms *hlms) |
|
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 );