Program Listing for File GBuffer.hpp
↰ Return to documentation for file (Src/GraphicsEngineOpenGL/renderer/deferred/GBuffer.hpp
)
#pragma once
#include <glad/glad.h>
// #include <GLFW/glfw3.h>
#include <glm/glm.hpp>
#include <glm/gtc/type_ptr.hpp>
#include <memory>
#include "hostDevice/GlobalValues.hpp"
#include "renderer/ShaderProgram.hpp"
class GBuffer
{
public:
GBuffer();
GBuffer(GLint window_width, GLint window_height);
void create();
void read(std::shared_ptr<ShaderProgram> shader_program);
void update_window_params(GLuint window_width, GLuint window_height);
GLuint get_id() const { return g_buffer; };
~GBuffer();
private:
GLuint g_buffer;
GLuint g_position, g_normal, g_albedo, g_material_id, g_depth;
GLuint g_buffer_attachment[G_BUFFER_SIZE] = { GL_COLOR_ATTACHMENT0,
GL_COLOR_ATTACHMENT1,
GL_COLOR_ATTACHMENT2,
GL_COLOR_ATTACHMENT3 };
GLuint window_width, window_height;
};