PICCANTE  0.4
The hottest HDR imaging library!
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
pic::pic::ReduxGL Class Reference

The ReduxGL class. More...

#include <display.hpp>

Public Member Functions

 ReduxGL (std::string reduxOperation, bool bDomainTransform)
 ReduxGL. More...
 
 ~ReduxGL ()
 
GLuint Process (GLuint texIn, int width, int height, int channels, GLuint texOut)
 Process. More...
 
GLuint Redux (GLuint texIn, int width, int height, int channels, std::vector< GLuint > &stack)
 Redux. More...
 

Static Public Member Functions

static ReduxGLcreateMean ()
 createMean More...
 
static ReduxGLcreateSum ()
 createSum More...
 
static ReduxGLcreateLogMean ()
 createLogMean More...
 
static ReduxGLcreateMin ()
 createMin More...
 
static ReduxGLcreateMax ()
 createMax More...
 
static ReduxGLcreateMinPos ()
 createMinPos More...
 
static ReduxGLcreateCheck ()
 createCheck More...
 
static int divideByTwoWithEvenDividend (int x)
 divideByTwoWithEvenDividend if x is even it computes x / 2 otherwise (x + 1) / 2. More...
 
static void allocateReduxData (int width, int height, int channels, std::vector< GLuint > &stack, int minSize=2)
 allocateReduxData allocates a pyramid for computing the Redux operator. More...
 

Protected Member Functions

void initShaders ()
 initShaders More...
 

Protected Attributes

Fbofbo
 
QuadGLquad
 
bool bDomainTransform
 
int counter
 
std::string vertex_source
 
std::string geometry_source
 
std::string fragment_source
 
std::string fragment_source_domain_transform
 
TechniqueGL techinques [2]
 
std::string reduxOperation
 

Detailed Description

The ReduxGL class.

Constructor & Destructor Documentation

◆ ReduxGL()

PIC_INLINE pic::ReduxGL::ReduxGL ( std::string  reduxOperation,
bool  bDomainTransform 
)

ReduxGL.

Parameters
reduxOperation

◆ ~ReduxGL()

PIC_INLINE pic::ReduxGL::~ReduxGL ( )

Member Function Documentation

◆ allocateReduxData()

static void pic::pic::ReduxGL::allocateReduxData ( int  width,
int  height,
int  channels,
std::vector< GLuint > &  stack,
int  minSize = 2 
)
inlinestatic

allocateReduxData allocates a pyramid for computing the Redux operator.

Parameters
width
height
channels
minSize
Returns

◆ createCheck()

static ReduxGL* pic::pic::ReduxGL::createCheck ( )
inlinestatic

createCheck

Returns

◆ createLogMean()

static ReduxGL* pic::pic::ReduxGL::createLogMean ( )
inlinestatic

createLogMean

Returns

◆ createMax()

static ReduxGL* pic::pic::ReduxGL::createMax ( )
inlinestatic

createMax

Returns

◆ createMean()

static ReduxGL* pic::pic::ReduxGL::createMean ( )
inlinestatic

createMean

Returns

◆ createMin()

static ReduxGL* pic::pic::ReduxGL::createMin ( )
inlinestatic

createMin

Returns

◆ createMinPos()

static ReduxGL* pic::pic::ReduxGL::createMinPos ( )
inlinestatic

createMinPos

Returns

◆ createSum()

static ReduxGL* pic::pic::ReduxGL::createSum ( )
inlinestatic

createSum

Returns

◆ divideByTwoWithEvenDividend()

static int pic::pic::ReduxGL::divideByTwoWithEvenDividend ( int  x)
inlinestatic

divideByTwoWithEvenDividend if x is even it computes x / 2 otherwise (x + 1) / 2.

Parameters
xis an input value.
Returns
If x is even it returns x/2; otherwise it returns (x + 1) / 2.

◆ initShaders()

PIC_INLINE void pic::ReduxGL::initShaders ( )
protected

initShaders

◆ Process()

PIC_INLINE GLuint pic::ReduxGL::Process ( GLuint  texIn,
int  width,
int  height,
int  channels,
GLuint  texOut 
)

Process.

Parameters
texIn
width
height
channels
texOut
Returns

◆ Redux()

GLuint pic::pic::ReduxGL::Redux ( GLuint  texIn,
int  width,
int  height,
int  channels,
std::vector< GLuint > &  stack 
)
inline

Redux.

Parameters
texIn
width
height
channels
stack
Returns

Member Data Documentation

◆ bDomainTransform

bool pic::pic::ReduxGL::bDomainTransform
protected

◆ counter

int pic::pic::ReduxGL::counter
protected

◆ fbo

Fbo* pic::pic::ReduxGL::fbo
protected

◆ fragment_source

std::string pic::pic::ReduxGL::fragment_source
protected

◆ fragment_source_domain_transform

std::string pic::pic::ReduxGL::fragment_source_domain_transform
protected

◆ geometry_source

std::string pic::pic::ReduxGL::geometry_source
protected

◆ quad

QuadGL* pic::pic::ReduxGL::quad
protected

◆ reduxOperation

std::string pic::pic::ReduxGL::reduxOperation
protected

◆ techinques

TechniqueGL pic::pic::ReduxGL::techinques[2]
protected

◆ vertex_source

std::string pic::pic::ReduxGL::vertex_source
protected

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