2016-07-12 17:40:45 +00:00
|
|
|
#pragma once
|
2013-12-08 16:56:59 +00:00
|
|
|
|
|
|
|
#include "software_global.h"
|
|
|
|
|
|
|
|
namespace paysages {
|
|
|
|
namespace software {
|
|
|
|
|
|
|
|
/**
|
2016-01-03 18:21:23 +00:00
|
|
|
* Interface for rendering parts that can alter light.
|
2013-12-08 16:56:59 +00:00
|
|
|
*/
|
2015-11-09 21:30:46 +00:00
|
|
|
class SOFTWARESHARED_EXPORT LightFilter {
|
|
|
|
public:
|
2013-12-08 16:56:59 +00:00
|
|
|
/**
|
2016-01-03 18:21:23 +00:00
|
|
|
* Apply filtering on a light component.
|
2013-12-08 16:56:59 +00:00
|
|
|
*
|
|
|
|
* This will alter the component and return if the component is still
|
|
|
|
* useful.
|
|
|
|
*/
|
2013-12-17 22:45:09 +00:00
|
|
|
virtual bool applyLightFilter(LightComponent &light, const Vector3 &at) = 0;
|
2013-12-08 16:56:59 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|