33 lines
1.1 KiB
C++
33 lines
1.1 KiB
C++
#pragma once
|
||
#include "render/OpenGlExtensions.h"
|
||
#include <memory>
|
||
|
||
namespace ZL {
|
||
|
||
class FrameBuffer {
|
||
private:
|
||
GLuint fbo = 0;
|
||
GLuint textureID = 0;
|
||
int width, height;
|
||
bool useMipmaps; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD>
|
||
|
||
public:
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> false
|
||
FrameBuffer(int w, int h, bool useMipmaps = false);
|
||
~FrameBuffer();
|
||
|
||
FrameBuffer(const FrameBuffer&) = delete;
|
||
FrameBuffer& operator=(const FrameBuffer&) = delete;
|
||
|
||
void Bind();
|
||
void Unbind();
|
||
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
void GenerateMipmaps();
|
||
|
||
GLuint getTextureID() const { return textureID; }
|
||
int getWidth() const { return width; }
|
||
int getHeight() const { return height; }
|
||
};
|
||
|
||
} // namespace ZL
|