Brenta Engine 1.2
Loading...
Searching...
No Matches
ui_pass.cpp
1// SPDX-License-Identifier: MIT
2// Author: Giovanni Santini
3// Mail: giovanni.santini@proton.me
4// Github: @San7o
5
6#include <brenta/renderer/passes/ui_pass.hpp>
7#include <brenta/renderer/opengl/gl.hpp>
8#include <brenta/renderer/opengl/framebuffer.hpp>
9
10using namespace brenta;
11
12UiPass::UiPass(tenno::shared_ptr<FrameBuffer> fb,
13 bool clear, bool set_viewport)
14{
15 this->fb = fb;
16 this->clear = clear;
17 this->set_viewport = set_viewport;
18}
19
20void UiPass::begin()
21{
22 this->fb->bind();
23
24 if (this->set_viewport)
25 Gl::set_viewport(0, 0, this->fb->width, this->fb->height);
26
27 if (this->clear)
28 Gl::clear();
29}
30
31void UiPass::end()
32{
33 this->fb->unbind();
34}
35
36void UiPass::execute(const Renderer::RenderData& data)
37{
38 for (auto& text : data.ui_queue)
39 text.render(this->fb->width, this->fb->height);
40}