20 #if !defined(__MITSUBA_RENDER_SAMPLER_H_)
21 #define __MITSUBA_RENDER_SAMPLER_H_
23 #include <mitsuba/mitsuba.h>
94 virtual void setFilmResolution(
const Vector2i &res,
bool blocked);
105 virtual void generate(
const Point2i &offset);
108 virtual void advance();
111 virtual void setSampleIndex(
size_t sampleIndex);
114 virtual Float next1D() = 0;
117 virtual Point2 next2D() = 0;
137 Point2 *next2DArray(
size_t size);
140 Float *next1DArray(
size_t size);
150 virtual void request2DArray(
size_t size);
153 virtual void request1DArray(
size_t size);
175 size_t m_sampleCount;
176 size_t m_sampleIndex;
177 std::vector<
size_t> m_req1D, m_req2D;
178 std::vector<
Float *> m_sampleArrays1D;
180 size_t m_dimension1DArray, m_dimension2DArray;
size_t getSampleCount() const
Return total number of samples.
Definition: sampler.h:156
Generic serializable object, which supports construction from a Properties instance.
Definition: cobject.h:40
Base class of all sample generators.
Definition: sampler.h:66
virtual void serialize(Stream *stream, InstanceManager *manager) const
Serialize this object to a binary data stream.
Abstract seekable stream class.
Definition: stream.h:58
#define MTS_DECLARE_CLASS()
This macro must be used in the initial definition in classes that derive from Object.
Definition: class.h:158
Reference counting helper.
Definition: ref.h:40
Associative parameter map for constructing subclasses of ConfigurableObject.
Definition: properties.h:46
Coordinates the serialization and unserialization of object graphs.
Definition: serialization.h:65
size_t getSampleIndex() const
Return the current sample index.
Definition: sampler.h:159