mirror of
https://github.com/WinampDesktop/winamp.git
synced 2025-05-29 06:41:11 -04:00
32 lines
657 B
C++
32 lines
657 B
C++
#pragma once
|
|
#include "glad.h"
|
|
#include "types.h"
|
|
|
|
namespace GL {
|
|
class Texture
|
|
{
|
|
public:
|
|
Texture(u32 width, u32 height, GLenum format, GLenum type, const void* data = nullptr, bool linear_filter = false,
|
|
bool create_framebuffer = false);
|
|
~Texture();
|
|
|
|
GLuint GetGLId() const { return m_id; }
|
|
u32 GetWidth() const { return m_width; }
|
|
u32 GetHeight() const { return m_height; }
|
|
|
|
GLuint GetGLFramebufferID() const { return m_fbo_id; }
|
|
|
|
void Bind();
|
|
void BindFramebuffer(GLenum target = GL_DRAW_FRAMEBUFFER);
|
|
|
|
static void Unbind();
|
|
|
|
private:
|
|
GLuint m_id;
|
|
u32 m_width;
|
|
u32 m_height;
|
|
|
|
GLuint m_fbo_id = 0;
|
|
};
|
|
|
|
} // namespace GL
|