๊ฐ์ฒด์ ๋ ๋ง์ ์ธ๋ถ์ฌํญ์ ์ถ๊ฐํ๊ธฐ ์ํด, ๊ฐ ์ ์ ์ ์์์ ์ฌ์ฉํ์ฌ ํฅ๋ฏธ๋ก์ด ์ด๋ฏธ์ง๋ฅผ ๋ง๋ค ์ ์๋ค๋ ๊ฒ์ ๋ฐฐ์ ์ต๋๋ค.
๊ทธ๋ฌ๋ ํ์ค๊ฐ์ ์ป๊ธฐ ์ํด์๋ ๋ง์ ์์ ์ ์ ์ด ํ์ํ๊ณ , ๊ฐ ์ ์ ๋ง๋ค ์์ ์์ฑ์ด ํ์ํ๊ธฐ ๋๋ฌธ์ ์๋นํ ์ถ๊ฐ ๋ถ๋ด์ด ์๊น๋๋ค.
๋๋ถ๋ถ์ ์์ ๊ฐ์ ํ๋ก๊ทธ๋๋จธ๋ค์ ํ ์ค์ฒ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์ ํธํฉ๋๋ค.
ํ ์ค์ฒ๋ ๊ฐ์ฒด์ ์ธ๋ถ ์ฌํญ์ ์ถ๊ฐํ๋๋ฐ ์ฌ์ฉ๋๋ 2D ์ด๋ฏธ์ง ์ ๋๋ค.
ํ ์ค์ฒ๋ฅผ ์ข ์ด ํ ์ฅ์ ๋ฒฝ๋ ์ด๋ฏธ์ง๊ฐ ์๋ ๊ฒ์ผ๋ก ๊ฐ์ ํด๋ด ์๋ค.
์ด ์ข ์ด๋ฅผ 3D ์ง ์์ ๊น๋ํ๊ฒ ์ ์ด์ ์ง์ด ๋๋ก ๋ ์ธ๊ด์ ๊ฐ์ง ๊ฒ์ฒ๋ผ ๋ณด์ด๊ฒ ํ ์ ์์ต๋๋ค.
ํ๋์ ์ด๋ฏธ์ง์ ๋ง์ ์ธ๋ถ์ฌํญ์ ๋ฃ์ ์ ์๊ธฐ ๋๋ฌธ์, ์ถ๊ฐ์ ์ธ ์ ์ ์ ์ง์ ํ ํ์ ์์ด ๊ฐ์ฒด๊ฐ ๋งค์ฐ ์ธ๋ถ์ ์ผ๋ก ๋ณด์ด๋ ์ฐฉ๊ฐ์ ์ค ์ ์์ต๋๋ค.
์ด๋ฏธ์ง ์ธ์๋ ํ ์ค์ฒ๋ ์จ์ด๋์ ์์์ ๋ฐ์ดํฐ๋ฅผ ๋๋์ผ๋ก ์ ์กํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ์ด๋ฅธ ๋ค๋ฅธ ์ฃผ์ ์์ ๋ค๋ฃจ๊ฒ ์ต๋๋ค.
์ผ๊ฐํ์ ํ ์ค์ฒ๋ฅผ ๋งคํํ๊ธฐ ์ํด์๋ ์ผ๊ฐํ์ ๊ฐ ์ ์ ์ด ํ ์ค์ฒ์ ์ด๋ ๋ถ๋ถ์ ํด๋นํ๋์ง ์๋ ค์ค์ผ ํฉ๋๋ค.
๋ฐ๋ผ์ ๊ฐ ์ ์ ์๋ ํ ์ค์ฒ ์ด๋ฏธ์ง์์ ์ํ๋งํ ๋ถ๋ถ์ ์ง์ ํ๋ ํ ์ค์ฒ ์ขํ๊ฐ ์์ด์ผ ํฉ๋๋ค.
๊ทธ ํ ํ๋๊ทธ๋จผํธ ๋ณด๊ฐ์ด ๋ค๋ฅธ ํ๋๊ทธ๋จผํธ์ ๋ํ ๋๋จธ์ง๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค.
ํ ์ค์ฒ ์ขํ๋ x์ถ๊ณผ y์ถ์์ 0๋ถํฐ 1๊น์ง์ ๋ฒ์๋ฅผ ๊ฐ์ง๋๋ค(2D ํ ์ค์ฒ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ๋ค๋ ๊ฒ์ ๊ธฐ์ตํ์ธ์).
ํ ์ค์ฒ ์ขํ๋ฅผ ์ฌ์ฉํ์ฌ ํ ์ค์ฒ ์์์ ์ป๋ ๊ฒ์ ์ํ๋ง์ด๋ผ๊ณ ํฉ๋๋ค.
ํ ์ค์ฒ ์ขํ๋ ํ ์ค์ฒ ์ด๋ฏธ์ง์ ์ผ์ชฝ ํ๋จ ๋ชจ์๋ฆฌ์ ๋ํด (0,0)์์ ์์ํ์ฌ ์ค๋ฅธ์ชฝ ์๋จ ๋ชจ์๋ฆฌ์ ๋ํด (1,1)๊น์ง์ ๋๋ค. ๋ค์ ์ด๋ฏธ์ง๋ ์ผ๊ฐํ์ ํ ์ค์ฒ ์ขํ๋ฅผ ๋งคํํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค

