Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
ph::Film Class Referenceabstract

A camera film that receives any quantity. More...

#include <Film.h>

Inheritance diagram for ph::Film:
ph::IMoveOnly ph::TSamplingFilm< math::Spectrum > ph::TSamplingFilm< math::Vector3R > ph::TSamplingFilm< ph::math::TTristimulusSpectrum > ph::TSamplingFilm< Sample > ph::HdrRgbFilm ph::Vector3Film

Public Member Functions

 Film ()
 
 Film (int64 actualWidthPx, int64 actualHeightPx)
 
 Film (int64 actualWidthPx, int64 actualHeightPx, const math::TAABB2D< int64 > &effectiveWindowPx)
 
 Film (Film &&other)=default
 
Filmoperator= (Film &&other)=default
 
virtual ~Film ()=default
 
virtual void clear ()=0
 Set all pixel data to its initial state.
 
virtual void setActualResPx (const math::TVector2< int64 > &actualResPx)
 Set the apparent size of the film. If only a sub-region of the film is going to be used, set the effective window accordingly may improve performance especially in memory usage.
 
virtual void setEffectiveWindowPx (const math::TAABB2D< int64 > &effectiveWindow)
 Set the region where the film will be used. Implementation is advised to take advantage of this and only allocate memory for the part within the effective window.
 
void develop (HdrRgbFrame &out_frame) const
 
void develop (HdrRgbFrame &out_frame, const math::TAABB2D< int64 > &regionPx) const
 
const math::TVector2< int64 > & getActualResPx () const
 
math::TVector2< int64 > getEffectiveResPx () const
 
const math::TAABB2D< int64 > & getEffectiveWindowPx () const
 

Detailed Description

A camera film that receives any quantity.

Constructor & Destructor Documentation

◆ Film() [1/4]

ph::Film::Film ( )

◆ Film() [2/4]

ph::Film::Film ( int64 actualWidthPx,
int64 actualHeightPx )

◆ Film() [3/4]

ph::Film::Film ( int64 actualWidthPx,
int64 actualHeightPx,
const math::TAABB2D< int64 > & effectiveWindowPx )

◆ Film() [4/4]

ph::Film::Film ( Film && other)
default

◆ ~Film()

virtual ph::Film::~Film ( )
virtualdefault

Member Function Documentation

◆ clear()

virtual void ph::Film::clear ( )
pure virtual

◆ develop() [1/2]

void ph::Film::develop ( HdrRgbFrame & out_frame) const

◆ develop() [2/2]

void ph::Film::develop ( HdrRgbFrame & out_frame,
const math::TAABB2D< int64 > & regionPx ) const

◆ getActualResPx()

const math::TVector2< int64 > & ph::Film::getActualResPx ( ) const
inline

◆ getEffectiveResPx()

math::TVector2< int64 > ph::Film::getEffectiveResPx ( ) const
inline

◆ getEffectiveWindowPx()

auto ph::Film::getEffectiveWindowPx ( ) const
inline

◆ operator=()

Film & ph::Film::operator= ( Film && other)
default

◆ setActualResPx()

void ph::Film::setActualResPx ( const math::TVector2< int64 > & actualResPx)
inlinevirtual

Set the apparent size of the film. If only a sub-region of the film is going to be used, set the effective window accordingly may improve performance especially in memory usage.

◆ setEffectiveWindowPx()

void ph::Film::setEffectiveWindowPx ( const math::TAABB2D< int64 > & effectiveWindow)
inlinevirtual

Set the region where the film will be used. Implementation is advised to take advantage of this and only allocate memory for the part within the effective window.

Reimplemented in ph::HdrRgbFilm, ph::TSamplingFilm< Sample >, ph::TSamplingFilm< math::Spectrum >, ph::TSamplingFilm< math::Vector3R >, ph::TSamplingFilm< ph::math::TTristimulusSpectrum >, and ph::Vector3Film.


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