Foray Library
rapid prototyping framework for crossplatform development of vulkan hardware ray tracing applications
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
foray::scene::gcomp::LightManager Class Reference

Maintains a list of PunctualLight components. More...

#include <foray_lightmanager.hpp>

Inheritance diagram for foray::scene::gcomp::LightManager:
foray::scene::GlobalComponent foray::scene::Component::UpdateCallback foray::scene::Component foray::Polymorphic foray::NoMoveDefaults foray::Polymorphic

Public Member Functions

void CreateOrUpdate ()
 Collects lights and reuploads to device.
 
virtual void Update (SceneUpdateInfo &updateInfo) override
 
virtual int32_t GetOrder () const override
 
- Public Member Functions inherited from foray::scene::GlobalComponent
virtual SceneGetScene () override
 Scene this component is a part of. Casts mRegistry to Scene.
 
virtual RegistryGetGlobals () override
 Global component registry. Returns mRegistry.
 
virtual core::ContextGetContext () override
 Vulkan Context. Casts mRegistry to Scene and returns Scene->GetContext()
 
- Public Member Functions inherited from foray::scene::Component
virtual ~Component ()
 Destructor. Provide virtual constructors in inheriting classes, to make sure they get finalized correctly.
 
- Public Member Functions inherited from foray::NoMoveDefaults
 NoMoveDefaults ()=default
 
 NoMoveDefaults (const NoMoveDefaults &other)=delete
 
 NoMoveDefaults (NoMoveDefaults &&other)=default
 
NoMoveDefaultsoperator= (const NoMoveDefaults &other)=delete
 
- Public Member Functions inherited from foray::scene::Component::UpdateCallback
virtual void Update (TArg updateInfo)=0
 Invoked first each frame. Use for changes to the node hierarchy and transforms.
 
void Invoke (TArg updateInfo)
 

Protected Attributes

std::vector< SimpleLightmSimplifiedlights
 
std::unordered_map< ncomp::PunctualLight *, uint32_t > mComponentArrayBindings
 
util::DualBuffer mBuffer
 
- Protected Attributes inherited from foray::scene::Component
RegistrymRegistry = nullptr
 
std::string mName = ""
 

Additional Inherited Members

- Public Types inherited from foray::scene::Component::UpdateCallback
using TArg = SceneUpdateInfo &
 
- Public Attributes inherited from foray::scene::Component
friend Registry
 
- Static Public Attributes inherited from foray::scene::Component::UpdateCallback
static const bool ORDERED_EXECUTION = true
 
static const int32_t ORDER_TRANSFORM = 100
 
static const int32_t ORDER_DEVICEUPLOAD = 200
 
- Protected Member Functions inherited from foray::Polymorphic
virtual void __makeMePolymorphic ()
 

Detailed Description

Maintains a list of PunctualLight components.

Member Function Documentation

◆ CreateOrUpdate()

void foray::scene::gcomp::LightManager::CreateOrUpdate ( )

Collects lights and reuploads to device.

◆ GetOrder()

virtual int32_t foray::scene::gcomp::LightManager::GetOrder ( ) const
inlineoverridevirtual

◆ Update()

virtual void foray::scene::gcomp::LightManager::Update ( SceneUpdateInfo updateInfo)
overridevirtual

Member Data Documentation

◆ mBuffer

util::DualBuffer foray::scene::gcomp::LightManager::mBuffer
protected

◆ mComponentArrayBindings

std::unordered_map<ncomp::PunctualLight*, uint32_t> foray::scene::gcomp::LightManager::mComponentArrayBindings
protected

◆ mSimplifiedlights

std::vector<SimpleLight> foray::scene::gcomp::LightManager::mSimplifiedlights
protected

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