rayzor
annotate src/light.h @ 17:79609d482762
the renderer renders, also fixed an unnoticed matrix conversion problem between scenegraph and min3d
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Mon, 14 Apr 2014 07:34:45 +0300 |
parents | 964f8ea5f095 |
children | 859ccadca671 |
rev | line source |
---|---|
nuclear@1 | 1 #ifndef LIGHT_H_ |
nuclear@1 | 2 #define LIGHT_H_ |
nuclear@1 | 3 |
nuclear@1 | 4 #include "vmath.h" |
nuclear@13 | 5 #include "snode.h" |
nuclear@1 | 6 |
nuclear@12 | 7 class Light : public SceneNode { |
nuclear@1 | 8 private: |
nuclear@17 | 9 float intens; |
nuclear@1 | 10 Vector3 color; |
nuclear@1 | 11 Vector3 atten; |
nuclear@1 | 12 |
nuclear@1 | 13 public: |
nuclear@1 | 14 Light(); |
nuclear@1 | 15 |
nuclear@17 | 16 void set_intensity(float val); |
nuclear@17 | 17 float get_intensity() const; |
nuclear@17 | 18 |
nuclear@1 | 19 void set_color(const Vector3 &color); |
nuclear@1 | 20 const Vector3 &get_color() const; |
nuclear@1 | 21 |
nuclear@17 | 22 // includes attenuation and intensity |
nuclear@17 | 23 Vector3 get_color(const Vector3 &pt) const; |
nuclear@17 | 24 |
nuclear@1 | 25 void set_attenuation(const Vector3 &atten); |
nuclear@1 | 26 const Vector3 &get_attenuation() const; |
nuclear@12 | 27 |
nuclear@17 | 28 float calc_attenuation(float d) const; |
nuclear@17 | 29 |
nuclear@12 | 30 void draw() const; |
nuclear@12 | 31 |
nuclear@17 | 32 bool intersect(const Ray &ray, RayHit *hit = 0) const; |
nuclear@1 | 33 }; |
nuclear@1 | 34 |
nuclear@1 | 35 #endif // LIGHT_H_ |