Skip to content

dakku::RayDifferential

differential ray

#include <ray.h>

Inherits from dakku::Ray

Public Functions

Name
RayDifferential() =default
RayDifferential(const Point3f & o, const Vector3f & d, float t_max =INF)
bool has_nans() const
check whether the ray differentials has nans
void scale_differentials(float s)
scale the differential of the ray

Public Attributes

Name
bool has_differentials
has differentials
Point3f rx_origin
x sub ray origin (x + 1, y)
Point3f ry_origin
y sub ray origin (x, y + 1)
Vector3f rx_direction
x sub ray direction
Vector3f ry_direction
y sub ray direction

Additional inherited members

Public Functions inherited from dakku::Ray

Name
Ray() =default
Ray(Point3f o, Vector3f d, float t_max =INF)
Point3f operator()(float t) const
get the point on the ray at \(t\)

Public Attributes inherited from dakku::Ray

Name
Point3f o
ray origin
Vector3f d
ray direction (note: it may not be normalized)
float tMax
ray max time

Public Functions Documentation

function RayDifferential

RayDifferential() =default

function RayDifferential

inline explicit RayDifferential(
    const Point3f & o,
    const Vector3f & d,
    float t_max =INF
)

function has_nans

inline bool has_nans() const

check whether the ray differentials has nans

function scale_differentials

inline void scale_differentials(
    float s
)

scale the differential of the ray

Parameters:

  • s scale

let \(c\) be the camera position \(o'' = o + s (o \rightarrow o')\) \(d' = c \rightarrow o'\) \(d'' = c \rightarrow o'' = (c \rightarrow o) + (o \rightarrow o'') = d + s (d' - d)\)

Public Attributes Documentation

variable has_differentials

bool has_differentials {false};

has differentials

variable rx_origin

Point3f rx_origin;

x sub ray origin (x + 1, y)

variable ry_origin

Point3f ry_origin;

y sub ray origin (x, y + 1)

variable rx_direction

Vector3f rx_direction;

x sub ray direction

variable ry_direction

Vector3f ry_direction;

y sub ray direction


Updated on 2022-04-30 at 15:46:11 +0000