Posts OpenGL 공부 - 20 - Texture Class
Post
Cancel

OpenGL 공부 - 20 - Texture Class

목표


  • 텍스쳐 클래스화하기


텍스쳐 클래스 작성


기존에 메소드화하여 사용하던 텍스쳐를 클래스화하려고 한다.

function.hpp 파일에 LoadTextureImage() 메소드에 작성했던 내용을 클래스로 옮겨 작성한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Texture
{
private:
    GLuint id;
    GLenum type;
    int width;
    int height;

public:
    Texture(const char* fileName, GLenum type);
    ~Texture();

    inline const GLuint& GetID();
    void Bind(const GLint& index);
    void Release();
    void loadFromFile(const char* fileDir);
};

그래서 예전에는

1
2
GLuint texture0 = LoadTextureImage("Images/MoonCat.png");
GLuint texture1 = LoadTextureImage("Images/Wall.png");

이렇게 메소드로 사용하던 부분을

1
2
Texture texture0("Images/MoonCat.png");
Texture texture1("Images/Wall.png");

이렇게 객체로 변경하고,

메인 루프의

1
2
3
4
5
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, texture0);

glActiveTexture(GL_TEXTURE1);
glBindTexture(GL_TEXTURE_2D, texture1);

이 부분을

1
2
texture0.Bind(0);
texture1.Bind(1);

요로코롬 바꾼다.


Source Code



References


This post is licensed under CC BY 4.0 by the author.