์ผ๊ฐํ์ ๋ํด 3๊ฐ์ ํ ์ค์ฒ ์ขํ ์ ์ ์ง์ ํฉ๋๋ค. ์ผ๊ฐํ์ ์ผ์ชฝ ํ๋จ์ด ํ ์ค์ฒ์ ์ผ์ชฝ ํ๋จ๊ณผ ์ผ์นํ๋๋ก ํ๋ ค๋ฉด ์ผ๊ฐํ์ ์ผ์ชฝ ํ๋จ ์ ์ ์ (0,0) ํ ์ค์ฒ ์ขํ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ค๋ฅธ์ชฝ ํ๋จ๋ ๋ง์ฐฌ๊ฐ์ง๋ก (1,0) ํ ์ค์ฒ ์ขํ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ผ๊ฐํ์ ์๋จ์ ํ ์ค์ฒ ์ด๋ฏธ์ง์ ์๋จ ์ค์์ ํด๋นํ๋ฏ๋ก (0.5,1.0)์ ํ ์ค์ฒ ์ขํ๋ก ์ฌ์ฉํฉ๋๋ค.
์ ์ ์ ฐ์ด๋์๋ 3๊ฐ์ ํ ์ค์ฒ ์ขํ๋ง ์ ๋ฌํ๋ฉด ๋๋ฉฐ, ์ด๋ ํ๋๊ทธ๋จผํธ ์ ฐ์ด๋์ ์ ๋ฌ๋์ด ๊ฐ ํ๋๊ทธ๋จผํธ์ ๋ํ ๋ชจ๋ ํ ์ค์ฒ ์ขํ๋ฅผ ๊น๋ํ๊ฒ ๋ณด๊ฐํฉ๋๋ค.
float texCoords[] = {
0.0f, 0.0f, // lower-left corner
1.0f, 0.0f, // lower-right corner
0.5f, 1.0f // top-center corner
};
ํ ์ค์ฒ ์ํ๋ง์ ๋ค์ํ ๋ฐฉ์์ผ๋ก ์ํ๋ ์ ์์ผ๋ฉฐ, ์ด๋ OpenGL์ ํ ์ค์ฒ๋ฅผ ์ด๋ป๊ฒ ์ํ๋งํด์ผ ํ๋์ง ์ง์ํ๋ ์ฐ๋ฆฌ์ ์ญํ ์ ๋๋ค.
Texture Wrapping
ํ ์ค์ฒ ์ขํ๋ ๋ณดํต (0,0)์์ (1,1) ๋ฒ์๋ฅผ ๊ฐ์ง๋๋ค. ํ์ง๋ง ์ด ๋ฒ์ ๋ฐ์ ์ขํ๋ฅผ ์ง์ ํ๋ฉด ์ด๋ป๊ฒ ๋ ๊น์?
OpenGL์ ๊ธฐ๋ณธ ๋์์ ํ ์ค์ฒ ์ด๋ฏธ์ง๋ฅผ ๋ฐ๋ณตํ๋ ๊ฒ์ ๋๋ค(๋ถ๋ ์์์ ํ ์ค์ฒ ์ขํ์ ์ ์ ๋ถ๋ถ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฌด์ํฉ๋๋ค). ๊ทธ๋ฌ๋ OpenGL์ ๋ค์๊ณผ ๊ฐ์ ์ถ๊ฐ ์ต์ ์ ์ ๊ณตํฉ๋๋ค
GL_REPEAT: ํ ์ค์ฒ์ ๊ธฐ๋ณธ ๋์์ ๋๋ค. ํ ์ค์ฒ ์ด๋ฏธ์ง๋ฅผ ๋ฐ๋ณตํฉ๋๋ค.
GL_MIRRORED_REPEAT: GL_REPEAT๊ณผ ๋์ผํ์ง๋ง ๊ฐ ๋ฐ๋ณต๋ง๋ค ์ด๋ฏธ์ง๋ฅผ ๋ฏธ๋ฌ๋งํฉ๋๋ค.
GL_CLAMP_TO_EDGE: ์ขํ๋ฅผ 0๊ณผ 1 ์ฌ์ด๋ก ์ ํํฉ๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก ๋ ๋์ ์ขํ๋ ๊ฐ์ฅ์๋ฆฌ๋ก ๊ณ ์ ๋์ด ๊ฐ์ฅ์๋ฆฌ ํจํด์ด ๋์ด๋๊ฒ ๋ฉ๋๋ค.
GL_CLAMP_TO_BORDER: ๋ฒ์ ๋ฐ์ ์ขํ๋ ์ฌ์ฉ์๊ฐ ์ง์ ํ ํ ๋๋ฆฌ ์์์ ๊ฐ์ง๋๋ค.
๊ฐ ์ต์ ์ ๊ธฐ๋ณธ ๋ฒ์ ๋ฐ์ ํ ์ค์ฒ ์ขํ๋ฅผ ์ฌ์ฉํ ๋ ๋ค๋ฅธ ์๊ฐ์ ์ถ๋ ฅ์ ๊ฐ์ง๋๋ค. ๋ค์์ ์ํ ํ ์ค์ฒ ์ด๋ฏธ์ง(Hólger Rezende)์์ ์ด๋ฌํ ์ต์ ์ด ์ด๋ป๊ฒ ๋ณด์ด๋์ง ๋ณด์ฌ์ค๋๋ค:

