오픈GL과 맨틀의 사랑, 벌칸을 낳다 : Vulkan 1.0 전격 공개

by IYD on 2016년 02월 17일 15시 15분 (4년 전) 조회: 279

News Curator : Daeguen Lee

(Any action violating either copyright laws or CCL policy of the original source is strictly prohibited)

 

 

 

오픈GL과 맨틀의 사랑, 벌칸을 낳다 : Vulkan 1.0 전격 공개

 

 

2014년 8월, 개방형 그래픽 및 범용연산 API인 오픈GL과 오픈CL의 총본산 '크로노스 그룹' 은 오픈GL의 뒤를 잇는 차세대 크로스플랫폼 표준 그래픽 API를 만들기 위한 컨소시엄을 출범시킨 바 있다. 업계의 내로라하는 거물급 회사들이 머리를 맞대고 오픈GL 및 오픈GL ES의 후계구도를 논한 끝에 1년 반만에 '벌칸(Vulkan)' 이라는 이름으로 결실을 맺게 되었으니, 이것이 바로 MS의 다이렉트X 12 및 애플의 메탈과 차세대 그래픽 API 주도권 경쟁을 노릴 오픈소스 진영의 대항마이다.

 

 

컨소시엄이 처음 머리를 맞댄 날로부터 18개월이 지난 지금 크로노스는 정식으로 벌칸 1.0 규격을 공개했으며 회원사들 모두 이 규격의 정착을 위해 분연히 떨쳐 일어나리라는 패기를 내비쳤다. 단지 규격뿐 아니라 개발자들을 위한 기술백서와 양대 그래픽카드 제조사(AMD, 엔비디아)의 지원 드라이버, SDK 등까지 전격적으로 함께 공개되어 크로노스 그룹의 전의를 불태웠는데, 그룹 자신으로서도 이런 '빡센 런칭행사'는 처음이었다고 밝힐 만큼 이례적인 대규모 무력시위를 벌인 것이다. 이전까지는 크로노스가 API를 살포시 발표하면 제조사들이 뒤이어 드라이버를 만들고, SDK를 개발하는 식이었기 때문이다. 이러한 변화의 까닭은 벌칸이 단지 그래픽 API로서뿐만 아니라, 업계 전체가 한 마음 한 뜻으로 지향하는 어떤 '미래'를 상징하는 것이기 때문이다.

 

 

 

벌칸을 지원하는 플랫폼 : 애플의 간보기

 

그러나, 앞서 언급했듯 벌칸이 로우 레벨 API의 유일한 주자는 아니기 때문에 단지 '출시했다'는 것 만으로 모든 대의를 얻었다고 믿으면 곤란할 것이다. 크로노스는 벌칸을 오픈소스, 멀티플랫폼 API로 규정짓고 있으며 여기에 더해 직접 산업계에서 벌칸이 채택되게끔 발로 뛰고 있다. 여기서 크로노스는 오픈GL의 사례를 반면교사로 삼아봄직 한데, 모바일 시장의 오픈GL ES가 성공적으로 안착한 것과 대조적으로 PC 시장의 오픈GL은 그야말로 죽을 쑤고 있기 때문이다. 새로 등장한 벌칸이 오픈GL의 오명을 그대로 승계해서는 안 될 것이다.

 

 

기술적인 측면에서, 크로노스는 벌칸을 거의 모든 하드웨어와 운영체제 하에서도 작동 가능하도록 설계하는 데 집중했다. 적어도 지금까지는 그 목적이 순조롭게 달성되고 있어, 오늘날 오픈GL과 오픈GL ES를 지원하는 플랫폼이라면 거의 모두 벌칸을 그대로 사용할 수 있을 것이다. 예컨대 PC 환경이라면 리눅스, 윈도우 XP 이후의 모든 윈도우에서 벌칸을 사용할 수 있다.

 

