메탈 (API)

메탈(Metal)은 부하가 적은 하드웨어 가속 그래픽 및 연산 API로, iOS 8에 처음 등장했다. 한 API에 OpenGL, OpenCL과 비슷한 기능을 병합하고 있다. 크로노스 그룹의 크로스 플랫폼 벌컨, 마이크로소프트의 윈도우용 Direct3D 12처럼 다른 플랫폼의 유사 API의 성능 이점 일부를 iOS에 가져오도록 설계되어 있다. 2015년 6월 8일 이후 메탈은 애플 A7 이상을 이용하는 iOS 기기 및 OS X 엘카피탠를 구동하는 2012년 이후 모델의 맥에서 이용이 가능하다. 또, 메탈은 연산 셰이더를 도입함으로써 GPGPU 프로그래밍 기능을 더 개선하였다.

메탈은 C++11 기반의 셰이딩 언어를 이용하며, 클랭과 LLVM을 이용하여 구현되어 있다.

OS X의 메탈 지원은 WWDC 2015에서 발표되었다.

 성능 
메탈은 몇 가지 이유로 OpenGL 보다 더 나은 성능을 보여준다:

 미리 컴파일된 셰이더와 선행 상태 확인
 GPU와 CPU 사이의 명확한 동기화
 GPU와 CPU 간 공유 메모리 공간
 더 낮은 드라이버 부하http://blogs.unity3d.com/2014/07/03/metal-a-new-graphics-api-for-ios-8/

이 요점들 중 일부는 CPU가 GPU 명령을 성공적으로 수행하는데 필요한 업무량을 제거해준다. 그 뒤 CPU가 다른 작업을 연산하는데 사용될 수 있으므로 전반적인 성능 향상을 가져다준다.

 도입 
애플에 따르면 2017년 6월 기준으로 148,000개 이상의 애플리케이션이 메탈을 직접 사용하며 1,700,000개가 하이레벨 프레임워크를 통해 이를 사용한다.
타이틀개발사 (macOS 버전)게임 엔진출시일 (macOS)참고도타 2밸브 코퍼레이션소스 22013년 7월 18일2018년 기준으로 Molten VK를 사용하여 메탈 위에 벌컨 지원을 제공한다F1 2016페럴 인터랙티브 EGO Engine 4.02017년 4월 6일시작 때부터 메탈을 지원Total War: Warhammer페럴 인터랙티브Total War Engine 32017년 4월 19일시작 때부터 메탈을 지원Warhammer 40,000: Dawn of War III페럴 인터랙티브Essence Engine 42017년 6월 9일시작 때부터 메탈을 지원Hitman페럴 인터랙티브IO 인터랙티브2017년 6월 20일시작 때부터 메탈을 지원Bioshock Remastered페럴 인터랙티브Unreal Engine 2.52017년 8월 22일시작 때부터 메탈을 지원F1 2017페럴 인터랙티브 EGO Engine 4.02017년 8월 25일시작 때부터 메탈을 지원Deus Ex: Mankind Divided페럴 인터랙티브Dawn Engine2017년 12월 12일시작 때부터 메탈을 지원DiRT Rally페럴 인터랙티브 EGO Engine 2.52017년 11월 16일시작 때부터 메탈을 지원Ballistic OverkillAquiris Game StudioUnity Engine 52017년 3월 28일시작 때부터 메탈을 지원마피아 IIIAspyrIllusion Engine2017년 5월 11일시작 때부터 메탈을 지원월드 오브 워크래프트블리자드 엔터테인먼트WoW Engine2004년 11월 23일메탈 지원 시점: 2016년 8월스타크래프트 II: 자유의 날개블리자드 엔터테인먼트SC2 Engine2010년 7월 27일메탈 베타 지원 시점: 2017년 1월 24일히어로즈 오브 더 스톰블리자드 엔터테인먼트SC2 Engine2015년 6월 2일메탈 베타 지원 시점: 2017년 1월 24일.
2017년 9월 29일 블리자드는 일시적으로 메타 지원을 제거함.Fortnite에픽게임즈Unreal Engine 42017년 7월 25일시작 때부터 메탈을 지원Obduction사이언 월드Unreal Engine 42017년 3월 29일시작 때부터 메탈을 지원EverspaceRockfishUnreal Engine 42017년 5월 26일시작 때부터 메탈을 지원아크 서바이벌 이볼브드Studio WildcardUnreal Engine 42017년 8월 29일시작 때부터 메탈을 지원ObserverBloober TeamUnreal Engine 42017년 10월 24일시작 때부터 메탈을 지원언리얼 토너먼트에픽게임즈Unreal Engine 4메탈 지원 시점: 2017년 1월RefunctDominique GrieshoferUnreal Engine 42016년 9월 5일시작 때부터 메탈을 지원시티즈: 스카이라인패러독스 인터랙티브Unity Engine 52015년 3월 10일메탈 지원 시점: 2017년 5월 18일유니버스 샌드박스Giant ArmyUnity Engine 5메탈 베타 지원 시점: 2017년 6월워 썬더가이진 엔터테인먼트Dagor Engine 42012년 11월 1일메탈 지원 시점: 2017년 5월 24일The WitnessThekla, Inc Thekla Engine2017년 3월 8일시작 때부터 메탈을 지원Micro Machines World SeriesVirtual ProgrammingUnity Engine 52017년 6월 30일시작 때부터 메탈을 지원Guardians of the Galaxy: The Telltale Series텔테일 게임즈텔테일 게임즈2017년 4월 18일시작 때부터 메탈을 지원Batman: The Enemy Within텔테일 게임즈텔테일 게임즈2017년 8월 8일시작 때부터 메탈을 지원마인크래프트: 스토리 모드텔테일 게임즈텔테일 게임즈2017년 7월 11일시작 때부터 메탈을 지원ARMA 3버추얼 프로그래밍Real Virtuality메탈 베타 지원 시점: 2017년 9월 17일X-Plane 11Laminar ResearchCustom engine2017년 5월 30일메탈 지원 예정HeadlanderDouble Fine ProductionsBuddha Engine2016년 11월 18일시작 때부터 메탈을 지원

 같이 보기 
 Direct3D – DirectX 12는 저급(로우 레벨) API를 도입하고 있다.
 글라이드 – 지금은 파산한 3dfx의 다른 로우레벨 API
 맨틀 – AMD의 로우레벨 API
 벌컨 – 부하가 적은 API로서 OpenGL을 계승한다.

 각주 

 외부 링크 
  메탈 프로그래밍 가이드 (예비)
 WWDC14 데모; 확장판

분류:2014년 도입된 제품
분류:그래픽 라이브러리
분류:IOS
분류:3차원 그래픽스 API