์์ ์ธ๊ธํ ๊ฐ ์ต์ ์ glTexParameter* ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์ขํ ์ถ(s, t (3D ํ ์ค์ฒ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ r) x,y,z์ ํด๋น)๋ง๋ค ์ค์ ํ ์ ์์ต๋๋ค.
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_MIRRORED_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_MIRRORED_REPEAT);
์ฒซ ๋ฒ์งธ ์ธ์๋ ํ ์ค์ฒ ๋์์ ์ง์ ํฉ๋๋ค. ์ฐ๋ฆฌ๋ 2D ํ ์ค์ฒ๋ฅผ ๋ค๋ฃจ๊ณ ์์ผ๋ฏ๋ก ํ ์ค์ฒ ๋์์ GL_TEXTURE_2D์ ๋๋ค. ๋ ๋ฒ์งธ ์ธ์๋ ์ฐ๋ฆฌ๊ฐ ์ค์ ํ๋ ค๋ ์ต์ ๊ณผ ํ ์ค์ฒ ์ถ์ ์ง์ ํด์ผ ํฉ๋๋ค.
์ฐ๋ฆฌ๋ S์ T ์ถ ๋ชจ๋์ ๋ํด ๊ตฌ์ฑํ๊ณ ์ ํฉ๋๋ค. ๋ง์ง๋ง ์ธ์๋ ์ฐ๋ฆฌ๊ฐ ์ํ๋ ํ ์ค์ฒ ๋ํ ๋ชจ๋๋ฅผ ์ ๋ฌํด์ผ ํ๋ฉฐ, ์ด ๊ฒฝ์ฐ OpenGL์ ํ์ฌ ํ์ฑํ๋ ํ ์ค์ฒ์ GL_MIRRORED_REPEAT์ผ๋ก ํ ์ค์ฒ ๋ํ ์ต์ ์ ์ค์ ํฉ๋๋ค.
GL_CLAMP_TO_BORDER ์ต์ ์ ์ ํํ ๊ฒฝ์ฐ ํ ๋๋ฆฌ ์์๋ ์ง์ ํด์ผ ํฉ๋๋ค.
์ด๋ GL_TEXTURE_BORDER_COLOR๋ฅผ ์ต์ ์ผ๋ก ์ฌ์ฉํ๋ glTexParameter ํจ์์ fv ๋ฑ๊ฐ๋ฅผ ์ฌ์ฉํ์ฌ ํ ๋๋ฆฌ ์์ ๊ฐ์ ๋ถ๋ ์์์ ๋ฐฐ์ด์ ์ ๋ฌํจ์ผ๋ก์จ ์ํ๋ฉ๋๋ค.
float borderColor[] = { 1.0f, 1.0f, 0.0f, 1.0f };
glTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_BORDER_COLOR, borderColor);
Texture Filtering
ํ ์ค์ฒ ์ขํ๋ ํด์๋์ ๋ง์ถฐ์ง์ง ์๊ณ ์ด๋ค ๋ถ๋ ์์์ ๊ฐ๋ ๋ ์ ์์ต๋๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ OpenGL์ ํ ์ค์ฒ ์ขํ์ ๋งคํํ ํ ์ค์ฒ ํฝ์ (ํ ์ )์ ๊ฒฐ์ ํด์ผ ํฉ๋๋ค.
์ด๋ ํนํ ํฐ ๊ฐ์ฒด์์ ํด์๋๊ฐ ๋ฎ์ ํ ์ค์ฒ๋ฅผ ๊ฐ์ง ๋ ์ค์ํด์ง๋๋ค.
์ฌ๋ฌ ์ต์ ์ด ์์ง๋ง ์ง๊ธ์ ๊ฐ์ฅ ์ค์ํ ์ต์ ์ธ GL_NEAREST์ GL_LINEAR์ ๋ํด ๋ ผ์ํ๊ฒ ์ต๋๋ค.
GL_NEAREST(๋ํ ์ต๊ทผ์ ์ด์ ๋๋ ํฌ์ธํธ ํํฐ๋ง์ผ๋ก ์๋ ค์ง)์ OpenGL์ ๊ธฐ๋ณธ ํ ์ค์ฒ ํํฐ๋ง ๋ฐฉ๋ฒ์ ๋๋ค.
GL_NEAREST๋ก ์ค์ ํ๋ฉด, OpenGL์ ํ ์ค์ฒ ์ขํ์ ๊ฐ์ฅ ๊ฐ๊น์ด ์ค์ฌ์ ๊ฐ์ง ํ ์ ์ ์ ํํฉ๋๋ค.
์๋์๋ ์ญ์๊ฐ๊ฐ ์ ํํ ํ ์ค์ฒ ์ขํ๋ฅผ ๋ํ๋ด๋ 4๊ฐ์ ํฝ์ ์ด ๋ณด์ ๋๋ค. ์ผ์ชฝ ์๋จ์ ํ ์ ์ด ํ ์ค์ฒ ์ขํ์ ๊ฐ์ฅ ๊ฐ๊น์ด ์ค์ฌ์ ๊ฐ์ง๋ฏ๋ก ์ํ๋ง๋ ์์์ผ๋ก ์ ํ๋ฉ๋๋ค

