Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/model/light.h')
-rw-r--r--src/model/light.h77
1 files changed, 54 insertions, 23 deletions
diff --git a/src/model/light.h b/src/model/light.h
index b834623..00587f3 100644
--- a/src/model/light.h
+++ b/src/model/light.h
@@ -10,45 +10,76 @@
#include "math/vector3f.h"
#include "math/color.h"
-namespace model {
+namespace model
+{
/// an exterior light
class Light
{
public:
Light();
-
+
Light(math::Vector3f const & location, math::Color const & color, bool strobe=false);
-
+
~Light();
- inline math::Vector3f const & location() const { return light_location; }
-
- inline math::Color const & color() const { return light_color; };
-
+ inline math::Vector3f const & location() const
+ {
+ return light_location;
+ }
+
+ inline math::Color const & color() const
+ {
+ return light_color;
+ };
+
/// true if this is a strobe light
- inline bool strobe() const { return light_strobe; }
-
+ inline bool strobe() const
+ {
+ return light_strobe;
+ }
+
/// true if this light has entity color
- inline bool entity() const { return light_entity; }
-
+ inline bool entity() const
+ {
+ return light_entity;
+ }
+
/// size if the light, default is 1.0f
- inline float radius() const { return light_radius; }
+ inline float radius() const
+ {
+ return light_radius;
+ }
/// strobe time offset, in seconds
- inline float offset() const { return light_offset; }
-
+ inline float offset() const
+ {
+ return light_offset;
+ }
+
/// frequency in strobes per second
- inline float frequency() const { return light_frequency; }
-
+ inline float frequency() const
+ {
+ return light_frequency;
+ }
+
/// fraction a strobe light will be on, default is 0.5f
- inline float time() const { return light_time; }
-
+ inline float time() const
+ {
+ return light_time;
+ }
+
/// flare texture number
- inline unsigned int flare() const { return light_flare; }
-
+ inline unsigned int flare() const
+ {
+ return light_flare;
+ }
+
/// render texture number
- inline size_t texture() const { return render_texture; }
+ inline size_t texture() const
+ {
+ return render_texture;
+ }
math::Vector3f light_location;
math::Color light_color;
@@ -58,9 +89,9 @@ public:
float light_frequency;
float light_offset;
float light_time;
-
+
unsigned int light_flare;
-
+
size_t render_texture;
};