3#include "resources/ResourcesManager.hpp"
4#include "resources/Buffer.hpp"
5#include "system/Codable.hpp"
Represent the smallest axis-aligne box containing a given object or region of space.
Definition: Bounds.hpp:28
Store environment lighting for reflections.
Definition: LightProbe.hpp:12
const Texture * _envmap
The environment map.
Definition: LightProbe.hpp:111
glm::vec3 _position
The probe location.
Definition: LightProbe.hpp:115
Type
Definition: LightProbe.hpp:16
@ DYNAMIC
Generated in engine.
@ STATIC
Loaded from disk, never updated.
bool decode(const KeyValues ¶ms, Storage options)
Definition: LightProbe.cpp:4
const glm::vec3 & extent() const
Definition: LightProbe.hpp:89
const glm::vec2 & rotationCosSin() const
Definition: LightProbe.hpp:101
std::shared_ptr< Buffer > _shCoeffs
The irradiance representation.
Definition: LightProbe.hpp:112
Type _type
The type of probe.
Definition: LightProbe.hpp:114
glm::vec3 _center
The probe parallax proxy center.
Definition: LightProbe.hpp:118
Type type() const
Definition: LightProbe.hpp:71
glm::vec2 _rotCosSin
Probe orientation trigonometric cached values.
Definition: LightProbe.hpp:119
glm::vec3 _extent
The probe parallax proxy extent.
Definition: LightProbe.hpp:117
const glm::vec3 & center() const
Definition: LightProbe.hpp:93
const float & rotation() const
Definition: LightProbe.hpp:97
void updateSize(const BoundingBox &_bbox)
Definition: LightProbe.cpp:108
const glm::vec3 & position() const
Definition: LightProbe.hpp:77
float fade() const
Definition: LightProbe.hpp:85
const std::shared_ptr< Buffer > & shCoeffs() const
Definition: LightProbe.hpp:107
const Texture * map() const
Definition: LightProbe.hpp:104
KeyValues encode() const
Definition: LightProbe.cpp:78
float _rotation
The probe orientation around a vertical axis,.
Definition: LightProbe.hpp:121
void registerEnvironment(const Texture *envmap, const std::shared_ptr< Buffer > &shCoeffs)
Definition: LightProbe.cpp:103
const glm::vec3 & size() const
Definition: LightProbe.hpp:81
float _fade
The probe effect fading margin around its area of effect.
Definition: LightProbe.hpp:120
glm::vec3 _size
The probe area of effect.
Definition: LightProbe.hpp:116
Represents a texture containing one or more images, stored on the CPU and/or GPU.
Definition: Texture.hpp:12
Storage
Storage and loading options.
Definition: ResourcesManager.hpp:14
Represent a key-values tuple.
Definition: Config.hpp:9