๋ถ๋ฅ:์ปดํจํฐ ๊ทธ๋ํฝ
์ด ๋ฌธ์์ ์๋ณธ์ ์ธ๋ถ ์ํค์์ ๊ฐ์ ธ์์ต๋๋ค.
1. ๊ฐ์[ํธ์ง]
S3 Graphics์์ ์์ฌ์ Savage3D ๊ทธ๋ํฝ ์นด๋์ฉ์ผ๋ก ๊ฐ๋ฐํ ํ
์ค์ฒ ์์ถ ํฌ๋งท์ด๋ค.
2. ์์ธ[ํธ์ง]
DirectX 6.0๊ณผ OpenGL 1.3์์ ๋ผ์ด์ผ์ฑ๋ ๊ฒ์ ์์[1]์ผ๋ก, ๋ํ
๋์ ๊ฒ์ํ๋ธ์ ๋ง์ดํฌ๋ก์ํํธ์ ์์ค๋ฐ์ค๋ฅผ ์์(ํ๋ ์ด์คํ
์ด์
์๋ฆฌ์ฆ๋ ํ๋ ์ด์คํ
์ด์
3๋ถํฐ ์ฑํ๋์๋ค)์ผ๋ก ์ฝ์์๋ ์ฑํ๋๋ฉด์ PC์ ์ฝ์ ๊ฒ์์ ํ
์ค์ฒ ์์ถ ํฌ๋งท์ ์ฌ์ค์ ํ์ค์ ๊ฐ๊น์ด ์ง์๋ฅผ ๋๋ฆฌ๊ณ ์๋ ํฌ๋งท. ์ธ๋ถ ํฌ๋งท์ผ๋ก DXT1๋ถํฐ DXT5๊น์ง ์กด์ฌํ๋ ๋๋ถ๋ถ ์ํ ์ฑ๋์ด ์๋ ํ
์ค์ฒ๋ DXT1, ์๋ ํ
์ค์ฒ๋ DXT5๋ฅผ ์ฌ์ฉํ๋ค.
์ด ํฌ๋งท์ ์์ถ ์๊ณ ๋ฆฌ์ฆ์ S3๊ฐ ํนํ๋ก ๋ฑ๋กํ๊ธฐ ๋๋ฌธ์, 2000๋ ๋ ์ดํ S3๋ ์ฌ์ค์ GPU ๊ฒฝ์์์ ๋ํ๋์ด ๋ชฐ๋ฝํ์ง๋ง ์๋์ ๋ง์ด ์ฌ์ฉ๋๋ ์ด ํฌ๋งท ๋๋ฌธ์ ๋ผ์ด์ผ์ค๋น ์ฑ๊ฒจ๊ฐ๋๊ฒ ๋ง์ผ๋ก ๋จน๊ณ ์ด์์ผ๋ฉฐ, ์ด๋ฅผ ๋ ธ๋ฆฌ๊ณ VIA๋ HTC๋ฑ์์ ํ์ฌ๋ฅผ ์ธ์ํ์ ์ ๋. 2017๋ ์ ํนํ๊ฐ ๋ง๋ฃ๋์๋ค.
์ด ํฌ๋งท์ ์์ถ ์๊ณ ๋ฆฌ์ฆ์ S3๊ฐ ํนํ๋ก ๋ฑ๋กํ๊ธฐ ๋๋ฌธ์, 2000๋ ๋ ์ดํ S3๋ ์ฌ์ค์ GPU ๊ฒฝ์์์ ๋ํ๋์ด ๋ชฐ๋ฝํ์ง๋ง ์๋์ ๋ง์ด ์ฌ์ฉ๋๋ ์ด ํฌ๋งท ๋๋ฌธ์ ๋ผ์ด์ผ์ค๋น ์ฑ๊ฒจ๊ฐ๋๊ฒ ๋ง์ผ๋ก ๋จน๊ณ ์ด์์ผ๋ฉฐ, ์ด๋ฅผ ๋ ธ๋ฆฌ๊ณ VIA๋ HTC๋ฑ์์ ํ์ฌ๋ฅผ ์ธ์ํ์ ์ ๋. 2017๋ ์ ํนํ๊ฐ ๋ง๋ฃ๋์๋ค.
3. ๊ธฐ๋ณธ ์๋ฆฌ[ํธ์ง]
S3TC ์๊ณ ๋ฆฌ์ฆ์ ๊ธฐ๋ณธ ์๋ฆฌ๋ ์ด๋ฏธ์ง๋ฅผ 4x4 ์ 16ํฝ์
์ผ๋ก ๋๋ ์ 64bit ๋๋ 128bit ๋ธ๋ญ์ผ๋ก ๋ณํํ๋ ๊ฒ์ด๋ค. ๊ฐ ๋ธ๋ญ์ 2๊ฐ์ ์ ๊ทน๋จ๊ฐ(color endpoint)์ ๊ฐ์ง๋ฉฐ ๊ฐ ํฝ์
์ ์์ ๋ ๊ทน๋จ๊ฐ ์ฌ์ด์ ์๋ ์์ผ๋ก๋ง ํํ๋๋ค. ์ด๋ฌํ ํน์ฑ ๋๋ฌธ์ ๊ฐ ๋ธ๋ญ์ ๊ต์ฅํ ์ ํ๋ ๊ฐ์์ ์[2]๋ง ์ฌ์ฉํ ์ ์๊ณ , ๊ทธ๋ ๊ธฐ์ ๊ทธ๋ผ๋ฐ์ด์
์ด ๋ง์ ์ด๋ฏธ์ง๋ ์์ด ๋ง์ด ์ฌ์ฉ๋ ์ด๋ฏธ์ง์ ์ฌ์ฉํ๊ธฐ๋ ๋ถ์ ์ ํ๋ค. ํ์ง๋ง ์ผ๋ฐ์ ์ธ ํ
์ค์ณ์์ ๋ฉ๋์ด ๊ฐ ์์ค์ ์ด๋ฏธ์ง ์ง ์ ํ๋ฅผ ๋ณด์ฌ์ค ๊ด๋ฒ์ํ๊ฒ ์ฌ์ฉ๋๊ณ ์๋ค.
4. ์ข ๋ฅ[ํธ์ง]
4.1. DXT1[ํธ์ง]
Direct X10 ์ด์์์ BC1์ด๋ผ๊ณ ๋ ๋ถ๋ฆฐ๋ค. ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ํ์์ผ๋ก, 16ํฝ์
๋ฐ์ดํฐ๋ฅผ 64bit๋ธ๋ญ์ผ๋ก ๋ณํํ๋ค. ๊ฐ ๋ธ๋ญ์ ๋๊ฐ์ 16๋นํธ RGB 5:6:5 ์์ ๊ทน๋จ๊ฐ๊ณผ ๊ฐ ํฝ์
๋น 2๋นํธ์ฉ, ์ด 32bit์ ํ
์ด๋ธ์ ๊ฐ์ ธ ์ด 4๊ฐ์ ์์์ ์ด์ฉํ ์ ์๋ค. ๋๊ฐ์ ์ ๊ทน๋จ๊ฐ์ ๊ฐ๊ฐ , ์ด๋ผ ํ ๋ ๋๋ ์ 2๊ฐ์ง ๊ฒฝ์ฐ์ ์๊ฐ ์กด์ฌํ๊ฒ ๋๋๋ฐ, DXT1 ํฌ๋งท์์๋ ์ด ๋๊ฐ์ง ๊ฒฝ์ฐ์ ์๋ฅผ ๋๋ ์ 1bit ์ํ ์์์ ์ง์ํ๋ค.
๋จผ์ ์ผ ๊ฒฝ์ฐ, ๋ธ๋ญ์์๋ ๋ ๊ทน๋จ๊ฐ๊ณผ ๊ทธ ์ฌ์ด์ ๊ฐ 2๊ฐ๋ฅผ ์ด์ฉํ๋ค. ์ด ๊ฐ 2๊ฐ๋ฅผ , ๋ผ ํ๋ฉด, , ์ด ๋๋ค.
๊ทธ ๋ค์ ์ผ ๊ฒฝ์ฐ์๋ ์ด๊ณ , ์ ํฌ๋ช ์์ผ๋ก ์ง์ ๋๋ค.
์ด๋ฌํ ์์ถ๋ฐฉ์์ผ๋ก DXT1์ 32bit RGBA ์ด๋ฏธ์ง ๊ธฐ์ค 1:8์ ํ๋ฅญํ ์์ถ๋ฅ ์ ๋ณด์ฌ์ค ๋ง์ ๊ฒฝ์ฐ์ ์ฌ์ฉ๋๊ณ ์๋ค. ๋ค๋ง ์ ๋๋ก๋ ์ํ์์์ ์ง์ํ์ง ์๊ธฐ ๋๋ฌธ์ ์ฃผ๋ก ์ํ ์ฑ๋์ด ์๋ ์ด๋ฏธ์ง๋ฅผ ์์ถํ ๋ ์ฐ์ธ๋ค.
๋จผ์ ์ผ ๊ฒฝ์ฐ, ๋ธ๋ญ์์๋ ๋ ๊ทน๋จ๊ฐ๊ณผ ๊ทธ ์ฌ์ด์ ๊ฐ 2๊ฐ๋ฅผ ์ด์ฉํ๋ค. ์ด ๊ฐ 2๊ฐ๋ฅผ , ๋ผ ํ๋ฉด, , ์ด ๋๋ค.
๊ทธ ๋ค์ ์ผ ๊ฒฝ์ฐ์๋ ์ด๊ณ , ์ ํฌ๋ช ์์ผ๋ก ์ง์ ๋๋ค.
์ด๋ฌํ ์์ถ๋ฐฉ์์ผ๋ก DXT1์ 32bit RGBA ์ด๋ฏธ์ง ๊ธฐ์ค 1:8์ ํ๋ฅญํ ์์ถ๋ฅ ์ ๋ณด์ฌ์ค ๋ง์ ๊ฒฝ์ฐ์ ์ฌ์ฉ๋๊ณ ์๋ค. ๋ค๋ง ์ ๋๋ก๋ ์ํ์์์ ์ง์ํ์ง ์๊ธฐ ๋๋ฌธ์ ์ฃผ๋ก ์ํ ์ฑ๋์ด ์๋ ์ด๋ฏธ์ง๋ฅผ ์์ถํ ๋ ์ฐ์ธ๋ค.
4.2. DXT2, DXT3[ํธ์ง]
Direct X10 ์ด์์์ BC2๋ผ๊ณ ๋ ๋ถ๋ฆฐ๋ค. 16ํฝ์
์ด๋ฏธ์ง๋ฅผ 128bit ๋ธ๋ญ์ผ๋ก ๋ณํํ๋ค. ์์๊ฐ์ DXT1๊ณผ ๋์ผํ๊ฒ ์ ์ฅ๋๋ฉฐ, ๊ฐ ํฝ์
๋น 4bit์ฉ ์ด 64bit์ ์์ถ๋์ง ์์ ๊ฐ์ผ๋ก ์ํ์ฑ๋์ ํํํ๋ค. DXT2๊ณผ DXT3 ๋ชจ๋ ์ด๋ฌํ ๋ฐฉ์์ผ๋ก ์์ถ๋๋ฉฐ ๋ ํ์์ ์ฐจ์ด๋ ์ด๋ฏธ์ง๊ฐ DXT3๋ premultiplied alpha, DXT2๋ straight alpha๋ผ๊ณ ๊ฐ์ ํ๋ ๊ฒ ๋ฟ์ด๋ค. ์ค์ง์ ์ผ๋ก ๊ฑฐ์ ์ฐ์ด์ง๋ ์๋ํ์์ด๋ค.
4.3. DXT4, DXT5[ํธ์ง]
Direct X10 ์ด์์์ BC3๋ผ๊ณ ๋ ๋ถ๋ฆฐ๋ค. 16ํฝ์
์ด๋ฏธ์ง๋ฅผ 128bit ๋ธ๋ญ์ผ๋ก ๋ณํํ๋ค. BC2์ ๋ง์ฐฌ๊ฐ์ง๋ก ์์๊ฐ์ DXT1๊ณผ ๋์ผํ๊ฒ ์์ถ๋์ง๋ง, ์ํ ์ฑ๋๋ ์ํ๋ง์ ๊ฑฐ์ณ ์์ถ๋๋ค๋ ์ฐจ์ด์ ์ด ์๋ค. ์ํ ์ฑ๋ ์์ถ์ ์์ ์์ถ๊ณผ ๋น์ทํ ๋ฐฉ์์ผ๋ก ์งํ๋๋ฉฐ, ๋๊ฐ์ 8bit ๊ทน๋จ๊ฐ๊ณผ ํฝ์
๋น 3bit์ฉ ์ด 48bit์ ํ
์ด๋ธ์ ๊ฐ์ง๋ค. ์ํ๊ฐ ์์ถ๋ ๊ทน๋จ๊ฐ์ ์์์ ๋ฐ๋ผ ๊ฒฝ์ฐ์ ์๋ฅผ ๋๋ ์ ์ข ๋ ์ ๊ตํ ์ํ ์์์ ๊ตฌํํ๋ค.
DXT1 ์์ถ์ ์ค๋ช ํ ๋๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ทน๋จ๊ฐ์ , , ๋ค๋ฅธ ์์๋ค์ (์ด ๊ฒฝ์ฐ์๋ ํ ์ด๋ธ์ด 3bit์ด๋ฏ๋ก ๊น์ง)์ผ๋ก ํํํด์ ๋ํ๋ด๋ฉด ๋จผ์ ์ธ ๊ฒฝ์ฐ์๋ , ๊ณผ ๊ฐ์ด ๊ทน๋จ๊ฐ ์ฌ์ด๋ฅผ ๊ท ๋ฑํ ๋๋ ๊ฐ์ผ๋ก ๊น์ง ํํ๋๋ค.
๋ฐ๋ฉด ์ธ ๊ฒฝ์ฐ์๋ , ๊ฐ ๋ฐฐ์ ๋๋ฉฐ ๋๋จธ์ง ๊ฐ๋ค์ , ์ ๊ฐ์ ์์ผ๋ก ์ ํด์ง๋ค.
BC3์์์ฒ๋ผ DXT4, DXT5์ ์ฐจ์ด๋ ์ด๋ฏธ์ง๋ฅผ DXT5๋ premultiplied alpha, DXT4๋ straight alpha๋ผ๊ณ ๊ฐ์ ํ๋ ๊ฒ ๋ฟ์ด๋ค. DXT5๊ฐ ์ข ๋ ๋ง์ด ์ฐ์ด๊ณ ์์ผ๋ฉฐ, ์ํ๊ฐ์ด ํ์ํ ํ ์ค์ณ์ ์ฌ์ค์ ํ์ค์ผ๋ก ์ฐ์ด๊ณ ์๋ค.
DXT1 ์์ถ์ ์ค๋ช ํ ๋๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ทน๋จ๊ฐ์ , , ๋ค๋ฅธ ์์๋ค์ (์ด ๊ฒฝ์ฐ์๋ ํ ์ด๋ธ์ด 3bit์ด๋ฏ๋ก ๊น์ง)์ผ๋ก ํํํด์ ๋ํ๋ด๋ฉด ๋จผ์ ์ธ ๊ฒฝ์ฐ์๋ , ๊ณผ ๊ฐ์ด ๊ทน๋จ๊ฐ ์ฌ์ด๋ฅผ ๊ท ๋ฑํ ๋๋ ๊ฐ์ผ๋ก ๊น์ง ํํ๋๋ค.
๋ฐ๋ฉด ์ธ ๊ฒฝ์ฐ์๋ , ๊ฐ ๋ฐฐ์ ๋๋ฉฐ ๋๋จธ์ง ๊ฐ๋ค์ , ์ ๊ฐ์ ์์ผ๋ก ์ ํด์ง๋ค.
BC3์์์ฒ๋ผ DXT4, DXT5์ ์ฐจ์ด๋ ์ด๋ฏธ์ง๋ฅผ DXT5๋ premultiplied alpha, DXT4๋ straight alpha๋ผ๊ณ ๊ฐ์ ํ๋ ๊ฒ ๋ฟ์ด๋ค. DXT5๊ฐ ์ข ๋ ๋ง์ด ์ฐ์ด๊ณ ์์ผ๋ฉฐ, ์ํ๊ฐ์ด ํ์ํ ํ ์ค์ณ์ ์ฌ์ค์ ํ์ค์ผ๋ก ์ฐ์ด๊ณ ์๋ค.
5. ๊ธฐํ[ํธ์ง]
๋ง์ดํฌ๋ก์ํํธ Direct X 10 ์ด์์์๋ S3TC ํ์๋ค์ ํฌํจํ๊ณ ์ข ๋ ํ์ฅํด์ BCn(Block Compression)์ด๋ผ๊ณ ๋ถ๋ฅด๊ณ ์๋ค. BCn ํฌ๋งท์๋ ์์ชฝ์์ ์ค๋ช
ํ BC1~3๊ณผ ๊ทธ๋ ์ด์ค์ผ์ผ ์ด๋ฏธ์ง๋ฅผ ์ง์ํ๋ BC4(BC3์ ์ํ ์ฑ๋๊ณผ ๋์ผํ ์์ถ ๋ฐฉ์์ผ๋ก ์์ถ๋๋ค.)๋ถํฐ, DirectX 11์์ ์ถ๊ฐ๋์ผ๋ฉฐ BC3๊ณผ ๋์ผํ ์์ถ๋ฅ ๋ก ๋ ๊ณ ํ์ง์ ์ด๋ฏธ์ง๋ฅผ ๊ตฌํํ๋ BC7๊น์ง์ ํฌ๋งท์ด ์๋ค.