From c5205a89eedbbefafb27d6ff482578d4cceaaaab Mon Sep 17 00:00:00 2001 From: aap Date: Fri, 19 Jun 2020 00:10:41 +0200 Subject: CCamera done --- src/render/MBlur.cpp | 12 +++++++++--- src/render/MBlur.h | 5 +++-- 2 files changed, 12 insertions(+), 5 deletions(-) (limited to 'src/render') diff --git a/src/render/MBlur.cpp b/src/render/MBlur.cpp index 9934ae18..ec99b90f 100644 --- a/src/render/MBlur.cpp +++ b/src/render/MBlur.cpp @@ -146,13 +146,13 @@ CMBlur::CreateImmediateModeData(RwCamera *cam, RwRect *rect) } void -CMBlur::MotionBlurRender(RwCamera *cam, uint32 red, uint32 green, uint32 blue, uint32 blur, int32 type) +CMBlur::MotionBlurRender(RwCamera *cam, uint32 red, uint32 green, uint32 blue, uint32 blur, int32 type, uint32 alpha) { RwRGBA color = { (RwUInt8)red, (RwUInt8)green, (RwUInt8)blue, (RwUInt8)blur }; if(ms_bJustInitialised) ms_bJustInitialised = false; else - OverlayRender(cam, pFrontBuffer, color, type); + OverlayRender(cam, pFrontBuffer, color, type, alpha); if(BlurOn){ RwRasterPushContext(pFrontBuffer); RwRasterRenderFast(RwCameraGetRaster(cam), 0, 0); @@ -161,7 +161,7 @@ CMBlur::MotionBlurRender(RwCamera *cam, uint32 red, uint32 green, uint32 blue, u } void -CMBlur::OverlayRender(RwCamera *cam, RwRaster *raster, RwRGBA color, int32 type) +CMBlur::OverlayRender(RwCamera *cam, RwRaster *raster, RwRGBA color, int32 type, int32 alpha) { int r, g, b, a; @@ -284,6 +284,12 @@ CMBlur::OverlayRender(RwCamera *cam, RwRaster *raster, RwRGBA color, int32 type) RwRenderStateSet(rwRENDERSTATEDESTBLEND, (void*)rwBLENDINVSRCALPHA); } +void +CMBlur::SetDrunkBlur(float drunkness) +{ + Drunkness = clamp(drunkness, 0.0f, 1.0f); +} + void CMBlur::ClearDrunkBlur() { diff --git a/src/render/MBlur.h b/src/render/MBlur.h index 5eac8dc0..ac298c22 100644 --- a/src/render/MBlur.h +++ b/src/render/MBlur.h @@ -22,8 +22,9 @@ public: static void MotionBlurOpen(RwCamera *cam); static void MotionBlurClose(void); static void CreateImmediateModeData(RwCamera *cam, RwRect *rect); - static void MotionBlurRender(RwCamera *cam, uint32 red, uint32 green, uint32 blue, uint32 blur, int32 type); - static void OverlayRender(RwCamera *cam, RwRaster *raster, RwRGBA color, int32 type); + static void MotionBlurRender(RwCamera *cam, uint32 red, uint32 green, uint32 blue, uint32 blur, int32 type, uint32 alpha); + static void OverlayRender(RwCamera *cam, RwRaster *raster, RwRGBA color, int32 type, int32 alpha); + static void SetDrunkBlur(float drunkness); static void ClearDrunkBlur(); //TODO -- cgit v1.2.3