목표
- 텍스쳐 클래스화하기
텍스쳐 클래스 작성
기존에 메소드화하여 사용하던 텍스쳐를 클래스화하려고 한다.
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);
요로코롬 바꾼다.