GL_LINEAR(๋ํ (์)์ ํ ํํฐ๋ง์ผ๋ก ์๋ ค์ง)๋ ํ ์ค์ฒ ์ขํ ์ฃผ๋ณ์ ํ ์ ์์ ๋ณด๊ฐ๋ ๊ฐ์ ๊ฐ์ ธ์ ํ ์ ์ฌ์ด์ ์์์ ๊ทผ์ฌํฉ๋๋ค.
ํ ์ค์ฒ ์ขํ์์ ํ ์ ์ค์ฌ๊น์ง์ ๊ฑฐ๋ฆฌ๊ฐ ์์์๋ก ํด๋น ํ ์ ์ ์์์ด ์ํ๋ง๋ ์์์ ๋ ๋ง์ด ๊ธฐ์ฌํฉ๋๋ค. ์๋์์ ์ฐ๋ฆฌ๋ ์ด์ํ๋ ํฝ์ ๋ค์ ํผํฉ๋ ์์์ด ๋ฐํ๋๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.

๊ทธ๋ ๋ค๋ฉด ์ด๋ฌํ ํ ์ค์ฒ ํํฐ๋ง ๋ฐฉ๋ฒ์ ์๊ฐ์ ํจ๊ณผ๋ ๋ฌด์์ผ๊น์? ์ ํด์๋ ํ ์ค์ฒ๋ฅผ ํฐ ๊ฐ์ฒด์ ์ฌ์ฉํ ๋(ํ ์ค์ฒ๋ ๋ฐ๋ผ์ ํ๋๋์ด ๊ฐ๋ณ ํ ์ ์ด ๋์ ๋๊ฒ ๋จ) ์ด๋ฌํ ๋ฐฉ๋ฒ๋ค์ด ์ด๋ป๊ฒ ์๋ํ๋์ง ๋ด ์๋ค.

