Subversion Repositories gelsvn

Rev

Rev 346 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 346 Rev 349
Line 1... Line 1...
1
#ifndef __PATHTRACER_MATERIAL__HPP__
1
#ifndef __PATHTRACER_MATERIAL__HPP__
2
#define __PATHTRACER_MATERIAL__HPP__
2
#define __PATHTRACER_MATERIAL__HPP__
3
 
3
 
4
#include "core.hpp"
4
#include "core.hpp"
5
 
5
 
6
class material
6
class material
7
{
7
{
8
public:
8
public:
9
	material(float ior, float ext);
9
    material(float ior, float ext);
10
	virtual ~material(void) = 0;
10
    virtual ~material(void) = 0;
11
 
11
 
12
	virtual void sample(const ray&, hit_info&) const = 0;
12
    virtual void sample(const ray&, hit_info&) const = 0;
13
 
13
 
14
protected:
14
protected:
15
	
15
 
16
	//index of refraction (real part)
16
    //index of refraction (real part)
17
	float ior_;
17
    float ior_;
18
 
18
 
19
	//index of refraction (complex part)
19
    //index of refraction (complex part)
20
	float extinction_;
20
    float extinction_;
21
};
21
};
22
 
22
 
23
#endif
23
#endif
24
 
24
 
25
//02566 framework, Anders Wang Kristensen, awk@imm.dtu.dk, 2007
25
//02566 framework, Anders Wang Kristensen, awk@imm.dtu.dk, 2007