PICCANTE  0.4
The hottest HDR imaging library!
Classes | Namespaces | Typedefs | Enumerations | Functions | Variables
display.hpp File Reference
#include <string>
#include "../../util/gl/technique.hpp"
#include "../../util/std_util.hpp"
#include "../../gl/colors/color_conv_rgb_to_srgb.hpp"
#include "../../gl/filtering/filter_color_conv.hpp"

Go to the source code of this file.

Classes

class  pic::pic::ProgramGL
 
class  pic::pic::TechniqueGL
 The TechniqueGL class. More...
 
class  pic::pic::ColorConvGL
 The ColorConvGL class. More...
 
class  pic::pic::ColorConvGLRGBtosRGB
 The ColorConvGLRGBtosRGB class. More...
 
class  pic::pic::Fbo
 The Fbo class. More...
 
class  pic::pic::FilterGLNPasses
 The FilterGLNPasses class. More...
 
class  pic::pic::PrecomputedGaussian
 The PrecomputedGaussian class. More...
 
class  pic::pic::FilterGL1D
 The FilterGL1D class. More...
 
class  pic::pic::FilterGLConv1D
 The FilterGLConv1D class. More...
 
class  pic::pic::FilterGLGaussian1D
 
class  pic::pic::FilterGLGaussian2D
 The FilterGLGaussian2D class. More...
 
class  pic::pic::FilterGLSampler2D
 The FilterGLSampler2D class. More...
 
class  pic::pic::FilterGLBlend
 The FilterGLBlend class. More...
 
class  pic::pic::FilterGLOp
 
class  pic::pic::PyramidGL
 The PyramidGL class. More...
 
class  pic::pic::FilterGLDownPP
 The FilterGLDownPP class. More...
 
class  pic::pic::FilterGLUpPP
 The FilterGLUpPP class. More...
 
class  pic::pic::PushPullGL
 The PushPullGL class. More...
 
class  pic::pic::FilterGLChannel
 The FilterGLChannel class. More...
 
class  pic::pic::Histogram
 The Histogram class is a class for creating, managing, loading, and saving histogram for an Image. More...
 
class  pic::pic::FilterLuminance
 The FilterLuminance class. More...
 
class  pic::pic::FilterSimpleTMO
 The FilterSimpleTMO class. More...
 
class  pic::pic::FilterGLSimpleTMO
 The FilterGLSimpleTMO class. More...
 
class  pic::pic::FilterGLLuminance
 The FilterGLLuminance class. More...
 
class  pic::pic::FilterGLExposureFusionWeights
 The FilterGLExposureFusionWeights class. More...
 
class  pic::pic::ExposureFusionGL
 The ExposureFusionGL class. More...
 
class  pic::pic::ColorToGrayGL
 The ColorToGrayGL class. More...
 
class  pic::pic::FilterGLConv2D
 The FilterGLConv2D class. More...
 
class  pic::pic::RichardsonLucyDeconvolutionGL
 
class  pic::pic::FilterGLNonLinear1D
 The FilterGLNonLinear1D class. More...
 
class  pic::pic::FilterGLMax
 The FilterGLMax class. More...
 
class  pic::pic::FilterGLGrowCut
 The FilterGLGrowCut class. More...
 
class  pic::pic::GrowCutGL
 
class  pic::pic::QuadGL
 The QuadGL class. More...
 
class  pic::pic::BufferOpGL
 The BufferOpGL class. More...
 
class  pic::pic::BufferOpsGL
 The BufferOpsGL class. More...
 
class  pic::pic::ColorConv
 The ColorConv class. More...
 
class  pic::pic::ColorConvRGBtoXYZ
 The ColorConvRGBtoXYZ class. More...
 
class  pic::pic::ColorConvGLRGBtoXYZ
 The ColorConvGLRGBtoXYZ class. More...
 
class  pic::pic::ColorConvGLRGBtoHSL
 The ColorConvGLRGBtoHSL class. More...
 
class  pic::pic::ColorConvGLXYZtoCIELAB
 The ColorConvGLXYZtoCIELAB class. More...
 
