Rendu
A lightweight rendering engine for experimentations
Main Page
Modules
Namespaces
Classes
Files
Related Pages
File List
Loading...
Searching...
No Matches
src
engine
processing
GaussianBlur.hpp
1
#pragma once
2
3
#include "resources/Texture.hpp"
4
#include "graphics/Program.hpp"
5
#include "Common.hpp"
6
17
class
GaussianBlur
{
18
19
public
:
26
GaussianBlur
(uint radius, uint downscale,
const
std::string & name);
27
34
void
process
(
const
Texture
& src,
Texture
& dst);
35
36
private
:
37
43
void
resize
(uint width, uint height);
44
45
Program
*
_blurProgramDown
;
46
Program
*
_blurProgramUp
;
47
Program
*
_passthrough
;
48
std::vector<Texture>
_levels
;
49
uint
_downscale
= 1;
50
};
GaussianBlur
Applies an approximate gaussian blur using a dual filtering approach.
Definition:
GaussianBlur.hpp:17
GaussianBlur::_blurProgramUp
Program * _blurProgramUp
The upscaling filter.
Definition:
GaussianBlur.hpp:46
GaussianBlur::_levels
std::vector< Texture > _levels
Downscaled pyramid textures.
Definition:
GaussianBlur.hpp:48
GaussianBlur::_downscale
uint _downscale
Initial downscaling factor.
Definition:
GaussianBlur.hpp:49
GaussianBlur::_blurProgramDown
Program * _blurProgramDown
The downscaling filter.
Definition:
GaussianBlur.hpp:45
GaussianBlur::_passthrough
Program * _passthrough
The copy program.
Definition:
GaussianBlur.hpp:47
GaussianBlur::process
void process(const Texture &src, Texture &dst)
Definition:
GaussianBlur.cpp:16
GaussianBlur::resize
void resize(uint width, uint height)
Definition:
GaussianBlur.cpp:72
Program
Represents a group of shaders used for rendering.
Definition:
Program.hpp:31
Texture
Represents a texture containing one or more images, stored on the CPU and/or GPU.
Definition:
Texture.hpp:12
Generated by
Doxygen
1.9.5 - Theme by
Simon Rodriguez