한편, 모바일 진영을 살펴보면 구글은 진작부터 벌칸에 대한 지원을 천명했으며 안드로이드 마시멜로우부터는 벌칸을 지원하는 것으로 알려졌다. 단지 그래픽 작업을 위해 벌칸을 사용하는 것에서 한발 더 나아가 개발 단계에서부터 안드로이드 플랫폼에서의 테스트가 긴밀히 이뤄졌다고 한다.

 

 

위 표를 보고 눈치챘겠지만 여기에는 큰 구멍이 하나 있다. 바로 애플이다. 애플과 크로노스 그룹 사이의 관계는 꽤 미묘한데 벌칸의 최초 개발단계에는 애플이 참여했던 것으로 알려졌으나 이후 발을 뺀 것으로 알려져 있다. 또한 작년에는 애플 스스로 자체 API인 메탈에 더욱 주력할 뜻을 밝히기도 했다. 게다가 iOS는 아직까지도 오픈GL ES 3.1로 API 업데이트를 하지 않고 있다. 이 모든 정황이 가리키는 것은 단 하나, 애플이 스스로 성채를 짓고 있다는 것이다. 따라서 안타깝지만 현존하는 모든 OS를 관통하는 크로스플랫폼 API의 등장은 이미 불가능해졌으며 과거 어느 때보다도 API 생태계는 갈갈이 찢어져 세분화되었다. 다만 한가지 기대를 걸어봄직한 것은, API와 소프트웨어 사이의 미들웨어가 개발되어 개발자들에게 단일한 개발환경을 제공해 줄 수 있지 않을까 하는 믿음이다. 묘하게도, 벌칸의 출시에서는 한 발짝 거리를 두고 있는 애플이지만 그들은 여전히 컨소시엄에는 참여하고 있기도 하다.

 

 

개발자들을 위한 SDK와 기술 문서

 

한편, 오늘의 발표에서는 게임 개발자들을 위한 SDK와 기술 문서들도 함께 공개되었다.

 

 

일례로 벌칸 SDK 개발을 위해 밸브측에서 파견한 개발자 그룹 'LunarG'는 윈도우와 리눅스를 지원하는 벌칸 호환 SDK인 'LunarG SDK'를 오늘 공개했다. 이 SDK는 벌칸을 이용한 게임 개발을 위한 다양한 툴을 망라하고 있다.

 

 

이와 함께, 크로노스는 비록 오늘 벌칸이 발표되었고 그 자체로 오픈GL의 후계자이기는 하나, 오픈GL 역시 사라지지 않고 존속할 것이라는 점을 미디어와 개발자들에게 수차례 공들여 설명하는 모습을 보였다. 다이렉트X 12와 같이 벌칸은 로우 레벨 API를 지향하고 있으며, 이들은 공통적으로 (개발자들의 입장에서) 이전 버전의 API들보다 사용하기 어렵다. 크로노스의 의도는 벌칸을 고급 개발자들에게 제공하고, 그 정도까지의 개발이 필요치 않은 쪽에는 그대로 오픈GL을 제공하려는 것이다. 이미 오픈GL 자체로도 멀티플랫폼 API로는 충분하지 않은가.

 

 

지원하는 드라이버 및 소프트웨어

 

서두에 언급했듯 크로노스와 컨소시엄 회원사들은 벌칸의 발표와 동시에 지원하는 드라이버 등을 한꺼번에 내놓는 것을 계획했다. 호환성 테스트는 이미 내부적으로 완료되었으며 30여 종의 드라이버가 검증이 끝나 오늘 당장 사용할 수 있는 상태에 있다.

 

 

이 기사가 쓰여지고 있는 엠바고 기간 기준으로, 안드로이드 플랫폼에서는 엔비디아와 퀄컴이 호환성 테스트를 마쳤으며, 리눅스 환경에서는 이매지네이션, 인텔과 엔비디아가, 윈도우에서는 현재까지 엔비디아만이 테스트를 마쳤다고 한다. ARM과 AMD 역시 현재 드라이버 심사가 진행 중에 있어 정식 출시일에 맞춰 공개될 것이라고 한다. (※ 주 : 실제로 오늘 공개되었다.)

 

