Subversion Repositories gelsvn

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
346 awk 1
#ifndef __PATHTRACER_LUMINAIRE__HPP__
2
#define __PATHTRACER_LUMINAIRE__HPP__
3
 
4
#include <CGLA/Mat4x4f.h>
5
 
6
#include "core.hpp"
7
 
8
class luminaire
9
{
10
public:
11
	luminaire(int samples = 1);
12
	virtual ~luminaire(void) = 0;
13
 
14
	//transformation matrix
15
	const CGLA::Mat4x4f& transform(void) const;
16
	void set_transform(const CGLA::Mat4x4f&);
17
 
18
	//sampling
19
	virtual bool sample(const ray&, const hit_info&, CGLA::Vec3f& L, 
20
		CGLA::Vec3f& w) const = 0;
21
 
22
	//sample count for direct lighting integration
23
	int samples(void) const;
24
	void set_samples(int);
25
 
26
protected:
27
	int samples_;
28
	CGLA::Mat4x4f trs_;
29
};
30
 
31
#endif
32
 
33
//02566 framework, Anders Wang Kristensen, awk@imm.dtu.dk, 2007