diff options
author | Nikolay Korolev <nickvnuk@gmail.com> | 2020-08-16 13:46:20 +0200 |
---|---|---|
committer | Nikolay Korolev <nickvnuk@gmail.com> | 2020-08-16 13:46:20 +0200 |
commit | 7669b97ac64bd77dc0932210f81e4a0def9bfb1b (patch) | |
tree | 51c7580701ea00abc769e68d14a83a25b8ebd0cf /src/extras/postfx.h | |
parent | submodule (diff) | |
parent | Merge branch 'master' into miami (diff) | |
download | re3-7669b97ac64bd77dc0932210f81e4a0def9bfb1b.tar re3-7669b97ac64bd77dc0932210f81e4a0def9bfb1b.tar.gz re3-7669b97ac64bd77dc0932210f81e4a0def9bfb1b.tar.bz2 re3-7669b97ac64bd77dc0932210f81e4a0def9bfb1b.tar.lz re3-7669b97ac64bd77dc0932210f81e4a0def9bfb1b.tar.xz re3-7669b97ac64bd77dc0932210f81e4a0def9bfb1b.tar.zst re3-7669b97ac64bd77dc0932210f81e4a0def9bfb1b.zip |
Diffstat (limited to 'src/extras/postfx.h')
-rw-r--r-- | src/extras/postfx.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/extras/postfx.h b/src/extras/postfx.h new file mode 100644 index 00000000..ace2e4a8 --- /dev/null +++ b/src/extras/postfx.h @@ -0,0 +1,45 @@ +#pragma once + +#ifdef EXTENDED_COLOURFILTER + +class CPostFX +{ +public: + enum { + POSTFX_OFF, + POSTFX_SIMPLE, + POSTFX_NORMAL, + POSTFX_MOBILE + }; + static RwRaster *pFrontBuffer; + static RwRaster *pBackBuffer; + static bool bJustInitialised; + static int EffectSwitch; + static bool BlurOn; // or use CMblur for that? + static bool MotionBlurOn; // or use CMblur for that? + static float Intensity; + + // smooth blur color + enum { NUMAVERAGE = 20 }; + static int PrevRed[NUMAVERAGE], AvgRed; + static int PrevGreen[NUMAVERAGE], AvgGreen; + static int PrevBlue[NUMAVERAGE], AvgBlue; + static int PrevAlpha[NUMAVERAGE], AvgAlpha; + static int Next; + static int NumValues; + + static void InitOnce(void); + static void Open(RwCamera *cam); + static void Close(void); + static void RenderOverlayBlur(RwCamera *cam, int32 r, int32 g, int32 b, int32 a); + static void RenderOverlaySniper(RwCamera *cam, int32 r, int32 g, int32 b, int32 a); + static void RenderOverlayShader(RwCamera *cam, int32 r, int32 g, int32 b, int32 a); + static void RenderMotionBlur(RwCamera *cam, uint32 blur); + static void Render(RwCamera *cam, uint32 red, uint32 green, uint32 blue, uint32 blur, int32 type, uint32 bluralpha); + static void SmoothColor(uint32 red, uint32 green, uint32 blue, uint32 alpha); + static bool NeedBackBuffer(void); + static bool NeedFrontBuffer(int32 type); + static bool UseBlurColours(void) { return EffectSwitch != POSTFX_SIMPLE; } +}; + +#endif |