최근 수정 시각 : 2024-03-14 15:39:41

Metal(API)

Metal에서 넘어옴
그래픽 라이브러리
파일:OpenGL 로고.svg 파일:Vulkan(API) 로고.svg 파일:DirectX 로고.svg 파일:Metal 3 로고.png
그 외 그래픽 라이브러리

<colbgcolor=#4612c0><colcolor=#ffffff> Metal
파일:Metal 3 로고.png
개발사 Apple
출시일 2014년 6월
최신 버전 3[1]
사용 언어 셰이딩 언어: C++
런타임 언어: Objective-C
웹사이트 파일:Metal 3 로고.png

1. 개요2. 버전
2.1. Metal 12.2. Metal 22.3. Metal 3
3. 기타

[clearfix]

1. 개요

Apple이 개발한 그래픽/컴퓨트 API. WWDC 2014에서 iOS 8과 함께 발표되었다. 로우레벨 API를 통해 하드웨어에 가깝게 프로그래밍을 할 수 있다는 의미로써 금속을 뜻하는 단어인 Metal이라고 명명되었다.

기능적으로 OpenGLOpenCL를 합쳐뒀지만 로우레벨이라는 특성상 Vulkan와 유사하다. 개발에는 Apple이 직접 개발한 프로그래밍 언어 SwiftC++, Objective-C|사용 가능하다. OpenGL의 오버헤드로부터 벗어나 더 나은 성능을 제공하며, A7 및 이후 출시되는 AP를 탑재한 모든 iOS 모델이 지원 대상에 해당된다. WWDC 2015에서 macOS용으로도 발표되어 2012년 이후 발매된 모든 Mac에서 지원된다.[2] 언리얼 엔진유니티 엔진 역시 Metal API를 지원하며, 프리미어 프로도 Metal을 지원하기 시작했다.

Apple의 고수준 그래픽 라이브러리인 Core Graphics, Core Animation 역시 기존에 OpenGL을 베이스로 하고 있었으나, OS X El Capitan 이후 모두 Metal에서 작동하며 이를 통한 성능 향상 체감이 크다. Unity 또한 4.6.3 이후 버전은 Metal을 지원하며, Cocos2Dx의 경우 4.0에서 지원을 목표로 하고 있다.

[clearfix]
Apple WWDC 2014 Keynote
Metal
【 펼치기 ・ 접기 】
Metal API는 Metal 프레임워크, MetalKit 프레임워크, Metal Performance Shaders 프레임워크, Metal shading language, Metal 정규 라이브러리를 모두 포함한다.
[clearfix]

Apple은 2018년 출시된 macOS 10.14 모하비부터 OpenGLOpenCL의 지원을 중단하겠다고 공언함으로서 공식적으로 Apple의 운영체제의 그래픽 라이브러리는 Metal을 제외하고 모두 공식적으로 퇴출되었다. 아직 Apple은 OpenGL 자체를 운영체제에서 삭제하진 않았으나 모든 업데이트가 중단된 상태이고, 최적화, 보안, 안정성을 위해 하위호환은 빠른 시간 안에 칼 같이 끊어버리는 Apple 특성상, 얼마 지나지 않아 OpenGL은 완전히 Darwin에서 삭제될 가능성이 높다.

2. 버전

2.1. Metal 1

처음으로 등장했던 2014년부터 Metal을 보급화하기 위해 노력했다. 관심있다면 영상을 보고 배워보자.
[clearfix]
Apple WWDC 2014
Working with Metal: Overview
Working with Metal: Fundamentals
Working with Metal: Advanced
[clearfix]
Apple WWDC 2015
What's New in Metal, Part 1
What's New in Metal, Part 2
[clearfix]
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
[clearfix]

2.2. Metal 2

Metal 2
Accelerating graphics and much more.
그래픽 가속화 및 더 많은 기능
[clearfix]
Apple WWDC 2017-Session 601
Introducing Metal 2
링크
Metal 2는 그래픽 처리 장치(GPU)에 거의 직접적으로 접근할 수 있는 기능을 제공하여 iOS, macOS 및 tvOS 앱의 그래픽과 컴퓨팅 잠재력을 극대화할 수 있습니다. 낮은 오버헤드의 효율적인 아키텍처, 사전 컴파일된 셰이더, 세분화된 리소스 제어 및 멀티 스레딩 지원을 기반으로 하는 Metal 2는 GPU가 그래픽 파이프라인을 더 강력히 제어하고, 신경망 훈련을 가속하며, 셰이더 코드를 깊이 통찰하게 하는 강력하고 새로운 도구를 제공할 수 있도록 진화했습니다.
Apple 개발자 웹페이지 中

Metal 2에서의 새로운 사항은 다음과 같다.
  • GPU 기반 명령 인코딩
    명령어를 CPU가 아닌 GPU가 직접 처리할 수 있다!
  • 가속화된 머신 러닝 훈련
  • 가속화된 선-삼각 교차점
  • 셰이더 디버거
  • 종속성 뷰어
  • 레이 트레이싱 지원

2.3. Metal 3

WWDC22에서 발표한 새롭게 개선한 API로, AAA급 게임 개발사들과 같이 협력하여 더욱 다양한 컨텐츠를 제공한다고 발표하였다.

하드웨어 요구사항이 껑충 뛰어올랐는데, iOSiPadOS 기기의 경우 A13 Bionic 칩 모델부터, MacM1 칩 모델부터 지원한다. Intel 프로세서를 장착한 Mac의 경우 2017년 이후 모델부터 지원한다.

새로 추가된 기능은 다음과 같다.

3. 기타

  • 과거 S3 Graphics 그래픽카드 독자 API의 이름이 MeTal이었다. 물론 아무 관련 없다.


[1] 2022년 10월 22일.[2] 단, OS X El Capitan 이상을 설치해야 한다.[3] NVIDIA DLSS와 같은 업스케일링 기술