Subversion Repositories gelsvn

Rev

Rev 178 | Rev 421 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 178 Rev 195
1
#ifndef __MATERIAL_H__
1
#ifndef __MATERIAL_H__
2
#define __MATERIAL_H__
2
#define __MATERIAL_H__
3
 
3
 
4
#include <string>
4
#include <string>
5
#include <vector>
5
#include <vector>
6
#include "CGLA/Vec3f.h"
6
#include "CGLA/Vec3f.h"
7
#include "CGLA/Vec3i.h"
7
#include "CGLA/Vec3i.h"
8
 
8
 
9
namespace Geometry
9
namespace Geometry
10
{
10
{
11
		struct Material
11
		struct Material
12
		{
12
		{
13
				/// Name of material
13
				/// Name of material
14
				std::string name;
14
				std::string name;
15
				
15
				
16
				/// Diffuse reflection
16
				/// Diffuse reflection
17
				float diffuse[4];			
17
				float diffuse[4];			
18
				
18
				
19
				/// Ambient reflection
19
				/// Ambient reflection
20
				float ambient[4];
20
				float ambient[4];
21
				
21
				
22
				/// Specular reflection
22
				/// Specular reflection
23
				float specular[4];		
23
				float specular[4];		
24
				
24
				
25
				/// Specular exponent
25
				/// Specular exponent
26
				float shininess;			
26
				float shininess;			
27
 
27
 
28
			bool has_texture;
28
			bool has_texture;
29
				std::string tex_path, tex_name;
29
				std::string tex_path, tex_name;
30
				int tex_id;
30
				int tex_id;
31
 
31
 
32
			Material():	name("default"),
32
			Material():	name("default"),
33
					 tex_path(""), tex_name(""), tex_id(-1) 
33
					 tex_path(""), tex_name(""), tex_id(-1) 
34
						{
34
						{
35
								shininess = 0;
35
								shininess = 0;
36
								diffuse[0] = 0.8;
36
								diffuse[0] = 0.8f;
37
								diffuse[1] = 0.8;
37
								diffuse[1] = 0.8f;
38
								diffuse[2] = 0.8;
38
								diffuse[2] = 0.8f;
39
								diffuse[3] = 1.0;
39
								diffuse[3] = 1.0f;
40
								ambient[0] = 0.2;
40
								ambient[0] = 0.2f;
41
								ambient[1] = 0.2;
41
								ambient[1] = 0.2f;
42
								ambient[2] = 0.2;
42
								ambient[2] = 0.2f;
43
								ambient[3] = 1.0;
43
								ambient[3] = 1.0f;
44
								specular[0] = 0.0;
44
								specular[0] = 0.0f;
45
								specular[1] = 0.0;
45
								specular[1] = 0.0f;
46
								specular[2] = 0.0;
46
								specular[2] = 0.0f;
47
								specular[3] = 1.0;
47
								specular[3] = 1.0f;
48
						}
48
						}
49
		};
49
		};
50
}
50
}
51
 
51
 
52
#endif
52
#endif
53
 
53