The spica renderer
Main Page
Modules
Classes
Files
File List
sources
core
sampler.h
1
5
#ifdef _MSC_VER
6
#pragma once
7
#endif
8
9
#ifndef _SPICA_SAMPLER_H_
10
#define _SPICA_SAMPLER_H_
11
12
#include <memory>
13
14
#include "core/common.h"
15
#include "core/cobject.h"
16
#include "core/uncopyable.h"
17
#include "core/point2d.h"
18
19
namespace
spica {
20
24
class
SPICA_EXPORTS
Sampler
:
public
CObject
,
Uncopyable
{
25
public
:
26
virtual
~
Sampler
() {}
27
28
virtual
double
get1D() = 0;
29
virtual
Point2d
get2D() {
30
return
Point2d
{ get1D(), get1D() };
31
}
32
33
virtual
bool
startNextSample() {
return
true
; }
34
virtual
void
startPixel() { }
35
36
virtual
std::unique_ptr<Sampler> clone(
unsigned
int
seed = 0)
const
= 0;
37
};
38
39
}
// namespace spica
40
41
#endif // _SPICA_SAMPLER_H_
spica::Sampler
Random sampler class.
Definition:
sampler.h:24
spica::CObject
Definition:
cobject.h:24
spica::Point2_< double >
spica::Uncopyable
Interface class which forbids copy and assignment.
Definition:
uncopyable.h:15
Generated by
1.8.6