Subversion Repositories gelsvn

Rev

Rev 353 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 353 Rev 630
1
#ifndef __PATHTRACER_MATERIAL__H__
1
#ifndef __PATHTRACER_MATERIAL__H__
2
#define __PATHTRACER_MATERIAL__H__
2
#define __PATHTRACER_MATERIAL__H__
3
 
3
 
4
#include "core.h"
4
#include "core.h"
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
26
 
26
 
27
 
27
 
28

Generated by GNU Enscript 1.6.6.
28

Generated by GNU Enscript 1.6.6.
29
 
29
 
30
 
30
 
31
 
31