Polyphase Game Engine
Loading...
Searching...
No Matches
BlurPass.h
Go to the documentation of this file.
1#pragma once
2
4
5#define BLUR_MAX_SAMPLES 127
6
8{
9 int32_t mHorizontal = 0;
10 int32_t mNumSamples = 4;
11 float mBlurSize = 4.0f;
12 float mSigmaRatio = 0.2f;
13
14 int32_t mBoxBlur = 0;
15 int32_t mInputWidth = 1;
16 int32_t mInputHeight = 1;
17 int32_t mPad0 = 1337;
18
20};
21
23{
24public:
25
26 virtual void Create() override;
27 virtual void Destroy() override;
28
29 virtual void Render(Image* input, Image* output) override;
30
31 virtual void GatherProperties(std::vector<Property>& props) override;
32
33protected:
34
35 Image* mXBlurImage = nullptr;
37
38 // Extra render targets used when blurring at half or quarter resolution.
39 Image* mXBlurLowResImage = nullptr;
40 Image* mYBlurLowResImage = nullptr;
41 int32_t mDownsampleFactor = 1;
42 bool mEnableDownsample = false;
43};
#define BLUR_MAX_SAMPLES
Definition BlurPass.h:5
Definition BlurPass.h:23
bool mEnableDownsample
Definition BlurPass.h:42
virtual void Destroy() override
Definition BlurPass.cpp:28
virtual void GatherProperties(std::vector< Property > &props) override
Definition BlurPass.cpp:312
Image * mXBlurImage
Definition BlurPass.h:35
Image * mXBlurLowResImage
Definition BlurPass.h:39
virtual void Create() override
Definition BlurPass.cpp:5
virtual void Render(Image *input, Image *output) override
Definition BlurPass.cpp:45
int32_t mDownsampleFactor
Definition BlurPass.h:41
Image * mYBlurLowResImage
Definition BlurPass.h:40
BlurUniforms mUniforms
Definition BlurPass.h:36
Definition PostProcessPass.h:9
Definition BlurPass.h:8
int32_t mHorizontal
Definition BlurPass.h:9
int32_t mBoxBlur
Definition BlurPass.h:14
glm::vec4 mGaussianWeights[BLUR_MAX_SAMPLES]
Definition BlurPass.h:19
int32_t mInputWidth
Definition BlurPass.h:15
float mBlurSize
Definition BlurPass.h:11
int32_t mInputHeight
Definition BlurPass.h:16
int32_t mPad0
Definition BlurPass.h:17
float mSigmaRatio
Definition BlurPass.h:12
int32_t mNumSamples
Definition BlurPass.h:10