class  pic::pic::Matrix3x3
 The Matrix3x3 class provides methods for managing a 3 by 3 matrix. More...
 
class  pic::pic::ImageSampler
 The ImageSampler class. More...
 
class  pic::pic::ImageSamplerBilinear
 The ImageSamplerBilinear class. More...
 
class  pic::pic::FilterWarp2D
 The FilterWarp2D class. More...
 
class  pic::pic::FilterGLWarp2D
 The FilterGLWarp2D class. More...
 
class  pic::pic::FilterGLIterative
 The FilterGLIterative class. More...
 
class  pic::pic::FilterGLAnisotropicDiffusion
 The FilterGLAnisotropicDiffusion class. More...
 
class  pic::pic::FilterGLBilateral1D
 The FilterGLBilateral1D class. More...
 
class  pic::pic::Vec< N, T >
 The Vec class. More...
 
class  pic::pic::FilterGLGradient
 The FilterGLGradient class. More...
 
class  pic::pic::FilterGLSigmoidTMO
 The FilterGLSigmoidTMO class. More...
 
class  pic::pic::FilterGLSamplingMap
 The FilterGLSamplingMap class. More...
 
class  pic::pic::RandomSampler< N >
 The RandomSampler class. More...
 
class  pic::pic::MRSamplers< N >
 The MRSamplers class. More...
 
class  pic::pic::MRSamplersGL< N >
 The MRSamplersGL class. More...
 
class  pic::pic::FilterGLBilateral2DAS
 
class  pic::pic::FilterGLBilateral2DF
 The FilterGLBilateral2DF class provides an HW accelerated bilateral filter implementation without approximations. More...
 
class  pic::pic::FilterGLSlicer
 The FilterGLSlicer class. More...
 
class  pic::pic::FilterGLScatter
 The FilterGLScatter class implement the bilateral grid approximation of the bilateral filter. More...
 
class  pic::pic::FilterGLGaussian3D
 
class  pic::pic::FilterGLBilateral2DG
 The FilterGLBilateral2DG class. More...
 
class  pic::pic::FileLister
 
class  pic::pic::FilterGLBilateral2DS
 The FilterGLBilateral2DS class. More...
 
class  pic::pic::FilterGLBilateral2DSE
 The FilterGLBilateral2DSE class. More...
 
class  pic::pic::FilterGLBilateral2DSP
 The FilterGLBilateral2DSP class provides an approximated 2D bilateral filter using two 1D bilateral filtes; i.e. using the separable approximation. More...
 
class  pic::pic::FilterGLBilateral3DS
 The FilterGLBilateral3DS class. More...
 
class  pic::pic::FilterGLBilateral3DSP
 The FilterGLBilateral3DSP class. More...
 
class  pic::pic::FilterGLDisp
 The FilterGLDisp class. More...
 
class  pic::pic::FilterGLDragoTMO
 The FilterGLDragoTMO class. More...
 
class  pic::pic::FilterGLMean
 The FilterGLMean class. More...
 
class  pic::pic::FilterGLMin
 The FilterGLMin class. More...
 
class  pic::pic::FilterGLLaplacian
 The FilterGLLaplacian class. More...
 
class  pic::pic::FilterGLHSLReplace
 The FilterGLHSLReplace class. More...
 
class  pic::pic::FilterGLRemapping
 The FilterGLRemapping class. More...
 
class  pic::pic::FilterGLRemoveNuked
 The FilterGLRemoveNuked class. More...
 
class  pic::pic::FilterGLDurandTMO
 The FilterGLDurandTMO class. More...
 
class  pic::pic::ImageSamplerBicubic
 The ImageSamplerBicubic class. More...
 
class  pic::pic::ImageSamplerNearest
 The ImageSamplerNearest class. More...
 
class  pic::pic::FilterDeformGrid
 The FilterDeformGrid class. More...
 
class  pic::pic::FilterGLDeformGrid
 The FilterGLDeformGrid class. More...
 
class  pic::pic::SegmentationGL
 The SegmentationGL class. More...
 
class  pic::pic::DragoTMOGL
 The DragoTMOGL class. More...
 
