Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
ph::halton_detail Namespace Reference

Classes

class  FixedPermuter
 
class  OwenScrambledPermuter
 
class  PerDigitPermuter
 

Typedefs

using TableDigit = uint16
 
using PermutationTable = std::unique_ptr<TableDigit[]>
 

Functions

PermutationTable make_table (const std::size_t size)
 
real radical_inverse (const uint64 dimIndex, const uint64 value)
 
template<typename DigitPermuter >
real radical_inverse_permuted (const uint64 dimIndex, const uint64 value, DigitPermuter permuter)
 

Variables

constexpr std::size_t MAX_DIMENSIONS = 1024
 

Typedef Documentation

◆ PermutationTable

using ph::halton_detail::PermutationTable = std::unique_ptr<TableDigit[]>

◆ TableDigit

Function Documentation

◆ make_table()

PermutationTable ph::halton_detail::make_table ( const std::size_t size)
inline

◆ radical_inverse()

real ph::halton_detail::radical_inverse ( const uint64 dimIndex,
const uint64 value )
inline

Radical inverse with specialization for each possible dimension (in hope that compiler can optimize better with compile-time base info).

◆ radical_inverse_permuted()

template<typename DigitPermuter >
real ph::halton_detail::radical_inverse_permuted ( const uint64 dimIndex,
const uint64 value,
DigitPermuter permuter )
inline

Radical inverse with specialization for each possible dimension (in hope that compiler can optimize better with compile-time base info). This version can take a permutation.

Variable Documentation

◆ MAX_DIMENSIONS

std::size_t ph::halton_detail::MAX_DIMENSIONS = 1024
inlineconstexpr