2016-02-13 09:02:47 +00:00
|
|
|
#ifndef __PSHAG_CLIGHT_HPP__
|
|
|
|
#define __PSHAG_CLIGHT_HPP__
|
2016-02-09 22:52:33 +00:00
|
|
|
|
2016-02-13 05:16:39 +00:00
|
|
|
#include "CVector3f.hpp"
|
|
|
|
#include "CColor.hpp"
|
|
|
|
|
2016-02-13 09:02:47 +00:00
|
|
|
namespace pshag
|
2016-02-09 22:52:33 +00:00
|
|
|
{
|
|
|
|
|
|
|
|
enum class ELightType
|
|
|
|
{
|
|
|
|
LocalAmbient,
|
|
|
|
Directional,
|
|
|
|
Custom,
|
|
|
|
Spot,
|
|
|
|
Spot2,
|
|
|
|
LocalAmbient2
|
|
|
|
};
|
|
|
|
enum class EFalloffType
|
|
|
|
{
|
|
|
|
Constant,
|
|
|
|
Linear,
|
|
|
|
Quadratic
|
|
|
|
};
|
|
|
|
|
|
|
|
class CLight
|
|
|
|
{
|
|
|
|
public:
|
2016-02-13 05:16:39 +00:00
|
|
|
static CLight BuildDirectional(const Zeus::CVector3f& dir, const Zeus::CColor& color);
|
|
|
|
static CLight BuildSpot(const Zeus::CVector3f& pos, const Zeus::CVector3f& dir,
|
|
|
|
const Zeus::CColor& color, float angle);
|
|
|
|
static CLight BuildCustom(const Zeus::CVector3f& pos, const Zeus::CVector3f& dir,
|
|
|
|
const Zeus::CColor& color, float constAtt, float linearAtt, float quadAtt,
|
|
|
|
float intensity, float, float);
|
2016-02-09 22:52:33 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2016-02-13 09:02:47 +00:00
|
|
|
#endif // __PSHAG_CLIGHT_HPP__
|