OGRE-Next 3.0.0
Object-Oriented Graphics Rendering Engine
Loading...
Searching...
No Matches
Ogre::Forward3D Class Reference

Forward3D. More...

#include <OgreForward3D.h>

Inheritance diagram for Ogre::Forward3D:

Public Member Functions

 Forward3D (uint32 width, uint32 height, uint32 numSlices, uint32 lightsPerCell, float minDistance, float maxDistance, SceneManager *sceneManager)
 ~Forward3D () override
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.
size_t getConstBufferSize () const override
 Returns the amount of bytes that fillConstBufferData is going to fill.
ForwardPlusMethods getForwardPlusMethod () const override
uint32 getHeight () const
uint32 getLightsPerCell () const
float getMaxDistance () const
float getMinDistance () const
uint32 getNumSlices () const
uint32 getWidth () const
void setHlmsPassProperties (Hlms *hlms) override
Public Member Functions inherited from Ogre::ForwardPlusBase
 ForwardPlusBase (SceneManager *sceneManager, bool decalsEnabled, bool cubemapProbesEnabled)
virtual ~ForwardPlusBase ()
void _changeRenderSystem (RenderSystem *newRs)
void _releaseManualHardwareResources ()
bool getDebugMode () const
bool getDecalsEnabled () const
bool getEnableVpls () const
bool getFadeAttenuationRange () const
bool getFineLightMaskGranularity () const
ReadOnlyBufferPackedgetGlobalLightListBuffer (const Camera *camera) const
 Cache the return value as internally we perform an O(N) search.
TexBufferPackedgetGridBuffer (const Camera *camera) const
 Cache the return value as internally we perform an O(N) search.
bool isCacheDirty (const Camera *camera) const
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.

Additional Inherited Members

Public Types inherited from Ogre::ForwardPlusBase
typedef vector< CachedGridBuffer >::type CachedGridBufferVec
enum  ForwardPlusMethods { MethodForward3D , MethodForwardClustered , NumForwardPlusMethods }
Static Public Attributes inherited from Ogre::ForwardPlusBase
static const uint32 MaxCubemapProbeRq
static const uint32 MaxDecalRq
static const uint32 MinCubemapProbeRq
static const uint32 MinDecalRq

Detailed Description

Constructor & Destructor Documentation

◆ Forward3D()

Ogre::Forward3D::Forward3D ( uint32 width,
uint32 height,
uint32 numSlices,
uint32 lightsPerCell,
float minDistance,
float maxDistance,
SceneManager * sceneManager )

◆ ~Forward3D()

Ogre::Forward3D::~Forward3D ( )
override

Member Function Documentation

◆ collectLights()

void Ogre::Forward3D::collectLights ( Camera * camera)
overridevirtual

Implements Ogre::ForwardPlusBase.

◆ fillConstBufferData()

void Ogre::Forward3D::fillConstBufferData ( Viewport * viewport,
bool bRequiresTextureFlipping,
uint32 renderTargetHeight,
IdString shaderSyntax,
bool instancedStereo,
float *RESTRICT_ALIAS passBufferPtr ) const
overridevirtual

Fills 'passBufferPtr' with the necessary data for Forward3D rendering.

See also
getConstBufferSize
Remarks
Assumes 'passBufferPtr' is aligned to a vec4/float4 boundary.

Implements Ogre::ForwardPlusBase.

References RESTRICT_ALIAS.

◆ getConstBufferSize()

size_t Ogre::Forward3D::getConstBufferSize ( ) const
overridevirtual

Returns the amount of bytes that fillConstBufferData is going to fill.

Implements Ogre::ForwardPlusBase.

◆ getForwardPlusMethod()

ForwardPlusMethods Ogre::Forward3D::getForwardPlusMethod ( ) const
inlineoverridevirtual

◆ getHeight()

uint32 Ogre::Forward3D::getHeight ( ) const
inline

◆ getLightsPerCell()

uint32 Ogre::Forward3D::getLightsPerCell ( ) const
inline

◆ getMaxDistance()

float Ogre::Forward3D::getMaxDistance ( ) const
inline

◆ getMinDistance()

float Ogre::Forward3D::getMinDistance ( ) const
inline

◆ getNumSlices()

uint32 Ogre::Forward3D::getNumSlices ( ) const
inline

◆ getWidth()

uint32 Ogre::Forward3D::getWidth ( ) const
inline

◆ setHlmsPassProperties()

void Ogre::Forward3D::setHlmsPassProperties ( Hlms * hlms)
overridevirtual

Reimplemented from Ogre::ForwardPlusBase.


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