Oxygen Engine
Modern C++ 3D Engine using OpenGL
Loading...
Searching...
No Matches
renderer.h
1#ifndef OE_GUI_RENDERER_H
2#define OE_GUI_RENDERER_H
3
4#include <glm/vec2.hpp>
5#include <glm/vec4.hpp>
6
7#include "../render/mesh.h"
8#include "../render/shader.h"
9
10struct nk_context;
11struct nk_buffer;
12struct nk_convert_config;
13struct nk_font_atlas;
14struct nk_draw_null_texture;
15
16namespace oe
17{
18 namespace render
19 {
20 class Texture;
21 }
22 namespace gui
23 {
24 class Manager;
25
27 {
28 public:
34 explicit Renderer();
35
40
51 void setFontBlankData(const render::Texture* texture, const glm::vec2& uv);
52
56 void render(const Manager& manager);
57
61 void render(nk_context* ctx, const glm::uvec2& dimensions);
62
91
92 protected:
93 nk_convert_config* _nk_config;
94 nk_buffer* _command_buffer;
95
96 oe::render::Mesh _mesh;
97 };
98 }
99}
100#endif
Definition manager.h:35
void render(const Manager &manager)
Draw the UI using a manager.
void render(nk_context *ctx, const glm::uvec2 &dimensions)
Draw the UI using nuklear context and dimensions.
void setFontBlankData(const render::Texture *texture, const glm::vec2 &uv)
Set uv coordinates and texture containing an opaque white pixel.
oe::render::Shader shader
Shader used for rendering the GUI.
Definition renderer.h:90
Renderer()
Constructor. Prepare the renderer.
~Renderer()
Destructor.
Definition mesh.h:80
Standard shader class.
Definition shader.h:23
Definition texture.h:31
Graphical user interface (panels, buttons, text input, ...).
Definition component.h:11
Render related abstractions (Shader, Framebuffer, Cubemaps, Textures).
Definition opengl.h:12
Oxygen Engine common namespace.
Definition debug.h:17