2015-09-24 22:12:31 +00:00
|
|
|
#ifndef LIGHTSOURCE_H
|
|
|
|
#define LIGHTSOURCE_H
|
|
|
|
|
|
|
|
#include "software_global.h"
|
|
|
|
|
2015-11-18 18:37:00 +00:00
|
|
|
#include <vector>
|
|
|
|
|
2015-09-24 22:12:31 +00:00
|
|
|
namespace paysages {
|
|
|
|
namespace software {
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Source of dynamic lights.
|
|
|
|
*/
|
2015-11-09 21:30:46 +00:00
|
|
|
class SOFTWARESHARED_EXPORT LightSource {
|
|
|
|
public:
|
2015-09-24 22:12:31 +00:00
|
|
|
LightSource() = default;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Get the list of raw lights that may be applied at a given location.
|
|
|
|
*
|
2016-01-06 18:55:49 +00:00
|
|
|
* Returns true if lights were added to 'result'.
|
2015-09-24 22:12:31 +00:00
|
|
|
*/
|
2015-12-10 23:36:50 +00:00
|
|
|
virtual bool getLightsAt(vector<LightComponent> &result, const Vector3 &location) const = 0;
|
2015-09-24 22:12:31 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // LIGHTSOURCE_H
|