#ifndef CG1_TRACER_BLOOM_H #define CG1_TRACER_BLOOM_H #include "common/texture.h" #include "common/vector3d.h" class Bloom { public: Bloom(CImg image); CImg bloom(float threshold, int kernelSize, float sigma, float intensity); private: void scaleBrightness(float scale); void gaussianBlur(int kernelSize, float sigma); CImg convolution(CImg &img, CImg &kernel); CImg computeGaussianKernel(int kernelSize, float sigma); CImg image; }; #endif //CG1_TRACER_BLOOM_H