class  pic::pic::FilterGLReinhardSinglePass
 The FilterGLReinhardSinglePass class. More...
 
class  pic::pic::ReinhardTMOGL
 The ReinhardTMOGL class. More...
 
class  pic::pic::DurandTMOGL
 The DurandTMOGL class. More...
 
class  pic::pic::HybridTMOGL
 The HybridTMOGL class. More...
 
class  pic::pic::ReduxGL
 The ReduxGL class. More...
 
class  pic::pic::ReduxOpsGL
 The BufferOpsGL class. More...
 
class  pic::pic::ImageGL
 The ImageGL class. More...
 
class  pic::pic::FilterGL
 The FilterGL class. More...
 
class  pic::pic::FilterGLColorConv
 The FilterGLColorConv class. More...
 
class  pic::DisplayGL
 The DisplayGL class. More...
 

Namespaces

 pic
 
 pic::pic
 

Typedefs

typedef std::vector< ImageGL * > pic::pic::ImageGLVec
 ImageGLVec an std::vector of pic::ImageGL. More...
 
typedef std::vector< BufferOpGL * > pic::pic::BufferOperatorsGL
 
typedef Vec< 2, int > pic::pic::Vec2i
 Vec2i. More...
 
typedef Vec< 3, int > pic::pic::Vec3i
 Vec3i. More...
 
typedef Vec< 4, int > pic::pic::Vec4i
 Vec4i. More...
 
typedef Vec< 2, float > pic::pic::Vec2f
 Vec2f. More...
 
typedef Vec< 3, float > pic::pic::Vec3f
 Vec3f. More...
 
typedef std::vector< ReduxGL * > pic::pic::ReduxOperatorsGL
 

Enumerations

enum  pic::pic::VALUE_SPACE {
  pic::pic::VS_LDR, pic::pic::VS_LIN, pic::pic::VS_LOG_2, pic::pic::VS_LOG_E,
  pic::pic::VS_LOG_10
}
 
enum  pic::pic::LUMINANCE_TYPE { pic::pic::LT_CIE_LUMINANCE, pic::pic::LT_LUMA, pic::pic::LT_WARD_LUMINANCE, pic::pic::LT_MEAN }
 
enum  pic::pic::BOGL {
  pic::pic::BOGL_ADD, pic::pic::BOGL_SUB, pic::pic::BOGL_MUL, pic::pic::BOGL_DIV,
  pic::pic::BOGL_ADD_CONST, pic::pic::BOGL_SUB_CONST, pic::pic::BOGL_MUL_CONST, pic::pic::BOGL_DIV_CONST,
  pic::pic::BOGL_ADD_S, pic::pic::BOGL_SUB_S, pic::pic::BOGL_MUL_S, pic::pic::BOGL_DIV_S,
  pic::pic::BOGL_CLAMP, pic::pic::BOGL_ID, pic::pic::BOGL_ID_CONST
}
 
enum  pic::pic::SAMPLER_TYPE {
  pic::pic::ST_BRIDSON, pic::pic::ST_DARTTHROWING, pic::pic::ST_PATTERN, pic::pic::ST_MONTECARLO,
  pic::pic::ST_MONTECARLO_S
}
 
enum  pic::pic::BF_TYPE { pic::pic::BF_CLASSIC, pic::pic::BF_CROSS, pic::pic::BF_BRUSH }
 
enum  pic::pic::REDGL {
  pic::pic::REDGL_MIN, pic::pic::REDGL_MAX, pic::pic::REDGL_SUM, pic::pic::REDGL_MEAN,
  pic::pic::REDGL_LOG_MEAN
}
 
enum  pic::pic::IMAGESTORE {
  pic::pic::IMG_GPU_CPU, pic::pic::IMG_CPU_GPU, pic::pic::IMG_CPU, pic::pic::IMG_GPU,
  pic::pic::IMG_NULL
}
 

Functions

PIC_INLINE ImageGLVec pic::pic::SingleGL (ImageGL *img)
 SingleGL creates a single for filters input. More...
 
PIC_INLINE ImageGLVec pic::pic::DoubleGL (ImageGL *img1, ImageGL *img2)
 DoubleGL creates a couple for filters input. More...
 
