20 #if !defined(__MITSUBA_RENDER_COMMON_H_)
21 #define __MITSUBA_RENDER_COMMON_H_
137 uv(0.0f), object(NULL) { }
152 std::string toString()
const;
181 std::string toString()
const;
204 : d(d), measure(measure) { }
304 inline void setQuery(
Point p
Sampled position.
Definition: common.h:85
Normal refN
Optional: normal vector associated with the reference point.
Definition: common.h:249
Record for solid-angle based area sampling techniques.
Definition: common.h:238
const ConfigurableObject * object
Optional: Pointer to an associated object.
Definition: common.h:123
Vector d
Unit direction from the reference point to the target direction.
Definition: common.h:252
Three-dimensional normal data structure.
Definition: normal.h:39
DirectSamplingRecord(const Point &ref, Float time)
Create an new direct sampling record for a reference point ref located somewhere in space (i...
Definition: common.h:270
DirectSamplingRecord()
Create an invalid direct sampling record.
Definition: common.h:259
Generic serializable object, which supports construction from a Properties instance.
Definition: cobject.h:40
Generic sampling record for directions.
Definition: common.h:168
Point ref
Reference point for direct sampling.
Definition: common.h:241
DirectionSamplingRecord()
Create an uninitialized position sampling record.
Definition: common.h:191
Float dist
Distance from the reference point to the target direction.
Definition: common.h:255
Normal n
Sampled surface normal (if applicable)
Definition: common.h:91
Generic sampling record for positions.
Definition: common.h:82
Vector d
Sampled direction.
Definition: common.h:171
Discrete measure.
Definition: common.h:66
Length measure.
Definition: common.h:62
Float pdf
Probability density at the sample.
Definition: common.h:94
DirectionSamplingRecord(const Vector &d, EMeasure measure=ESolidAngle)
Create a direction sampling record filled with a specified direction.
Definition: common.h:202
Point2 uv
Optional: 2D sample position associated with the record.
Definition: common.h:113
Invalid measure.
Definition: common.h:58
std::ostream & operator<<(std::ostream &out, const DScalar1< Scalar, VecType > &s)
Definition: autodiff.h:392
PositionSamplingRecord()
Create an invalid position sampling record.
Definition: common.h:126
EMeasure measure
Measure associated with the density function.
Definition: common.h:177
Importance transport.
Definition: common.h:40
EMeasure
A list of measures that are associated with various sampling methods in Mitsuba.
Definition: common.h:56
Float time
Associated time value.
Definition: common.h:88
Data record for sampling a point on the in-scattering integral of the RTE.
Definition: medium.h:34
PositionSamplingRecord(Float time)
Create a new position sampling record that can be passed e.g. to Shape::samplePosition.
Definition: common.h:136
std::string toString() const
Return a human-readable description of the record.
Solid angle measure.
Definition: common.h:60
Specifies the number of supported transport modes.
Definition: common.h:42
Reference counting helper.
Definition: ref.h:40
Container for all information related to a surface intersection.
Definition: shape.h:36
Float pdf
Probability density at the sample.
Definition: common.h:174
Area measure.
Definition: common.h:64
EMeasure measure
Denotes the measure associated with the sample.
Definition: common.h:103
Radiance transport.
Definition: common.h:38
ETransportMode
Specifies the transport mode when sampling or evaluating a scattering function.
Definition: common.h:33