19 uint
Sample(
float u,
float& pdf)
const;
20 float PDF(uint sample)
const {
return mBins[sample].prob; }
32 float Sample(
float u,
float& pdf, uint& offset)
const;
33 float PDF(
float sample)
const {
34 uint offset = clamp(
static_cast<uint
>(sample *
mF.size()), 0u,
static_cast<uint
>(
mF.size() - 1));
50 float2
Sample(float2 u,
float& pdf, uint2& offset)
const;
51 float PDF(float2 sample)
const;
General Purpose Allocator (GPA) interface.
Definition Allocator.hpp:24
std::vector< T, StlAllocator< T > > Vector
std::vector with explicit Foundation::Core::StlAllocator constructor
Definition Container.hpp:130
std::unique_ptr< T, Deleter > UniquePtr
std::unique_ptr with custom deleter that uses a Foundation::Core::Allocator to deallocate memory.
Definition Allocator.hpp:170
std::span< T > Span
Alias for std::span
Definition Container.hpp:60
Definition Allocator.hpp:5
Definition Precompute.hpp:15
Vector< GSAlias > mBins
Definition Precompute.hpp:16
uint Sample(float u, float &pdf) const
Definition Precompute.cpp:49
float PDF(uint sample) const
Definition Precompute.hpp:20
Definition Precompute.hpp:9
float select
Definition Precompute.hpp:10
float prob
Definition Precompute.hpp:10
uint alias
Definition Precompute.hpp:11
Definition Precompute.hpp:25
float Int() const
Definition Precompute.hpp:30
Vector< float > mF
Definition Precompute.hpp:26
float PDF(float sample) const
Definition Precompute.hpp:33
float Sample(float u, float &pdf, uint &offset) const
Definition Precompute.cpp:80
float mInt
Definition Precompute.hpp:27
Vector< float > mCDF
Definition Precompute.hpp:26
Definition Precompute.hpp:40
UniquePtr< PiecewiseConstant1D > mMarginal
Definition Precompute.hpp:42
uint2 Domain() const
Definition Precompute.hpp:47
float PDF(float2 sample) const
Definition Precompute.cpp:113
Vector< float > mF
Definition Precompute.hpp:41
float Int() const
Definition Precompute.hpp:49
Vector< UniquePtr< PiecewiseConstant1D > > mConditional
Definition Precompute.hpp:43
float2 Sample(float2 u, float &pdf, uint2 &offset) const
Definition Precompute.cpp:105