메탈 (API)

위키백과, 우리 모두의 백과사전.

메탈
개발자애플
발표일2014년 6월(9년 전)(2014-06)
안정화 버전
3 / 2019년 6월(4년 전)(2019-06)
프로그래밍 언어C++14
운영 체제iOS, macOS, tvOS
종류3차원 그래픽스 및 연산 API
웹사이트developer.apple.com/metal/

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

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

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

성능[편집]

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

  • 미리 컴파일된 셰이더와 선행 상태 확인
  • GPUCPU 사이의 명확한 동기화
  • GPU와 CPU 간 공유 메모리 공간
  • 더 낮은 드라이버 부하[3]

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

도입[편집]

애플에 따르면 2017년 6월 기준으로 148,000개 이상의 애플리케이션이 메탈을 직접 사용하며 1,700,000개가 하이레벨 프레임워크를 통해 이를 사용한다.[4]

타이틀 개발사 (macOS 버전) 게임 엔진 출시일 (macOS) 참고
도타 2 밸브 코퍼레이션 소스 2 2013년 7월 18일 2018년 기준으로 Molten VK를 사용하여 메탈 위에 벌컨 지원을 제공한다[5]
F1 2016 페럴 인터랙티브 EGO Engine 4.0 2017년 4월 6일 시작 때부터 메탈을 지원
Total War: Warhammer 페럴 인터랙티브 Total War Engine 3 2017년 4월 19일 시작 때부터 메탈을 지원
Warhammer 40,000: Dawn of War III 페럴 인터랙티브 Essence Engine 4 2017년 6월 9일 시작 때부터 메탈을 지원
Hitman 페럴 인터랙티브 IO 인터랙티브 2017년 6월 20일 시작 때부터 메탈을 지원
Bioshock Remastered 페럴 인터랙티브 Unreal Engine 2.5 2017년 8월 22일 시작 때부터 메탈을 지원
F1 2017 페럴 인터랙티브 EGO Engine 4.0 2017년 8월 25일 시작 때부터 메탈을 지원
Deus Ex: Mankind Divided 페럴 인터랙티브 Dawn Engine 2017년 12월 12일 시작 때부터 메탈을 지원
DiRT Rally 페럴 인터랙티브 EGO Engine 2.5 2017년 11월 16일 시작 때부터 메탈을 지원
Ballistic Overkill Aquiris Game Studio Unity Engine 5 2017년 3월 28일 시작 때부터 메탈을 지원
마피아 III Aspyr Illusion Engine 2017년 5월 11일 시작 때부터 메탈을 지원
월드 오브 워크래프트 블리자드 엔터테인먼트 WoW Engine 2004년 11월 23일 메탈 지원 시점: 2016년 8월
스타크래프트 II: 자유의 날개 블리자드 엔터테인먼트 SC2 Engine 2010년 7월 27일 메탈 베타 지원 시점: 2017년 1월 24일
히어로즈 오브 더 스톰 블리자드 엔터테인먼트 SC2 Engine 2015년 6월 2일 메탈 베타 지원 시점: 2017년 1월 24일.

2017년 9월 29일 블리자드는 일시적으로 메타 지원을 제거함.

Fortnite 에픽게임즈 Unreal Engine 4 2017년 7월 25일 시작 때부터 메탈을 지원
Obduction 사이언 월드 Unreal Engine 4 2017년 3월 29일 시작 때부터 메탈을 지원
Everspace Rockfish Unreal Engine 4 2017년 5월 26일 시작 때부터 메탈을 지원
아크 서바이벌 이볼브드 Studio Wildcard Unreal Engine 4 2017년 8월 29일 시작 때부터 메탈을 지원
Observer Bloober Team Unreal Engine 4 2017년 10월 24일 시작 때부터 메탈을 지원
언리얼 토너먼트 에픽게임즈 Unreal Engine 4 발표 예정 메탈 지원 시점: 2017년 1월
Refunct Dominique Grieshofer Unreal Engine 4 2016년 9월 5일 시작 때부터 메탈을 지원
시티즈: 스카이라인 패러독스 인터랙티브 Unity Engine 5 2015년 3월 10일 메탈 지원 시점: 2017년 5월 18일
유니버스 샌드박스 Giant Army Unity Engine 5 발표 예정 메탈 베타 지원 시점: 2017년 6월
워 썬더 가이진 엔터테인먼트 Dagor Engine 4 2012년 11월 1일 메탈 지원 시점: 2017년 5월 24일
The Witness Thekla, Inc Thekla Engine 2017년 3월 8일 시작 때부터 메탈을 지원
Micro Machines World Series Virtual Programming Unity Engine 5 2017년 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 11 Laminar Research Custom engine 2017년 5월 30일 메탈 지원 예정
Headlander Double Fine Productions Buddha Engine 2016년 11월 18일 시작 때부터 메탈을 지원

같이 보기[편집]

참고 문헌[편집]

  1. McWhertor, Michael (2014년 9월 9일). “This is the game Apple used to show off iPhone 6”. 《Polygon》. Vox Media. 2015년 12월 22일에 원본 문서에서 보존된 문서. 2014년 9월 9일에 확인함. 
  2. “Metal Shading Language Guide”. 2014년 9월 8일. 2014년 9월 10일에 확인함. 
  3. http://blogs.unity3d.com/2014/07/03/metal-a-new-graphics-api-for-ios-8/
  4. Apple Inc. “WWDC 2017 Platforms State of the Union”. 
  5. Nestor, Marius. “Vulkan Support Is Finally Coming to Apple's macOS & iOS to Make Games Run Faster”. 《softpedia》 (미국 영어). 2018년 2월 28일에 확인함. 

외부 링크[편집]