์ด ๋ฌธ์„œ์˜ ์›๋ณธ์€ ์™ธ๋ถ€ ์œ„ํ‚ค์—์„œ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.

1. ๊ฐœ์š”2. Metal์˜ ์—ญ์‚ฌ
2.1. Metal 12.2. Metal 2
3. ๊ด€๋ จ ๋ฌธ์„œ

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์—์„œ ์ง€์›์„ ๋ชฉํ‘œ๋กœ ํ•˜๊ณ  ์žˆ๋‹ค.

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์—์„œ ์‚ญ์ œ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค.

2. Metal์˜ ์—ญ์‚ฌ[ํŽธ์ง‘]

2.1. Metal 1[ํŽธ์ง‘]

Apple WWDC 2014
Working with Metal: Overview
ใ€ ํŽผ์น˜๊ธฐ ใƒป ์ ‘๊ธฐ ใ€‘
Working with Metal: Fundamentals
ใ€ ํŽผ์น˜๊ธฐ ใƒป ์ ‘๊ธฐ ใ€‘
Working with Metal: Advanced
ใ€ ํŽผ์น˜๊ธฐ ใƒป ์ ‘๊ธฐ ใ€‘

์ฒ˜์Œ์œผ๋กœ ๋“ฑ์žฅํ–ˆ๋˜ 2014๋…„๋ถ€ํ„ฐ Metal์„ ๋ณด๊ธ‰ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ–ˆ๋‹ค. ๊ด€์‹ฌ์žˆ๋‹ค๋ฉด ์˜์ƒ์„ ๋ณด๊ณ  ๋ฐฐ์›Œ๋ณด์ž.
Apple WWDC 2015
What's New in Metal, Part 1
ใ€ ํŽผ์น˜๊ธฐ ใƒป ์ ‘๊ธฐ ใ€‘
What's New in Metal, Part 2
ใ€ ํŽผ์น˜๊ธฐ ใƒป ์ ‘๊ธฐ ใ€‘
Apple WWDC 2016
Adopting Metal, Part 1
ใ€ ํŽผ์น˜๊ธฐ ใƒป ์ ‘๊ธฐ ใ€‘
Adopting Metal, Part 2
ใ€ ํŽผ์น˜๊ธฐ ใƒป ์ ‘๊ธฐ ใ€‘
What's New in Metal, Part 1
ใ€ ํŽผ์น˜๊ธฐ ใƒป ์ ‘๊ธฐ ใ€‘
What's New in Metal, Part 2
ใ€ ํŽผ์น˜๊ธฐ ใƒป ์ ‘๊ธฐ ใ€‘

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 ์ด์ƒ์„ ์„ค์น˜ํ•ด์•ผ ํ•œ๋‹ค.