Emitter Class Reference
An interface for Emitter. More...
#include <emitter.h>
Inheritance diagram for Emitter:
Public Member Functions | |
LM_INTERFACE_CLASS (Emitter, GeneralizedBSDF, 4) | |
LM_DISABLE_COPY_AND_MOVE (Emitter) | |
LM_INTERFACE_F (0, SamplePosition, void(const Vec2 &u, SurfaceGeometry &geom)) | |
Sample a position on the light. More... | |
LM_INTERFACE_F (1, EvaluatePositionPDF, Float(const SurfaceGeometry &geom, bool evalDelta)) | |
Evaluate positional PDF. More... | |
LM_INTERFACE_F (2, EvaluatePosition, SPD(const SurfaceGeometry &geom, bool evalDelta)) | |
Evaluate the positional component of the emitted quantity. More... | |
LM_INTERFACE_F (3, RasterPosition, bool(const Vec3 &wo, const SurfaceGeometry &geom, Vec2 &rasterPos)) | |
Compute raster position from the direction and the position. More... | |
Public Member Functions inherited from GeneralizedBSDF | |
LM_INTERFACE_CLASS (GeneralizedBSDF, Asset, 4) | |
LM_DISABLE_COPY_AND_MOVE (GeneralizedBSDF) | |
LM_INTERFACE_F (0, Type, int()) | |
Generalized BSDF type. More... | |
LM_INTERFACE_F (1, SampleDirection, void(const Vec2 &u, Float uComp, int queryType, const SurfaceGeometry &geom, const Vec3 &wi, Vec3 &wo)) | |
Sample outgoing vector. More... | |
LM_INTERFACE_F (2, EvaluateDirectionPDF, Float(const SurfaceGeometry &geom, int queryType, const Vec3 &wi, const Vec3 &wo, bool evalDelta)) | |
Evaluate PDF with the direction. More... | |
LM_INTERFACE_F (3, EvaluateDirection, SPD(const SurfaceGeometry &geom, int types, const Vec3 &wi, const Vec3 &wo, TransportDirection transDir, bool evalDelta)) | |
Evaluate generalized BSDF. More... | |
Public Member Functions inherited from Asset | |
LM_INTERFACE_CLASS (Asset, Clonable, 2) | |
LM_DISABLE_COPY_AND_MOVE (Asset) | |
LM_INTERFACE_F (0, Load, bool(const PropertyNode *prop, Assets *assets, const Primitive *primitive)) | |
Load an asset from a property node. More... | |
LM_INTERFACE_F (1, PostLoad, bool(const Scene *scene)) | |
Post processing of the asset. More... | |
Public Member Functions inherited from Clonable | |
LM_INTERFACE_CLASS (Clonable, Component, 1) | |
LM_DISABLE_COPY_AND_MOVE (Clonable) | |
LM_INTERFACE_F (0, Clone, void(Clonable *o)) | |
Clone the instalce. More... | |
Public Member Functions inherited from SIMDAlignedType | |
void * | operator new (std::size_t size) throw (std::bad_alloc) |
void | operator delete (void *p) |
Detailed Description
An interface for Emitter.
Member Function Documentation
Emitter::LM_INTERFACE_F | ( | 0 | , |
SamplePosition | , | ||
void(const Vec2 &u, SurfaceGeometry &geom) | |||
) |
Sample a position on the light.
- Parameters
-
u Uniform random numbers in [0,1]^2. geom Surface geometry at the sampled position.
Emitter::LM_INTERFACE_F | ( | 1 | , |
EvaluatePositionPDF | , | ||
Float(const SurfaceGeometry &geom, bool evalDelta) | |||
) |
Evaluate positional PDF.
- Parameters
-
geom Surface geometry.
- Returns
- Evaluated PDF.
Emitter::LM_INTERFACE_F | ( | 2 | , |
EvaluatePosition | , | ||
SPD(const SurfaceGeometry &geom, bool evalDelta) | |||
) |
Evaluate the positional component of the emitted quantity.
- Parameters
-
geom Surface geometry.
- Returns
- Positional component of the emitted quantity.
Emitter::LM_INTERFACE_F | ( | 3 | , |
RasterPosition | , | ||
bool(const Vec3 &wo, const SurfaceGeometry &geom, Vec2 &rasterPos) | |||
) |
Compute raster position from the direction and the position.
The function calculates the raster position from the outgoing ray. Returns false if calculated raster position is the outside of [0, 1]^2.
- Parameters
-
wo Outgoing direction from the point on the emitter. geom Surface geometry infromation around the point on the emitter. rasterPos Computed raster position.