PIC_INLINE ImageGLVec pic::pic::TripleGL (ImageGL *img1, ImageGL *img2, ImageGL *img3)
 TripleGL creates a triple for filters input. More...
 
PIC_INLINE bool pic::pic::ImageGLVecCheck (ImageGLVec &imgIn, int minInputImages)
 ImageGLVecCheck. More...
 
PIC_INLINE void pic::pic::getMinMaxFstops (Image *imgIn, int &minFstop, int &maxFstop)
 getMinMaxFstops computes the minimum and maximum f-stop values of an image. More...
 
PIC_INLINE std::vector< float > pic::pic::getAllExposuresUniform (Image *imgIn)
 getAllExposuresUniform computes all required exposure values for reconstructing the input image using uniform sampling More...
 
PIC_INLINE std::vector< float > pic::pic::getAllExposures (Image *imgIn)
 getAllExposures computes all required exposure values for reconstructing the input image using histogram sampling More...
 
PIC_INLINE ImageVec pic::pic::getAllExposuresImages (Image *imgIn, std::vector< float > &fstops, float gamma=2.2f)
 getAllExposuresImages converts an image into a stack of images. More...
 
PIC_INLINE ImageVec pic::pic::getAllExposuresImages (Image *imgIn, float gamma=2.2f)
 getAllExposuresImages converts an image into a stack of images. More...
 
PIC_INLINE ImageGLVec pic::pic::getAllExposuresImagesGL (ImageGL *imgIn, float gamma=2.2f)
 getAllExposuresImagesGL converts an HDR image into a stack of LDR images More...
 
template<class Scalar >
Scalar pic::pic::Bilinear (Scalar a, Scalar b, Scalar c, Scalar d, float x, float y)
 Bilinear calculates 2D bilinear interpolation at the point (x,y). More...
 
void pic::pic::invBilinear (float A, float dx, float dy, float *out)
 invBilinear More...
 
float pic::pic::Rx (float x)
 Rx evaluates B-spline (cubic). More...
 
float pic::pic::MitchellNetravali (float x, float B, float C)
 MitchellNetravali. More...
 
float pic::pic::Bicubic (float x)
 Bicubic. More...
 
float pic::pic::CatmullRom (float x)
 CatmullRom. More...
 
float pic::pic::Lanczos (float x, float a)
 Lanczos. More...
 
template<uint N>
PIC_INLINE bool pic::pic::insideVecBBox (const Vec< N, float > &sample)
 insideVecBBox More...
 
template<uint N>
PIC_INLINE Vec< N, float > pic::pic::normalize (Vec< N, float > x)
 
template<uint N>
PIC_INLINE Vec< N, float > pic::pic::randomPoint (std::mt19937 *m)
 randomPoint More...
 
template<uint N>
void pic::pic::vecrint (Vec< N, float > &ret)
 
template<uint N>
PIC_INLINE Vec< N, float > pic::pic::annulusSampling (std::mt19937 *m, Vec< N, float > center, float radius)
 annulusSampling More...
 
template<uint N>
void pic::pic::vecGamma (Vec< N, float > &ret, float g)
 
template<uint N>
void pic::pic::vecSqrt (Vec< N, float > &ret)
 
template<uint N>
Vec< N, float > pic::pic::vecValOver (Vec< N, float > &in, float value)
 
template<uint N, class T >
void pic::pic::transferFromVecToPlain (std::vector< Vec< N, T > > &in, std::vector< T > &out)
 
template<uint N, class T >
void pic::pic::transferFromPlainToVec (std::vector< T > &in, std::vector< Vec< N, T > > &out)
 