GL_NEAREST๋ ํ ์ค์ฒ๋ฅผ ํ์ฑํ๋ ํฝ์ ์ด ๋ช ํํ๊ฒ ๋ณด์ด๋ ์ฐจ๋จ๋ ํจํด์ ๊ฒฐ๊ณผ๋ก ํ๋ฉฐ, GL_LINEAR๋ ๊ฐ๋ณ ํฝ์ ์ด ๋ ๋ณด์ด๋ ๋ ๋ถ๋๋ฌ์ด ํจํด์ ์์ฑํฉ๋๋ค.
GL_LINEAR๋ ๋ ํ์ค์ ์ธ ์ถ๋ ฅ์ ์์ฑํ์ง๋ง, ์ผ๋ถ ๊ฐ๋ฐ์๋ค์ ๋ 8๋นํธ ์คํ์ผ์ ์ ํธํ๊ณ ๊ฒฐ๊ณผ์ ์ผ๋ก GL_NEAREST ์ต์ ์ ์ ํํฉ๋๋ค.
ํ ์ค์ฒ ํํฐ๋ง์ ํ๋ ๋ฐ ์ถ์ ์์ (ํ๋ ๋๋ ์ถ์ ์)์ ๋ํด ์ค์ ํ ์ ์์ผ๋ฏ๋ก ์๋ฅผ ๋ค์ด ํ ์ค์ฒ๊ฐ ์ถ์๋ ๋ ์ต๊ทผ์ ์ด์ ํํฐ๋ง์ ์ฌ์ฉํ๊ณ ํ๋๋ ํ ์ค์ฒ์ ๋ํด ์ ํ ํํฐ๋ง์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
Mipmaps
๋ฐฉ ์์ ์์ฒ๊ฐ์ ๊ฐ์ฒด๊ฐ ์๊ณ ๊ฐ๊ฐ์๋ ํ ์ค์ฒ๊ฐ ๋ถ์ด ์๋ ์ํฉ์ ์๊ฐํด ๋ณด๊ฒ ์ต๋๋ค.
์ด๋ค ๊ฐ์ฒด๋ ๋ฉ๋ฆฌ ์์ ๊ฒ์ด๊ณ ์ด๋ค ๊ฐ์ฒด๋ ๊ฐ๊น์ด ์์ ๊ฒ์ ๋๋ค.
์ด ๋์ด ๊ฐ์ ํด์๋์ ํ ์ค์ฒ๋ฅผ ๊ฐ์ง๊ณ ์๋ค๊ณ ๊ฐ์ ํ๊ฒ ์ต๋๋ค.
์ด๋ ๋ฉ๋ฆฌ ์๋ ๊ฐ์ฒด๋ fragment๋ฅผ ๊ฑฐ์ ์์ฑํ์ง ์์ต๋๋ค. ์ด๋ OpenGL์ ์ ํํ ์์์ ์ป๊ธฐ๊ฐ ์ด๋ ค์ ์ง๋๋ฐ,
๋์ ์์ญ์ ํ ์ค์ฒ๋ฅผ ํ์ธํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ด๋ฐ ์ด์๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด OpenGL์ mipmaps๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ๊ฐ์ ํ ์ค์ฒ๊ฐ ์ด์ ํ ์ค์ฒ์ ์ ๋ฐ์ธ ์ด๋ฏธ์ง ๋ชจ์์ ๋๋ค.
๊ด์ฐฐ์๋ก๋ถํฐ ์ผ์ ๊ฑฐ๋ฆฌ ํ๊ณ์ ์ดํ์ OpenGL์ ๊ฐ์ฒด์์ ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ์ฅ ์ ํฉํ ๋ค๋ฅธ mimaps ํ ์ค์ฒ๋ฅผ ์ฌ์ฉํฉ๋๋ค.

