summaryrefslogtreecommitdiff
path: root/src/render/Texture.hpp
blob: f1211aec5145c988288dbb97bde9de178a3aa5ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#pragma once

#include "../defines.hpp"

enum TEXTURETYPE {
    TEXTURE_INVALID,    // Invalid
    TEXTURE_RGBA,       // 4 channels
    TEXTURE_RGBX,       // discard A
    TEXTURE_EXTERNAL,   // EGLImage
};

class CTexture {
public:
    CTexture();
    CTexture(wlr_texture*);

    void                destroyTexture();
    void                allocate();

    TEXTURETYPE         m_iType = TEXTURE_RGBA;
    GLenum              m_iTarget = GL_TEXTURE_2D;
    GLuint              m_iTexID = 0;
    Vector2D            m_vSize;
};