14 Material(void) : m_Shininess( 0.0f ) {}
17 float ambient_r , float ambient_g , float ambient_b , float ambient_a ,
18 float diffuse_r , float diffuse_g , float diffuse_b , float diffuse_a ,
19 float specular_r , float specular_g , float specular_b , float specular_a ,
20 float emission_r , float emission_g , float emission_b , float emission_a ,
23 : m_Ambient ( ambient_r , ambient_g , ambient_b , ambient_a ) ,
24 m_Diffuse ( diffuse_r , diffuse_g , diffuse_b , diffuse_a ) ,
25 m_Specular( specular_r , specular_g , specular_b , specular_a ) ,
26 m_Emission( emission_r , emission_g , emission_b , emission_a ) ,
27 m_Shininess( shininess )
32 const float* i_ambient ,
33 const float* i_diffuse ,
34 const float* i_specular ,
35 const float* i_emission ,
38 : m_Ambient ( i_ambient[0] , i_ambient[1] , i_ambient[2] , i_ambient[3] ) ,
39 m_Diffuse ( i_diffuse[0] , i_diffuse[1] , i_diffuse[2] , i_diffuse[3] ) ,
40 m_Specular( i_specular[0] , i_specular[1] , i_specular[2] , i_specular[3] ) ,
41 m_Emission( i_emission[0] , i_emission[1] , i_emission[2] , i_emission[3] ) ,
42 m_Shininess( i_shininess )
47 float ambient_r , float ambient_g , float ambient_b , float ambient_a ,
48 float diffuse_r , float diffuse_g , float diffuse_b , float diffuse_a ,
49 float specular_r , float specular_g , float specular_b , float specular_a ,
52 : m_Ambient ( ambient_r , ambient_g , ambient_b , ambient_a ) ,
53 m_Diffuse ( diffuse_r , diffuse_g , diffuse_b , diffuse_a ) ,
54 m_Specular( specular_r , specular_g , specular_b , specular_a ) ,
55 m_Emission( 0.0f , 0.0f , 0.0f , 1.0f ) ,
56 m_Shininess( shininess )
61 const float* i_ambient ,
62 const float* i_diffuse ,
63 const float* i_specular ,
66 : m_Ambient ( i_ambient[0] , i_ambient[1] , i_ambient[2] , i_ambient[3] ) ,
67 m_Diffuse ( i_diffuse[0] , i_diffuse[1] , i_diffuse[2] , i_diffuse[3] ) ,
68 m_Specular( i_specular[0] , i_specular[1] , i_specular[2] , i_specular[3] ) ,
69 m_Emission( 0.0f , 0.0f , 0.0f , 1.0f ) ,
70 m_Shininess( i_shininess )
73 Material(const Material& m) :
74 m_Ambient ( m.m_Ambient ),
75 m_Diffuse ( m.m_Diffuse ),
76 m_Specular ( m.m_Specular ),
77 m_Emission ( m.m_Emission ),
78 m_Shininess ( m.m_Shininess )
82 void SetAlphaAll( float i_alpha )
84 m_Ambient .a() = i_alpha;
85 m_Diffuse .a() = i_alpha;
86 m_Specular .a() = i_alpha;
87 m_Emission .a() = i_alpha;
100 // ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
102 class DoublesideMaterial
105 DoublesideMaterial(void) {}
107 DoublesideMaterial( const Material& i_material )
108 : m_FrontMaterial( i_material )
109 , m_BackMaterial( i_material )
112 DoublesideMaterial( const Material& i_front_mat , const Material& i_back_mat )
113 : m_FrontMaterial( i_front_mat )
114 , m_BackMaterial( i_back_mat )
119 lgr::Material m_FrontMaterial;
120 lgr::Material m_BackMaterial;