FLightBatch

namespace marengine
class FLightBatch : public ILightBatch

Subclassed by FPointLightBatch

Public Functions

int32 getLightSSBO() const final
void passLightSSBO(int32 index) final

Protected Attributes

uint32_t p_lightSSBO = {0}
class FLightBatchFactory : public ILightBatchFactory

Public Functions

FPointLightBatch *emplacePointLightBatch() final
FLightBatchStorage *getStorage() const

Private Members

FLightBatchStorage m_storage
class FLightBatchStorage : public ILightBatchStorage

Public Functions

void reset() final
FPointLightBatch *getPointLightBatch() const final
uint32 getCountPointLightBatch() const final

Private Members

FPointLightBatch m_pointLightBatch
class FPointLightBatch : public FLightBatch

Public Functions

void reset()
const float *getBatchData() const final
uint32 getCountLight() const final
bool shouldBeBatched(const Entity &entity) const final
bool canBeBatched(const Entity &entityWithLight) const final
void submitToBatch(const Entity &entity) final
void updateLight(const Entity &entity)
ELightBatchType getType() const final

Private Members

std::vector<FPointLight> m_lights