하드웨어적인 측면에서는 구체적으로 어떤 GPU가 벌칸을 지원하는지 아직 명확히 정리되지 않았다. 전적으로 구글이 어떤 기능 세트를 포함시켰는지에 의존하게 될 것인데, 일단 주요 제조사들 모두가 벌칸의 탄생에 협력한 만큼 앞으로의 GPU들이 벌칸을 지원하리라는 것은 의심할 필요조차 없다. 중요한 것은 구형 GPU들이 어느 선까지 벌칸을 지원할 것이냐는 점이다. 일단 퀄컴의 아드레노 500 시리즈와 ARM의 '미드가르드' 아키텍처, 이매지네이션의 'Rogue' 아키텍처는 벌칸을 지원할 것이 확실시된다.

 

엔비디아는 케플러부터, AMD는 GCN 1.0 이후의 모든 아키텍처가 벌칸을 지원할 것이라고 밝힌 바 있다. 재미있는 사실은, 엔비디아는 다이렉트X 12 지원은 페르미부터 하게끔 확장되었는데 벌칸은 케플러부터 지원된다는 점이다. 마지막으로 인텔 역시 브로드웰에 탑재되는 8세대 HD Graphics 내장그래픽부터 벌칸을 지원할 것이라고 한다.

 

드라이버와 함께 벌칸을 이용할 수 있는 소프트웨어도 오늘 함께 공개되었다. 우선 Croteam의 게임 타이틀 'The Talos Principle'이 네이티브 벌칸 구동작으로 출시되었으며 크로노스에 따르면 이외에도 다수의 게임 타이틀이 벌칸에 대한 지원을 추가할 것이라고 한다. 현재로서는 유일하게 다이렉트X와 벌칸의 크로스 API 테스트가 가능한 The Talos Principle의 벤치마크 결과는 아래와 같다. (출처 : Computerbase.de)

 

 

다이렉트X 하에서 FHD와 QHD는 모두 지포스 GTX 980 Ti에 유리한 해상도이나, 벌칸 모드로 구동시 라데온 R9 Fury X가 두 해상도에서 모두 성능이 좋아지는 것을 확인할 수 있다. Fury X가 강세인 초 고해상도 영역에서는 두말할 필요조차 없다. 이는 벌칸의 모체가 사실상 AMD의 맨틀이라는 점과, 차세대 API 지원에 AMD가 더욱 적극적이었던 것과 무관치 않을 것이다.

 

어쨌든, 구체적으로 언제 기존 게임들이 벌칸을 지원하게 될지는 아직 알려지지 않았지만 작년 한해동안 이미 다수의 게임 데모가 선보여진 바 있고, 인텔, 밸브, 베이스마크 등 주요 개발사들이 여기에 몸담고 있는 만큼 오래지 않아 여러 지원 게임들을 볼 수 있게 될 것이다.

 

 

벌칸의 어머니, 맨틀을 추모하며

 

여기서는 벌칸 그 자체에 주목해 보자. 컨소시엄 출범 이후 오늘에 이르기까지 크로노스의 중요한 대언론 입장 표명은 딱 한차례 있었다. 2015년 3월의 발표가 그것이었는데, 크로노스는 그때까지 AMD가 자체적으로 개발하고 있던 '맨틀' API를 그들의 차세대 API에 통합하겠다는 뜻을 밝힌 것이다. 이를 통해 크로노스 측은 맨땅에서 API를 개발하는 수고로부터 우회하여 획기적으로 단축된 기간 내에 새로운 API를 만들 수 있게 되었다. 달리 말해 벌칸은 태생적으로 맨틀과 깊은 유연관계에 있다고 볼 수 있는데, 물론 최종적으로는 맨틀의 원형에 컨소시엄에 참여한 모든 회사가 각자 나름의 지적재산(IP)을 보태 오늘날의 벌칸이 된 것이지만, 핵심적인 부분이 맨틀의 그것과 동일하다는 것은 부정할 수 없는 사실이다.

 

