์ด ๋ฌธ์์ ์๋ณธ์ ์ธ๋ถ ์ํค์์ ๊ฐ์ ธ์์ต๋๋ค.
1. ๊ฐ์[ํธ์ง]
Apple์ด ๊ฐ๋ฐํ ๊ทธ๋ํฝ API. WWDC 2014์์ iOS 8๊ณผ ํจ๊ป ๋ฐํ๋์๋ค. ๊ธฐ๋ฅ์ ์ผ๋ก OpenGL๊ณผ OpenCL์ ํฉ์น ๊ฒ๊ณผ ์ ์ฌํ๋ค. Apple์ด ์ง์ ๊ฐ๋ฐํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด Swift๋ฅผ ์ฌ์ฉํ๋ค.
OpenGL์ ์ค๋ฒํค๋๋ก๋ถํฐ ๋ฒ์ด๋ ๋ ๋์ ์ฑ๋ฅ์ ์ ๊ณตํ๋ฉฐ, A7 ๋ฐ ์ดํ ์ถ์๋๋ AP๋ฅผ ํ์ฌํ ๋ชจ๋ iOS ๋ชจ๋ธ์ด ์ง์ ๋์์ ํด๋น๋๋ค. WWDC 2015์์ macOS์ฉ์ผ๋ก๋ ๋ฐํ๋์ด 2012๋ ์ดํ ๋ฐ๋งค๋ ๋ชจ๋ Mac์์ ์ง์๋๋ค.[1] ์ธ๋ฆฌ์ผ ์์ง๊ณผ ์ ๋ํฐ ์์ง ์ญ์ Metal API๋ฅผ ์ง์ํ๋ค. ์ต๊ทผ์๋ ํ๋ฆฌ๋ฏธ์ด ํ๋ก๋ Metal์ ์ง์ํ์ฌ Windows ๋ ธํธ๋ถ๋ณด๋ค ๋๋ฑํ๊ฑฐ๋ ๋ ์ข์ ๋ ๋๋ง ์ฑ๋ฅ์ ๊ธฐ๋ํ ์ ์๊ฒ ๋์๋ค.
Apple์ ๊ณ ์์ค ๊ทธ๋ํฝ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ Core Graphics, Core Animation ์ญ์ ๊ธฐ์กด์ OpenGL์ ๋ฒ ์ด์ค๋ก ํ๊ณ ์์์ผ๋, OS X El Capitan ์ดํ ๋ชจ๋ Metal์์ ์๋ํ๋ฉฐ ์ด๋ฅผ ํตํ ์ฑ๋ฅ ํฅ์ ์ฒด๊ฐ์ด ํฌ๋ค. Unity ๋ํ 4.6.3 ์ดํ ๋ฒ์ ์ Metal์ ์ง์ํ๋ฉฐ, Cocos2Dx์ ๊ฒฝ์ฐ 4.0์์ ์ง์์ ๋ชฉํ๋ก ํ๊ณ ์๋ค.
OpenGL์ ์ค๋ฒํค๋๋ก๋ถํฐ ๋ฒ์ด๋ ๋ ๋์ ์ฑ๋ฅ์ ์ ๊ณตํ๋ฉฐ, A7 ๋ฐ ์ดํ ์ถ์๋๋ AP๋ฅผ ํ์ฌํ ๋ชจ๋ iOS ๋ชจ๋ธ์ด ์ง์ ๋์์ ํด๋น๋๋ค. WWDC 2015์์ macOS์ฉ์ผ๋ก๋ ๋ฐํ๋์ด 2012๋ ์ดํ ๋ฐ๋งค๋ ๋ชจ๋ Mac์์ ์ง์๋๋ค.[1] ์ธ๋ฆฌ์ผ ์์ง๊ณผ ์ ๋ํฐ ์์ง ์ญ์ Metal API๋ฅผ ์ง์ํ๋ค. ์ต๊ทผ์๋ ํ๋ฆฌ๋ฏธ์ด ํ๋ก๋ Metal์ ์ง์ํ์ฌ Windows ๋ ธํธ๋ถ๋ณด๋ค ๋๋ฑํ๊ฑฐ๋ ๋ ์ข์ ๋ ๋๋ง ์ฑ๋ฅ์ ๊ธฐ๋ํ ์ ์๊ฒ ๋์๋ค.
Apple์ ๊ณ ์์ค ๊ทธ๋ํฝ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ Core Graphics, Core Animation ์ญ์ ๊ธฐ์กด์ OpenGL์ ๋ฒ ์ด์ค๋ก ํ๊ณ ์์์ผ๋, OS X El Capitan ์ดํ ๋ชจ๋ Metal์์ ์๋ํ๋ฉฐ ์ด๋ฅผ ํตํ ์ฑ๋ฅ ํฅ์ ์ฒด๊ฐ์ด ํฌ๋ค. Unity ๋ํ 4.6.3 ์ดํ ๋ฒ์ ์ Metal์ ์ง์ํ๋ฉฐ, Cocos2Dx์ ๊ฒฝ์ฐ 4.0์์ ์ง์์ ๋ชฉํ๋ก ํ๊ณ ์๋ค.
Apple WWDC 2014 Keynote Metal
|
Metal API๋ Metal ํ๋ ์์ํฌ, MetalKit ํ๋ ์์ํฌ, Metal Performance Shaders ํ๋ ์์ํฌ, Metal shading language, Metal ์ ๊ท ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ชจ๋ ํฌํจํ๋ค.
Apple์ 2018๋ ์ถ์๋ macOS 10.14 ๋ชจํ๋น๋ถํฐ OpenGL ๋ฐ OpenCL์ ์ง์์ ์ค๋จํ๊ฒ ๋ค๊ณ ๊ณต์ธํจ์ผ๋ก์ ๊ณต์์ ์ผ๋ก Apple์ ์ด์์ฒด์ ์ ๊ทธ๋ํฝ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ Metal์ ์ ์ธํ๊ณ ๋ชจ๋ ๊ณต์์ ์ผ๋ก ํด์ถ๋์๋ค. ์์ง Apple์ OpenGL ์์ฒด๋ฅผ ์ด์์ฒด์ ์์ ์ญ์ ํ์ง ์์์ผ๋ ๋ชจ๋ ์ ๋ฐ์ดํธ๊ฐ ์ค๋จ๋ ์ํ์ด๊ณ , ์ต์ ํ, ๋ณด์, ์์ ์ฑ์ ์ํด ํ์ํธํ์ ๋น ๋ฅธ ์๊ฐ ์์ ์นผ ๊ฐ์ด ๋์ด๋ฒ๋ฆฌ๋ Apple ํน์ฑ์, ์ผ๋ง ์ง๋์ง ์์ OpenGL์ ์์ ํ Darwin์์ ์ญ์ ๋ ๊ฐ๋ฅ์ฑ์ด ๋๋ค.
Apple์ 2018๋ ์ถ์๋ macOS 10.14 ๋ชจํ๋น๋ถํฐ OpenGL ๋ฐ OpenCL์ ์ง์์ ์ค๋จํ๊ฒ ๋ค๊ณ ๊ณต์ธํจ์ผ๋ก์ ๊ณต์์ ์ผ๋ก Apple์ ์ด์์ฒด์ ์ ๊ทธ๋ํฝ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ Metal์ ์ ์ธํ๊ณ ๋ชจ๋ ๊ณต์์ ์ผ๋ก ํด์ถ๋์๋ค. ์์ง Apple์ OpenGL ์์ฒด๋ฅผ ์ด์์ฒด์ ์์ ์ญ์ ํ์ง ์์์ผ๋ ๋ชจ๋ ์ ๋ฐ์ดํธ๊ฐ ์ค๋จ๋ ์ํ์ด๊ณ , ์ต์ ํ, ๋ณด์, ์์ ์ฑ์ ์ํด ํ์ํธํ์ ๋น ๋ฅธ ์๊ฐ ์์ ์นผ ๊ฐ์ด ๋์ด๋ฒ๋ฆฌ๋ Apple ํน์ฑ์, ์ผ๋ง ์ง๋์ง ์์ OpenGL์ ์์ ํ Darwin์์ ์ญ์ ๋ ๊ฐ๋ฅ์ฑ์ด ๋๋ค.
2. Metal์ ์ญ์ฌ[ํธ์ง]
2.1. Metal 1[ํธ์ง]
Apple WWDC 2014 Working with Metal: Overview
|
์ฒ์์ผ๋ก ๋ฑ์ฅํ๋ 2014๋ ๋ถํฐ Metal์ ๋ณด๊ธํํ๊ธฐ ์ํด ๋ ธ๋ ฅํ๋ค. ๊ด์ฌ์๋ค๋ฉด ์์์ ๋ณด๊ณ ๋ฐฐ์๋ณด์.
Apple WWDC 2015 What's New in Metal, Part 1
|
Apple WWDC 2016 Adopting Metal, Part 1
|
2.2. Metal 2[ํธ์ง]
Metal 2 Accelerating graphics and much more. ๊ทธ๋ํฝ ๊ฐ์ํ ๋ฐ ๋ ๋ง์ ๊ธฐ๋ฅ |
Apple WWDC 2017-Session 601 Introducing Metal 2
|
Metal 2๋ ๊ทธ๋ํฝ ์ฒ๋ฆฌ ์ฅ์น(GPU)์ ๊ฑฐ์ ์ง์ ์ ์ผ๋ก ์ ๊ทผํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ฌ iOS, macOS ๋ฐ tvOS ์ฑ์ ๊ทธ๋ํฝ๊ณผ ์ปดํจํ ์ ์ฌ๋ ฅ์ ๊ทน๋ํํ ์ ์์ต๋๋ค. ๋ฎ์ ์ค๋ฒํค๋์ ํจ์จ์ ์ธ ์ํคํ ์ฒ, ์ฌ์ ์ปดํ์ผ๋ ์ ฐ์ด๋, ์ธ๋ถํ๋ ๋ฆฌ์์ค ์ ์ด ๋ฐ ๋ฉํฐ ์ค๋ ๋ฉ ์ง์์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ Metal 2๋ GPU๊ฐ ๊ทธ๋ํฝ ํ์ดํ๋ผ์ธ์ ๋ ๊ฐ๋ ฅํ ์ ์ดํ๊ณ , ์ ๊ฒฝ๋ง ํ๋ จ์ ๊ฐ์ํ๋ฉฐ, ์ ฐ์ด๋ ์ฝ๋๋ฅผ ๊น์ด ํต์ฐฐํ๊ฒ ํ๋ ๊ฐ๋ ฅํ๊ณ ์๋ก์ด ๋๊ตฌ๋ฅผ ์ ๊ณตํ ์ ์๋๋ก ์งํํ์ต๋๋ค.Apple ๊ฐ๋ฐ์ ์นํ์ด์ง ไธญ
Metal 2์์์ ์๋ก์ด ์ฌํญ์ ๋ค์๊ณผ ๊ฐ๋ค.
- GPU ๊ธฐ๋ฐ ๋ช ๋ น ์ธ์ฝ๋ฉ
๋ช ๋ น์ด๋ฅผ CPU๊ฐ ์๋ GPU๊ฐ ์ง์ ์ฒ๋ฆฌํ ์ ์๋ค! - ๊ฐ์ํ๋ ๋จธ์ ๋ฌ๋ ํ๋ จ
- ๊ฐ์ํ๋ ์ -์ผ๊ฐ ๊ต์ฐจ์
- ์ ฐ์ด๋ ๋๋ฒ๊ฑฐ
- ์ข ์์ฑ ๋ทฐ์ด
- ๋ ์ด ํธ๋ ์ด์ฑ ์ง์
3. ๊ด๋ จ ๋ฌธ์[ํธ์ง]
[1] ๋จ, OS X El Capitan ์ด์์ ์ค์นํด์ผ ํ๋ค.