MobileRT  1.0
A multi platform C++ CPU progressive Ray Tracer.
Components::PCG Class Referencefinal

#include <PCG.hpp>

Inheritance diagram for Components::PCG:
Inheritance graph
Collaboration diagram for Components::PCG:
Collaboration graph

Public Member Functions

 PCG ()=default
 
 PCG (const PCG &random)=delete
 
 PCG (PCG &&random) noexcept=delete
 
 ~PCG () final=default
 
PCGoperator= (const PCG &random)=delete
 
PCGoperator= (PCG &&random) noexcept=delete
 
float getSample (::std::uint32_t sample) final
 
- Public Member Functions inherited from MobileRT::Sampler
 Sampler ()=default
 
 Sampler (::std::uint32_t width, ::std::uint32_t height, ::std::uint32_t samples)
 
 Sampler (const Sampler &sampler)=delete
 
 Sampler (Sampler &&sampler) noexcept=delete
 
virtual ~Sampler ()
 
Sampleroperator= (const Sampler &sampler)=delete
 
Sampleroperator= (Sampler &&sampler) noexcept=delete
 
void resetSampling ()
 
void stopSampling ()
 
float getSample ()
 

Additional Inherited Members

- Public Attributes inherited from MobileRT::Sampler
::std::atomic<::std::uint32_t > sample_ {}
 
const ::std::uint32_t domainSize_ {::std::numeric_limits<::std::uint32_t>::max()}
 
::std::uint32_t samples_ {::std::numeric_limits<::std::uint32_t>::max()}
 
- Protected Member Functions inherited from MobileRT::Sampler
template<const ::std::size_t S>
float getSampleFromArray (const ::std::array< float, S > &values)
 

Detailed Description

This sampler returns the PCG sequence.

See also
https://www.pcg-random.org/

Constructor & Destructor Documentation

◆ PCG() [1/3]

Components::PCG::PCG ( )
explicitdefault

◆ PCG() [2/3]

Components::PCG::PCG ( const PCG random)
delete

◆ PCG() [3/3]

Components::PCG::PCG ( PCG &&  random)
deletenoexcept

◆ ~PCG()

Components::PCG::~PCG ( )
finaldefault

Member Function Documentation

◆ getSample()

float PCG::getSample ( ::std::uint32_t  sample)
finalvirtual

Calculates a new sample.

Parameters
sampleThe index of the desired sample.
Returns
A random value between 0 and 1.

Implements MobileRT::Sampler.

◆ operator=() [1/2]

PCG& Components::PCG::operator= ( const PCG random)
delete

◆ operator=() [2/2]

PCG& Components::PCG::operator= ( PCG &&  random)
deletenoexcept

The documentation for this class was generated from the following files: