Files
korenkonder_ReDIVA/src/CRE/render_texture.hpp
T

39 lines
1.0 KiB
C++

/*
by korenkonder
GitHub/GitLab: korenkonder
*/
#pragma once
#include "shared.hpp"
#include "shader.hpp"
#include "texture.hpp"
struct RenderTexture {
texture* color_texture;
texture* depth_texture;
int32_t binding;
int32_t max_level;
GLuint fbos[16];
GLuint rbo;
GLuint field_2C;
RenderTexture();
~RenderTexture();
int32_t Bind(int32_t index = 0);
void Free();
int32_t Init(int32_t width, int32_t height,
int32_t max_level, GLenum color_format, GLenum depth_format);
int32_t SetColorDepthTextures(GLuint color_texture,
int32_t max_level = 0, GLuint depth_texture = 0, bool stencil = false);
static void Draw(shader_set_data* set);
static void DrawCustom();
static void DrawQuad(shader_set_data* set, int32_t width, int32_t height, float_t scale = 1.0f,
float_t param_x = 1.0f, float_t param_y = 1.0f, float_t param_z = 1.0f, float_t param_w = 1.0f);
};
extern void render_texture_data_init();
extern void render_texture_data_free();