Primitive Struct Reference
#include <primitive.h>
Inheritance diagram for Primitive:
Public Member Functions | |
auto | Type () const -> int |
Surface interaction type. | |
auto | SampleDirection (const Vec2 &u, Float uComp, int queryType, const SurfaceGeometry &geom, const Vec3 &wi, Vec3 &wo) const -> void |
Sample outgoing vector. | |
auto | EvaluateDirectionPDF (const SurfaceGeometry &geom, int queryType, const Vec3 &wi, const Vec3 &wo, bool evalDelta) const -> Float |
Evaluate PDF with the direction. | |
auto | EvaluateDirection (const SurfaceGeometry &geom, int types, const Vec3 &wi, const Vec3 &wo, TransportDirection transDir, bool evalDelta) const -> SPD |
Evaluate generalized BSDF. | |
auto | SamplePosition (const Vec2 &u, SurfaceGeometry &geom) const -> void |
Sample a position on the light. | |
auto | EvaluatePositionPDF (const SurfaceGeometry &geom, bool evalDelta) const -> Float |
Evaluate positional PDF. | |
auto | EvaluatePosition (const SurfaceGeometry &geom, bool evalDelta) const -> SPD |
Evaluate the positional component of the emitted quantity. | |
Public Member Functions inherited from SIMDAlignedType | |
void * | operator new (std::size_t size) throw (std::bad_alloc) |
void | operator delete (void *p) |
Public Attributes | |
const char * | id = nullptr |
Mat4 | transform |
Mat3 | normalTransform |
const TriangleMesh * | mesh = nullptr |
const Emitter * | emitter = nullptr |
const BSDF * | bsdf = nullptr |