๋ฏธ๋งต ๋ ๋ฒจ ๊ฐ ํํฐ๋ง ๋ฐฉ๋ฒ์ ์ง์ ํ๋ ค๋ฉด ์๋ ํํฐ๋ง ๋ฐฉ๋ฒ์ ๋ค์ ๋ค ๊ฐ์ง ์ต์ ์ค ํ๋๋ก ๋์ฒดํ ์ ์์ต๋๋ค.
GL_NEAREST_MIPMAP_NEAREST: ํฝ์ ํฌ๊ธฐ์ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ฏธ๋งต์ ์ ํํ๊ณ ํ ์ค์ฒ ์ํ๋ง์ ์ํด ์ต๊ทผ์ ์ด์ ๋ณด๊ฐ์ ์ฌ์ฉํฉ๋๋ค.
GL_LINEAR_MIPMAP_NEAREST: ๊ฐ์ฅ ๊ฐ๊น์ด ๋ฏธ๋งต ๋ ๋ฒจ์ ์ ํํ๊ณ ๊ทธ ๋ ๋ฒจ์ ์ ํ ๋ณด๊ฐ์ผ๋ก ์ํ๋งํฉ๋๋ค.
GL_NEAREST_MIPMAP_LINEAR: ํฝ์ ํฌ๊ธฐ์ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ ๋ฏธ๋งต ์ฌ์ด๋ฅผ ์ ํ์ผ๋ก ๋ณด๊ฐํ๊ณ ๋ณด๊ฐ๋ ๋ ๋ฒจ์ ์ต๊ทผ์ ์ด์ ๋ณด๊ฐ์ ์ฌ์ฉํ์ฌ ์ํ๋งํฉ๋๋ค.
GL_LINEAR_MIPMAP_LINEAR: ๊ฐ์ฅ ๊ฐ๊น์ด ๋ ๋ฏธ๋งต ์ฌ์ด๋ฅผ ์ ํ์ผ๋ก ๋ณด๊ฐํ๊ณ ๋ณด๊ฐ๋ ๋ ๋ฒจ์ ์ ํ ๋ณด๊ฐ์ผ๋ก ์ํ๋งํฉ๋๋ค. ํ ์ค์ฒ ํํฐ๋ง๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก, ๋ค์ ๋ค ๊ฐ์ง ๋ฐฉ๋ฒ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ glTexParameteri๋ฅผ ์ฌ์ฉํ์ฌ ํํฐ๋ง ๋ฐฉ๋ฒ์ ์ค์ ํ ์ ์์ต๋๋ค.
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
์ผ๋ฐ์ ์ธ ์ค์๋ ํ๋ ํํฐ๋ก ๋ฏธ๋งต ํํฐ๋ง ์ต์ ์ค ํ๋๋ฅผ ์ค์ ํ๋ ๊ฒ์ ๋๋ค.
์ด๊ฒ์ ๋ฏธ๋งต์ด ์ฃผ๋ก ํ ์ค์ฒ๊ฐ ์ถ์๋ ๋ ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ ์๋ฌด๋ฐ ํจ๊ณผ๊ฐ ์์ผ๋ฉฐ, ๋ฏธ๋งต ํํฐ๋ง ์ต์ ์ ์ฃผ๋ฉด OpenGL GL_INVALID_ENUM ์ค๋ฅ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
'๐ธ OpenGL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| OpenGL ์ฉ์ด ์ ๋ฆฌ (0) | 2023.11.19 |
|---|---|
| [Learn OpenGL] Shaders - 3 (0) | 2023.11.18 |
| [Learn OpenGL] Shaders - 2 (0) | 2023.11.18 |
| [Learn OpenGL] Shaders - 1 (1) | 2023.11.18 |
| [Learn OpenGL] Hello Triangle - 4 (0) | 2023.11.18 |