From addaa7294bf58aa4c7757c2994d4edebea22b76d Mon Sep 17 00:00:00 2001 From: Artur Rojek Date: Sun, 11 Dec 2022 23:30:56 +0100 Subject: [PATCH] Fix framebuffer effects (#214) (#255) Flush framebuffer/depthbuffer after rendering the 3d scene. This allows screen effects such as smoke, sparks or electro-bastard ray to display correctly. Signed-off-by: Artur Rojek --- src/DETHRACE/common/graphics.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/DETHRACE/common/graphics.c b/src/DETHRACE/common/graphics.c index 9decd133..e2d80307 100644 --- a/src/DETHRACE/common/graphics.c +++ b/src/DETHRACE/common/graphics.c @@ -12,6 +12,7 @@ #include "globvars.h" #include "globvrpb.h" #include "grafdata.h" +#include "harness/hooks.h" #include "harness/os.h" #include "harness/trace.h" #include "init.h" @@ -1615,6 +1616,7 @@ void RenderAFrame(int pDepth_mask_on) { ProcessTrack(gUniverse_actor, &gProgram_state.track_spec, gCamera, &gCamera_to_world, 1); } RenderSplashes(); + Harness_Hook_FlushRenderer(); /* Dethrace. Flush buffers into memory. */ RenderSmoke(gRender_screen, gDepth_buffer, gCamera, &gCamera_to_world, gFrame_period); RenderSparks(gRender_screen, gDepth_buffer, gCamera, &gCamera_to_world, gFrame_period); RenderProximityRays(gRender_screen, gDepth_buffer, gCamera, &gCamera_to_world, gFrame_period);