Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
math.cpp File Reference
#include "Math/math.h"
#include "Math/TVector3.h"
#include "Math/constant.h"
#include <Common/assertion.h>
#include <iomanip>
#include <cmath>

Namespaces

namespace  ph
 The root for all renderer implementations.
 
namespace  ph::math
 Math functions and utilities.
 

Functions

void ph::math::form_orthonormal_basis_frisvad (const Vector3R &unitYaxis, Vector3R *const out_unitXaxis, Vector3R *const out_unitZaxis)
 
bool ph::math::is_same_hemisphere (const Vector3R &vector, const Vector3R &N)
 Checks whether the specified vector is within the hemisphere defined by the normal vector N. N points to the hemisphere's peak, i.e., theta = 0 in spherical coordinates.
 
bool ph::math::is_opposite_hemisphere (const Vector3R &vector, const Vector3R &N)
 Checks whether the specified vector is within the hemisphere defined by the normal vector -N. N points to the hemisphere's peak, i.e., theta = 0 in spherical coordinates.