Geno3D
A simple 3D visualisation library, using C++/SFML.
 All Classes Functions Variables
SunLight.hpp
1 #pragma once
2 
3 #include <eigen3/Eigen/Dense>
4 #include "Light.hpp"
5 
6 namespace Geno3D
7 {
11  class SunLight : public Light {
12  public:
19  SunLight(Eigen::Vector3f direction);
20  Eigen::VectorXf vertexLighting(const Eigen::Matrix3Xf& normals) override;
25  Eigen::Vector3f getDirection() { return direction; }
33  void setDirection(float x, float y, float z);
34  void translate(float x, float y, float z) override;
35  void scale(float m) override {};
36  void rotate(float x, float y, float z) override;
37  void transform(const Transformation& t) override;
38  ~SunLight() {}
39  private:
41  Eigen::Vector3f direction;
42  };
43 }
SunLight(Eigen::Vector3f direction)
Definition: SunLight.cpp:6
Definition: Transformation.hpp:12
void transform(const Transformation &t) override
Definition: SunLight.cpp:31
void rotate(float x, float y, float z) override
Definition: SunLight.cpp:23
Eigen::VectorXf vertexLighting(const Eigen::Matrix3Xf &normals) override
Definition: SunLight.cpp:11
void translate(float x, float y, float z) override
Definition: SunLight.cpp:17
Definition: Light.hpp:12
Definition: SunLight.hpp:11
Eigen::Vector3f direction
The 3d direction unit vector of the light.
Definition: SunLight.hpp:41
Eigen::Vector3f getDirection()
Definition: SunLight.hpp:25
void setDirection(float x, float y, float z)
void scale(float m) override
Definition: SunLight.hpp:35