|
| Forward3D (uint32 width, uint32 height, uint32 numSlices, uint32 lightsPerCell, float minDistance, float maxDistance, SceneManager *sceneManager) |
|
virtual | ~Forward3D () |
|
void | _changeRenderSystem (RenderSystem *newRs) |
|
virtual void | collectLights (Camera *camera) |
|
virtual void | fillConstBufferData (Viewport *viewport, RenderTarget *renderTarget, IdString shaderSyntax, float *RESTRICT_ALIAS passBufferPtr) const |
| Fills 'passBufferPtr' with the necessary data for Forward3D rendering.
|
|
virtual size_t | getConstBufferSize (void) const |
| Returns the amount of bytes that fillConstBufferData is going to fill.
|
|
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 |
|
TexBufferPacked * | getGlobalLightListBuffer (Camera *camera) const |
| Cache the return value as internally we perform an O(N) search.
|
|
TexBufferPacked * | getGridBuffer (Camera *camera) const |
| Cache the return value as internally we perform an O(N) search.
|
|
uint32 | getHeight (void) const |
|
uint32 | getLightsPerCell (void) const |
|
float | getMaxDistance (void) const |
|
float | getMinDistance (void) const |
|
uint32 | getNumSlices (void) const |
|
uint32 | getWidth (void) 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
|
|
void * | operator new (size_t sz, void *ptr) |
| placement operator new
|
|
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
|
|
void | setDebugMode (bool debugMode) |
| Turns on visualization of light cell occupancy.
|
|
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.
|
|
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.
|
|
virtual void | setHlmsPassProperties (Hlms *hlms) |
|
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 );