Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
ph::TMipmap< T, N > Class Template Referenceabstract

#include <TMipmap.h>

Inheritance diagram for ph::TMipmap< T, N >:
ph::TAbstractPixelTex2D< T, N > ph::TTexture< TTexPixel< T, N > > ph::TTrilinearPixelTex2D< T, N >

Public Member Functions

 TMipmap ()
 
 TMipmap (const std::size_t numLevels)
 
virtual ~TMipmap () override=default
 
virtual void sample (const SampleLocation &sampleLocation, TTexPixel< T, N > *const out_value) const =0
 
const TAbstractPixelTex2D< T, N > * getLevel (const std::size_t level) const
 
std::size_t numLevels () const
 
- Public Member Functions inherited from ph::TAbstractPixelTex2D< T, N >
 TAbstractPixelTex2D ()
 
 TAbstractPixelTex2D (const uint32 widthPx, const uint32 heightPx)
 
uint32 getWidthPx () const
 
uint32 getHeightPx () const
 
float64 getTexelSizeU () const
 
float64 getTexelSizeV () const
 
ETexWrapMode getWrapMode () const
 
void setWrapMode (const ETexWrapMode mode)
 
- Public Member Functions inherited from ph::TTexture< TTexPixel< T, N > >
 TTexture ()=default
 
virtual ~TTexture ()=default
 
virtual void sample (const SampleLocation &sampleLocation, Output *out_value) const=0
 

Protected Member Functions

void setLevel (const std::size_t level, std::unique_ptr< TAbstractPixelTex2D< T, N > > texture)
 
- Protected Member Functions inherited from ph::TAbstractPixelTex2D< T, N >
void normalizeUV (const float64 u, const float64 v, float64 *const out_u, float64 *const out_v) const
 
void setWidthPx (const uint32 widthPx)
 
void setHeightPx (const uint32 heightPx)
 

Additional Inherited Members

- Public Types inherited from ph::TTexture< TTexPixel< T, N > >
using Output
 
- Protected Attributes inherited from ph::TAbstractPixelTex2D< T, N >
uint32 m_widthPx
 
uint32 m_heightPx
 
float64 m_texelSizeU
 
float64 m_texelSizeV
 
ETexWrapMode m_wrapMode
 

Constructor & Destructor Documentation

◆ TMipmap() [1/2]

template<typename T , std::size_t N>
ph::TMipmap< T, N >::TMipmap ( )
inline

◆ TMipmap() [2/2]

template<typename T , std::size_t N>
ph::TMipmap< T, N >::TMipmap ( const std::size_t numLevels)
inlineexplicit

◆ ~TMipmap()

template<typename T , std::size_t N>
virtual ph::TMipmap< T, N >::~TMipmap ( )
overridevirtualdefault

Member Function Documentation

◆ getLevel()

template<typename T , std::size_t N>
const TAbstractPixelTex2D< T, N > * ph::TMipmap< T, N >::getLevel ( const std::size_t level) const
inline

◆ numLevels()

template<typename T , std::size_t N>
std::size_t ph::TMipmap< T, N >::numLevels ( ) const
inline

◆ sample()

template<typename T , std::size_t N>
virtual void ph::TMipmap< T, N >::sample ( const SampleLocation & sampleLocation,
TTexPixel< T, N > *const out_value ) const
pure virtual

◆ setLevel()

template<typename T , std::size_t N>
void ph::TMipmap< T, N >::setLevel ( const std::size_t level,
std::unique_ptr< TAbstractPixelTex2D< T, N > > texture )
inlineprotected

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