|
| Forward3D (uint32 width, uint32 height, uint32 numSlices, uint32 lightsPerCell, float minDistance, float maxDistance, SceneManager *sceneManager) |
|
| ~Forward3D () override |
|
void | _changeRenderSystem (RenderSystem *newRs) |
|
void | _releaseManualHardwareResources () |
|
void | collectLights (Camera *camera) override |
|
void | fillConstBufferData (Viewport *viewport, bool bRequiresTextureFlipping, uint32 renderTargetHeight, IdString shaderSyntax, bool instancedStereo, float *RESTRICT_ALIAS passBufferPtr) const override |
| Fills 'passBufferPtr' with the necessary data for Forward3D rendering. More...
|
|
size_t | getConstBufferSize () const override |
| Returns the amount of bytes that fillConstBufferData is going to fill. More...
|
|
bool | getDebugMode () const |
|
bool | getDecalsEnabled () const |
|
bool | getEnableVpls () const |
|
bool | getFadeAttenuationRange () const |
|
bool | getFineLightMaskGranularity () const |
|
ForwardPlusMethods | getForwardPlusMethod () const override |
|
ReadOnlyBufferPacked * | 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...
|
|
uint32 | getHeight () const |
|
uint32 | getLightsPerCell () const |
|
float | getMaxDistance () const |
|
float | getMinDistance () const |
|
uint32 | getNumSlices () const |
|
uint32 | getWidth () const |
|
bool | isCacheDirty (const Camera *camera) const |
|
void | operator delete (void *ptr) |
|
void | operator delete (void *ptr, const char *, int, const char *) |
|
void | operator delete (void *ptr, void *) |
|
void | operator delete[] (void *ptr) |
|
void | operator delete[] (void *ptr, const char *, int, const char *) |
|
void * | operator new (size_t sz) |
|
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 *ptr) |
| placement operator new More...
|
|
void * | operator new[] (size_t sz) |
|
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
| array operator new, with debug line info More...
|
|
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...
|
|
void | setHlmsPassProperties (Hlms *hlms) override |
|
void Ogre::ForwardPlusBase::setFadeAttenuationRange |
( |
bool |
fade | ) |
|
|
inlineinherited |
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 );