float pic::pic::randU ()
 randU computes a random number in [0, 1[ using the classic rand(). More...
 
float pic::pic::PoissonRadius (int nSamples)
 PoissonRadius estimates the radius of a Poisson-disk like distribution using nSmaples. More...
 
template<unsigned int N>
PIC_INLINE void pic::pic::getMonteCarloSamples (std::mt19937 *m, int nSamples, std::vector< float > &samples)
 getMonteCarloSamples More...
 
template<unsigned int N>
PIC_INLINE void pic::pic::getMonteCarloStratifiedSamples (std::mt19937 *m, int nSamples, std::vector< float > &samples)
 getMonteCarloStratifiedSamples More...
 
template<unsigned int N>
PIC_INLINE void pic::pic::getPatternMethodSamples (int nSamples, std::vector< float > &samples)
 getPatternMethodSampler More...
 
template<unsigned int N>
void pic::pic::getDartThrowingSamples (std::mt19937 *m, float radius2, int nSamples, std::vector< float > &samples)
 getDartThrowingSamples More...
 
template<unsigned int N>
bool pic::pic::checkNeighborsBruteForce (std::vector< Vec< N, float > > &samples, Vec< N, float > x, float radius)
 checkNeighborsBruteForce More...
 
template<unsigned int N>
void pic::pic::getBridsonSamples (std::mt19937 *m, float radius, std::vector< float > &samples, int kSamples=30)
 getBridsonSamples More...
 
template<unsigned int N>
PIC_INLINE void pic::pic::ConvertVectorToPlus1 (std::vector< RandomSampler< N > > &rsVec, RandomSampler< N+1 > &rsOut)
 
PIC_INLINE void pic::pic::glGetPrintError ()
 glGetPrintError More...
 
PIC_INLINE int pic::pic::getValueBF (BF_TYPE type)
 getValueBF More...
 
PIC_INLINE std::string pic::pic::GLSL_BICUBIC ()
 GLSL_BICUBIC returns bicubic sample. More...
 
PIC_INLINE std::string pic::pic::GLSL_TEXTURE_BICUBIC ()
 GLSL_TEXTURE_BICUBIC. More...
 
void pic::pic::getModesGL (int channels, int &mode, int &modeInternalFormat)
 getModesGL More...
 
void pic::pic::getModesHalfGL (int channels, int &mode, int &modeInternalFormat)
 getModesHalfGL More...
 
void pic::pic::getModesIntegerGL (int channels, int &mode, int &modeInternalFormat)
 getModesIntegerGL More...
 
int pic::pic::getChannelsFromInternalFormatGL (int internalFormat)
 getChannelsFromInternalFormatGL returns the number of channels given an internal format. More...
 
PIC_INLINE void pic::pic::getTextureInformationGL (GLuint texture, GLuint target, int &width, int &height, int &frames, int &channels)
 getTextureInformationGL returns width, height and frames values from a texture with target. More...
 
GLuint pic::pic::glBeginTimeQuery ()
 glBeginTimeQuery More...
 
GLuint64 pic::pic::glEndTimeQuery (GLuint64 ret)
 glEndTimeQuery More...
 
PIC_INLINE GLuint pic::pic::generateTexture2DGL (int width, int height, int channels, float *data=NULL, bool mipmap=false)
 generateTexture2DGL More...
 
PIC_INLINE GLuint pic::pic::generateTextureCubeMapGL (int width, int height, int channels, int frames, float *data=NULL)
 generateTextureCubeMapGL More...
 
PIC_INLINE GLuint pic::pic::generateTexture3DGL (int width, int height, int channels, int frames, float *data=NULL)
 generateTexture3DGL More...
 
PIC_INLINE GLuint pic::pic::generateTexture2DArrayGL (int width, int height, int channels, int frames, float *data=NULL)
 generateTexture2DArrayGL More...
 
PIC_INLINE GLuint pic::pic::generateTexture2DU32GL (int width, int height, int channels, int *data=NULL)
 generateTexture2DU32GL More...
 
PIC_INLINE GLuint pic::pic::GenerateMask (int width, int height, bool *buffer=NULL, GLuint tex=0, unsigned char *tmpBuffer=NULL, bool mipmap=false)
 GenerateMask creates an opengl mask (a texture) from a buffer of bool values. More...
 

Variables

const float pic::pic::mtxRGBtoXYZ []
 
const float pic::pic::mtxXYZtoRGB []
 
const float pic::pic::POISSON_RHO = 0.75f
 
const int pic::pic::CONST_DARTTHROWING = 5000