voxelcore/src/graphics/core/GBuffer.hpp
2025-05-07 20:42:50 +03:00

34 lines
617 B
C++

#pragma once
#include "typedefs.hpp"
#include "commons.hpp"
class GBuffer : public Bindable{
public:
GBuffer(uint width, uint height);
~GBuffer();
void bind() override;
void unbind() override;
void bindBuffers();
void resize(uint width, uint height);
uint getWidth() const;
uint getHeight() const;
private:
uint width;
uint height;
uint fbo;
uint colorBuffer;
uint positionsBuffer;
uint normalsBuffer;
uint depthBuffer;
void createColorBuffer();
void createPositionsBuffer();
void createNormalsBuffer();
void createDepthBuffer();
};