mirror of
https://github.com/MadeOfJelly/MushMachine.git
synced 2025-07-13 04:26:47 +02:00
28 lines
938 B
C++
28 lines
938 B
C++
#pragma once
|
|
|
|
#include <string>
|
|
|
|
#include "./render_task.hpp"
|
|
|
|
namespace MM::OpenGL {
|
|
|
|
// helper function to setup a bloom blur and recombine chain
|
|
// creates (texture) rendertarget, fbos and rendertasks
|
|
// outputs blur to "blur_tmp1" texture
|
|
//
|
|
// you still need to add the Composition rendertask (or eqv) your self, eg:
|
|
// auto& comp = rs.addRenderTask<MM::OpenGL::RenderTasks::Composition>(engine);
|
|
// comp.color_tex = "hdr_color";
|
|
// comp.bloom_tex = "blur_tmp1";
|
|
// comp.target_fbo = "display";
|
|
void setup_bloom(
|
|
MM::Engine& engine,
|
|
const std::string color_src_tex = "hdr_color", // texture to extract color from
|
|
const size_t bloom_phases = 5, // number of downsampled blurs (4 prob fine for 720, 5 for 1080)
|
|
const float bloom_in_scale = 0.5f, // scale of bloom extraction layer (1 - 0.5 best, lower for more perf)
|
|
const float bloom_phase_scale = 0.5f // ammount of scaling per downsampling
|
|
);
|
|
|
|
} // MM::OpenGL
|
|
|