다만, API 내부의 세부적인 기술 사항을 짚어보는 것은 이 글에서 생략할 것이나 일단 벌칸의 '쉐이더 리소스 바인딩 시스템'은 맨틀과 크게 달라졌다고는 한다. 이것이 유일한 차이점이 아니라는 것 역시 명백하다.

 

 

크로노스가 벌칸을 준비하며 공약했던 것은 "오픈GL보다 더 하드웨어에 가까운 계층에서 작동하며, 오버헤드가 적은 API"를 만드는 것이었다. 최근 몇년 사이 로우 레벨 API에 대한 주목도가 현저히 높아진 것이 크로노스의 구상에 영향을 미친 것은 물론이다. 이러한 기조의 연장선에서 벌칸은 오픈GL로 달성할 수 없던 높은 수준의 다중코어/스레드 지원이 가능해졌고, 다이렉트X 12의 비동기 쉐이더(async shader)와 유사한 기능인 컴퓨트 큐(compute queue) 기능을 갖추게 되었다. 또한 아직 VR 생태계를 논하는 것이 시기상조이기는 하나, 차세대 API로서 벌칸이 VR에 대한 지원을 표방하는 것은 지극히 당연한 일이며, 로우 레벨 API로서 불필요한 오버헤드를 삭감하고 전작 오픈GL 대비 더 낮아진 API 레이턴시를 갖는다는 점 등은 모두 VR 환경에 꼭 필요한 것들이기도 하다.

 

 

무엇보다 벌칸은 크로노스 그룹에게 있어서도 (자그마치 25년을 장기집권해 온) 오픈GL 이후의 그래픽 산업을 대비하는 자산으로써의 의미가 있다. 2000년대 중반부터 새 API에 대한 욕구가 분출하기 시작한 것을 생각하면 만시지탄이라고도 할 수 있을 것이다. 앞으로의 행보를 기대해 본다.

 


 

페이스북, 트위터에서 IYD를 팔로우하시면 저희가 놀아드립니다!

 

http://facebook.com/insideyourdevice
http://twitter.com/iyd_twit

 

댓글 8

잼아저씨

4년 전

탈로스 법칙의 FPS를 보다가 갸웃한게 벌칸을 쓰면 프레임이 하락하네요. 엔비디아는 더 떨어지고 AMD는 덜 떨어지고... 뭔가 추가 된 효과가 있는건지, 최적화가 안된건지 궁금하군요.

댓글 수정 삭제

인텔장사를대국적으로

4년 전

그러게요. DX12 게임은 DX11보다 빠른데요.

파란 동네 암드까/지포스빠들이 또 얼마나 설칠지 기대됩니다. DX12도 맨틀과 아무 관계 없이 비슷한 때 시작했다고 주장하는 사람들이니까요.

댓글 수정 삭제

잼아저씨

4년 전

오늘 DG님 방송에서 나온 이야기이지만 저 프레임은 OpenGL로 구동한 것에 비하면 상향이 있었던 것이라고 합니다. 어쨌든 DX 12와 결과물로 붙어보려면 좀 더 기다려 봐야 할 거 같습니다.

댓글 수정 삭제

지나가는사람

4년 전

출시된지 며칠되지도 않은 vulkan에 해당 게임이 최적화되어 있을리가 없지요.
지금은 그냥 "vulkan으로도 돌아가요" 수준입니다.
그래도 OpenGL로 돌릴 때 보다는 성능이 좀 더 좋게 나오는 것은 매우 희망적입니다.

나중에 DX11수준으로 vulkan에 대해 최적화된 게임이 나온다음에(과연?) 성능 평가를 해야할 겁니다.

댓글 수정 삭제

IYD

4년 전

히익 ㅋㅋ 조만간 여기에도 이원생중계로 방송 볼 수 있는 페이지를 하나 만들려고 합니다.

댓글

