1#ifndef _BBM_CONSTANTS_H_
2#define _BBM_CONSTANTS_H_
18 static constexpr T
Epsilon(
void) {
return std::numeric_limits<T>::epsilon(); }
19 static constexpr T
Pi(T scale=1) {
return scale * std::numbers::pi; }
20 static constexpr T
InvPi(T scale=1) {
return scale * std::numbers::inv_pi; }
21 static constexpr T
Pi2(T scale=1) {
return scale *
Pi()*
Pi(); }
22 static constexpr T
InvSqrtPi(T scale=1) {
return scale * std::numbers::inv_sqrtpi; }
23 static constexpr vec2d<T>
Sphere(T scale=1) {
return {
Pi(2*scale),
Pi(scale)}; }
24 static constexpr vec2d<T>
Hemisphere(T scale=1) {
return {
Pi(2*scale),
Pi(0.5*scale)}; }
Defines additional helper methods for vectors.
Definition: aggregatebsdf.h:29
Definition: constants.h:17
static constexpr T InvPi(T scale=1)
Definition: constants.h:20
static constexpr vec2d< T > Hemisphere(T scale=1)
Definition: constants.h:24
static constexpr T Pi(T scale=1)
Definition: constants.h:19
static constexpr vec2d< T > Sphere(T scale=1)
Definition: constants.h:23
static constexpr T Pi2(T scale=1)
Definition: constants.h:21
static constexpr T Epsilon(void)
Definition: constants.h:18
static constexpr T InvSqrtPi(T scale=1)
Definition: constants.h:22