Kinetic Visualization
 All Classes Functions Variables Pages
Material.h
1 #pragma once
2 #include <glm\glm.hpp>
3 #include <boost/shared_ptr.hpp>
4 
5 class Material
6 {
7 public:
8  typedef boost::shared_ptr<Material> MaterialPtr;
9 
10 public:
14  Material();
23  Material(glm::vec4 emissive, glm::vec4 ambient, glm::vec4 diffuse, glm::vec4 specular, float shininess);
24  ~Material();
25 
30  void SetEmissive(glm::vec4 emissive);
35  void SetAmbient(glm::vec4 ambient);
40  void SetDiffuse(glm::vec4 diffuse);
45  void SetSpecular(glm::vec4 specular);
50  void SetShininess(float shininess);
51 
56  glm::vec4 GetEmissive();
61  glm::vec4 GetAmbient();
66  glm::vec4 GetDiffuse();
71  glm::vec4 GetSpecular();
76  float GetShininess();
77 
78 private:
79  glm::vec4 m_emissive; // default: ColorRGBA(0,0,0,1)
80  glm::vec4 m_ambient; // default: ColorRGBA(0.2,0.2,0.2,1)
81  glm::vec4 m_diffuse; // default: ColorRGBA(0.8,0.8,0.8,1)
82  glm::vec4 m_specular; // default: ColorRGBA(0,0,0,1)
83  float m_shininess; // default: 1
84 };
85