돌비

4년 전

좋은 내용 감사합니다.
이제 겨우 OpenGL es 2.0 을 공부하고 있는데... 너무 어렵네요.ㅎㅎㅎ
벌칸은 더 어려워 진다고 하니, 컥.

댓글 수정 삭제

IYD

4년 전

오... 그래픽을 전공하시는 분이시군요. 읽어 주셔서 감사합니다 :)

댓글

지나가는사람

4년 전

API자체는 OpenGL보다 low level이라서 좀 더 어렵겠지만,
역설적이게도 게임개발은 더 쉬워질 수 있습니다.


댓글 수정 삭제

오버워치 2천만 플레이어 돌파 및 월컴 투 할로윈!

계절 이벤트인 할로윈 이벤트가 시작되었죠? 또한 블리자드 보도자료에 따르면, 얼마전에 오버워치 플레이어가 2천만 플레이어가 돌파 했다고 하는데... 어마어마하네요..

by ZardLuck on 3년 전
143

Diablo 3 - 8시즌 여정 미리 보기

새로운 꾸미기 보상 정복자 형상변환 세트 불타는 지옥을 테마로 한 초상화 장식 안다리엘의 “날개” 시즌 여정 보상 (보관함) 고행 XIII 난이도에서 5분 안에 네팔렘의 차원 균열 완료 1인 대균열 60단계 도달 고행 XIII 난이도에서 탐욕 처치 고행 XIII 난이도에서 30초...

by algalon on 3년 전
346 8

문명 6 - 첫 공개: 그리스 (고르고) [한글 자막]

http://store.steampowered.com/app/289070/ 출처 : http://bbs.ruliweb.com/pc/board/1003/read/2111151? 원본출처 : https://www.youtube.com/watch?v=_lg0RmeFSaw

by algalon on 3년 전
185 6

타이탄폴 2 싱글 플레이 영상

벽 뛰는걸 보니 미러스 엣지가 생각나네요

by ZardLuck on 3년 전
116

배틀필드 1 싱글 플레이 30초 스팟

10월 21일 출시!!

by ZardLuck on 3년 전
159

기어스 오브 워 4 - 4k 스크린샷

980Ti로 돌린 4K 해상도의 울트라 옵션 기어스 오브 워입니다. 분위기가 묘하네요

by ZardLuck on 3년 전
172 1

OVERWATCH - 단편만화 '정켄슈타인'

http://comic.playoverwatch.com/ko-kr/junkrat-junkenstein 위 링크에서 보실 수 있습니다. https://playoverwatch.com/ko-kr/ 출처 : http://bbs.ruliweb.com/pc/board/1003/read/2111117? 원본출처 : http://comic.playoverwatch.com/ko-kr/junkrat-junkenstein

by algalon on 3년 전
240

StarCrafts 2 - 카봇 모드 오프닝 (정식 출시)

플레이 방법 스타2 아케이드 탭에서 "Star Crafts Mod" 로 검색 (처음사용자용도 가능) 또는 주소창에 입력North America: battlenet:://starcraft/map/1/279403Europe: battlenet:://starcraft/map/2/195516Asia (Korea/Taiwan): battlenet:://starcraft/map/3/110625So...

by algalon on 3년 전
157 1

Battlefield 1 - 멀티플레이 티져 영상 (새로운 맵)

https://www.battlefield.com/ko-kr 출처 : http://bbs.ruliweb.com/pc/board/1003/read/2111000?page=2 원본출처 : https://www.youtube.com/watch?v=euuWVYtG6Vc

by algalon on 3년 전
71

바이오쇼크 : 리마스터 21:9 해상도 지원

새로운 패치를 통해 FOV값 조정과 21:9 시네마 뷰 해상도를 지원한다고 합니다. 게임 특성상 더욱 오묘하고 아름다운 랩처 세계를 볼 수 있겠네요

by ZardLuck on 3년 전
370
서버에 요청 중입니다. 잠시만 기다려 주십시오...