벌컨 (API)
벌컨(Vulkan)은 오버헤드가 적은 크로스 플랫폼 3D 그래픽스 및 컴퓨팅 API이다. 이는 GDC 2015에서 크로노스 그룹에 의해 처음으로 소개되었다.
개발자 | 크로노스 그룹 (AMD 기여)[1][2][3][4][5] |
---|---|
발표일 | 2016년 2월 16일[6] |
안정화 버전 | 1.3.253
/ 2023년 6월 10일[7] |
저장소 | |
운영 체제 | 리눅스 (안드로이드, 스팀OS, 타이젠), 윈도우[8][9] |
플랫폼 | 호환 하드웨어 |
종류 | 3D 그래픽스 및 계산 API |
상태 | 지원 중 |
웹사이트 | Khronos.org/Vulkan |
기준 | 2016년 2월 16일 |
초기의 Vulkan API는 OpenGL의 차세대 버전으로 준비되었는데, 현재는 "OpenGL"이라는 이름을 이어가지 않고 Vulkan이라는 이름으로 결정되었다.
OpenGL처럼 Vulkan은 게임이나 상호작용성 미디어와 같은 고성능 실시간 3D 그래픽스 애플리케이션을 모든 플랫폼에서 고성능으로 CPU를 적게 사용하도록 개발하는 것을 목표로 만들어진 API이며 마이크로소프트의 Direct3D 12, 애플의 메탈, AMD의 맨틀과 같은 성격의 API이다. CPU 사용량에 대해서 더 이야기 하자면 Vulkan은 멀티 코어 CPU의 여러 코어 사이에 로드를 더 잘 분배할 수 있다.
역사
편집크로노스 그룹은 2014년 7월 차세대 그래픽스 API를 만들기 위한 프로젝트를 시작하였으며, 이는 밸브 코퍼레이션의 킥오프 미팅과 함께한다.[10] SIGGRAPH 2014에서 이 프로젝트는 참여자들의 요청에 따라 공개 발표되었다.[11]
벌컨을 지원하는 소프트웨어
편집비디오 게임
편집- The Talos Principle - 벌컨 렌더링을 지원하는 최초의 게임.[12]
- 도타 2 - 2016년 5월 벌컨 지원을 공개.[13]
- 둠 - 2016년 7월 벌컨 지원을 공개.[14]
- vkQuake - 벌컨 퀘이크 이식을 2016년 7월 공개.[15][16]
- Roblox - 2017년 3월, Roblox를 위한 벌컨 지원이 추가됨.
- Star Citizen - 2017년 3월, 클라우드 임페리엄 게임즈의 그래픽스 프로그래밍 감독 Alistair Brown은 공식 스타 시티즌 포럼에서 클라우드 임페리엄이 이제 스타 시티즌과 Squadron 42에 벌컨 구현을 집중할 것이라고 발표하였다. DirectX 지원은 중단될 것인데, 이는 고객들이 윈도우 10을 사용하도록 강제하기 때문이다.[17]
- 매드 맥스 - 2017년 3월, 개발자들은 리눅스 포팅으로 예외적으로 벌컨의 베타 지원을 추가하였다.[18]
- Ballistic Overkill - 2017년 5월 벌컨 지원을 공개.
- Quake III Arena Kenny Edition - 퀘이크 3 엔진 모드(mod)가 2017년 5월 벌컨 지원을 추가.
- Ashes of the Singularity: Escalation - 차기작에 벌컨 지원 추가 예정.
- vkDoom3 - Doom3 BFG의 벌컨 포팅 지원을 2017년 8월 공개.
- Wolfenstein II: The New Colossus - 벌컨만 지원. 2017년 런칭.
- X4: Foundations - 벌컨 전용 그래픽스 엔진과 함께 2018년 런칭 예정
- X-Plane 11 - Laminar Research는 2017년 하반기에 OpenGL에서 벌컨으로 이동할 예정이며, 테스트는 2018년에 시작.
- 레드 데드 리뎀션 2/레드 데드 온라인 - 처음 공개후, 베타 테스트때 추가되었다.
게임 콘솔 에뮬레이터
편집- Beetle/Mednafen PSX,[19] Mednafen PlayStation의 Libretro 포팅
- 돌핀[20]
- Mupen64Plus의 Libretro 포팅[21]
- RPCS3
- PPSSPP
- Xenia
게임 엔진
편집- 소스 - 2015년 3월, 밸브 코퍼레이션은 소스 2 엔진을 발표하였으며 이는 오리지널 소스 엔진의 뒤를 이으며 벌컨을 지원한다.[22][23]
- 시리어스 엔진 4 - 2016년 2월, Croteam은 시리어스 엔진에 벌컨을 지원하고 있었다고 발표하였다.[24]
- 언리얼 엔진 - 2016년 2월, 에픽게임즈는 언리얼 엔진 4가 삼성그룹의 삼성 갤럭시 S7 언팩 행사에서 벌컨을 지원할 것임을 발표하였다.[25][26]
- 토크 - 2016년 4월, 개발자 공동체는 벌컨 지원 포함을 발표하였다.[27][28]
- 퀘이크 엔진 - 2016년 7월 벌컨 지원이 추가되었다.
- id Tech 3 - 2017년 5월 벌컨 지원이 추가되었다.
- id Tech 4 - 2017년 8월 벌컨 지원이 추가되었다.
- id Tech 6 - 2016년 5월, 이드 소프트웨어는 테크 6 엔진을 구동하는 둠이 벌컨을 지원할 것이라 발표하였다.[29]
- Xenko - 2016년 7월 벌컨 지원이 추가되었다.[30]
- 유니티 - 이 엔진은 버전 5.6부터 벌컨 지원이 추가되었다.[31]
- 크라이엔진 - 5.4 릴리스에 벌컨 지원이 추가되었다.[32]
- Intrinsic - 벌컨을 지원하는 자유-오픈 소스 크로스 플랫폼 게임 엔진.[33]
- Unigine - 2017년 4월, Unigine Corp는 Unigine의 벌컨 지원이 2017년 로드맵에 있다고 발표하였다.[34]
- Abyss Engine - 2017년 5월, 딥 실버 FISHLABS는 벌컨을 지원하는 안드로이드에 갤럭시 온 파이어 3를 출시하였다.[35]
- Banshee 3D - 벌컨을 지원하는 자유-오픈 소스 크로스 플랫폼 게임 엔진.[36]
- Godot - 2차원, 3차원 크로스 플랫폼 오픈 소스, 게임 엔진. 2018년 2월 말에 개발자들은 모든 플랫폼을 대상으로 OpenGL ES 3만을 사용하지 않고 OpenGL ES 2와 벌컨을 혼합하여 사용하겠다고 발표하였다[37].
- RAGE - 레드 데드 리뎀션 2에서 지원하고 있다.
렌더링 엔진
편집- UX3D Engine - 2017년 9월 벌컨 지원이 추가되었다.
개발 도구
편집- GPU PerfStudio 3.6은 리눅스, 윈도우에서 벌컨을 지원한다.[38]
- GTK+ Scene Graph Kit은 GTK+ 3.90의 일부로서 2017년 3월 출시되었으며 벌컨 렌더링 경로를 포함한다.[39]
- RenderDoc은 벌컨을 지원하며, 그 추가 시점은 2016년 2월 10일이다.[40]
운영 체제 구성 요소
편집벌컨 윈도우 시스템 통합(Vulkan Window System Integration, WSI)은 EGL이 OpenGL ES를 위해 하는 것과 동일한 것을 벌컨을 위해 한다.[41] EGL은 네이티브 플랫폼 윈도잉 시스템과 통신할 목적으로 OpenGL ES 프로그램에 쓰인다. EGL은 컨텍스트 관리, 표면 바인딩, 렌더링 동기화를 관리한다.
호환성
편집기업 | 하드웨어 | 소프트웨어 지원: Vulkan 1.0 | ||||||
---|---|---|---|---|---|---|---|---|
마이크로아키텍처 | 이용 가능 시점 | GPU (칩) | 그래픽 카드 / SoC | 안드로이드[a] | 리눅스 | 마이크로소프트 윈도우[b] | ||
AMD | ||||||||
GCN 5th | 2017년 8월 | Vega 10 | Radeon Rx Vega series | 빈칸 | AMDGPU PRO (Ubuntu & RHEL)[43][44] & RADV in 메사[45] |
AMD 라데온 소프트웨어 크림슨[46] | ||
GCN 4th | 2016년 6월 | Polaris 10, Polaris 11, Polaris 12 | Radeon Rx 400 series | |||||
GCN 3rd | 2014년 8월 | Tonga, Fiji, Carrizo | Radeon R9 Series | |||||
GCN 2nd | 2013년 3월 | Bonaire, Hawaii, Kaveri, Kabini, Temash, Mullins, Beema, Carrizo-L | Radeon HD 7790, 플레이스테이션 4, 엑스박스 원 | 실험적 | ||||
GCN 1st | 2012년 1월 | Oland, Cape Verde, Pitcairn, Tahiti | Radeon HD 77xx-7900 Series | |||||
TeraScale 3 | 2010년 12월 | Cayman, Trinity/Richland | Radeon HD 69xx Series, Radeon HD 7xxx-76xx Series | 지원하지 않음 | ||||
TeraScale 2 | 2009년 9월 | Cedar, Cypress, Juniper, Redwood, Palm, Sumo | 라데온 HD 5000 시리즈, Radeon HD 6350, Radeon HD 64xx-68xx Series | |||||
TeraScale 1 | 2007년 5월 | R600, RV630, RV610, RV790, RV770, … | 라데온 HD 2000 시리즈, HD 3000, HD 4000 | |||||
Nvidia | ||||||||
볼타 | December 2017 | GV10x | Nvidia Titan V | 지포스 | ||||
파스칼 | 2016년 5월 | GP10x | 지포스 10 시리즈, Tegra X2 | 예 | 지포스[47][48] | 지포스[48] | ||
맥스웰 | 2014년 2월 | GM10x, GM20x | GeForce GTX 750 Ti, GTX 750, GTX 860M, 지포스 900 시리즈, 엔비디아 테그라 | |||||
케플러 | 2012년 3월 | GK10x, GK110, GK208 | 지포스 600 시리즈, 지포스 700 시리즈, 엔비디아 테그라 | |||||
페르미 | 2010년 3월 | GF10x, GF11x | 지포스 400 시리즈, 지포스 500 시리즈 | 지원하지 않음 | ||||
테슬라 | 2006년 11월 | G8x, G9x, GT20x, GT21x | 지포스 8 시리즈, 지포스 9 시리즈, 지포스 100 시리즈, 지포스 200 시리즈, 지포스 300 시리즈 | |||||
Intel | 커피레이크 | 2017년 10월 | Core i3-/i5-/i7-8000, | |||||
Kaby Lake | 2016년 9월 | Core i3-/i5-/i7-7000, Pentium xyz, Celeron xyz | Anvil in Mesa 17.1[49] | Anvil in 메사[50][51] | Intel Graphics driver[52] | |||
Skylake | 2015년 8월 | Core i3-/i5-/i7-6000, Core m3-/m5-/m7-6Yxx, Pentium G4xxx, Celeron G39xx | ||||||
Broadwell | 2014년 9월 | Core i3-/i5-/i7-5000, Core M-5Yxx | 지원하지 않음 | |||||
Haswell | 2013년 6월 | Core i3-/i5-/i7-4000, Pentium G3xxx, Celeron G18xx | ||||||
Ivy Bridge | 2012년 4월 | Core i3-/i5-/i7-3000, Pentium G2xxx, Celeron G16xx | ||||||
Sandy Bridge | 2011년 1월 | Core i3-/i5-/i7-2000, Pentium Gxxx, Celeron Gxxx | 지원하지 않음 | 지원하지 않음 | ||||
Westmere | 2010년 1월 | Core i3-/i5-/i7-xxx, Pentium G69xx, Celeron G1101 | ||||||
Imagination Technologies | ||||||||
파워VR Series 8 | 2016년 2월 | GE8200, GE8300 | PowerVR Graphics SDK v4.1[53] | |||||
PowerVR Series 7 | 2014년 11월 | GE7400, GE7800, GT7200, GT7400, GT7600, GT7800, GT7900 | Apple A9, A9X, A10 Fusion, Helio X30 (MT6799) | |||||
PowerVR Series 6 | 2012년 1월 | G6100, G6200, G6230, G6400, G6430, G6630, RK3368, G6050, G6060, G6100 (XE), G6110, GX6240, GX6250, GX6450, GX6650 | Apple A7, A8, A8X, MediaTek MT8173, MT8176, MediaTek MT6595M, MT6595T, MT6595M, MT6795, MT8135, Helio X10 (MT6795), LG H13, Atom Z3460, Z3480, Z3530, Z3560, Z3570, Z3580 | |||||
PowerVR Series 5 | 2009년 1월 | SGX543, SGX544, SGX554 | Apple S1, A5, A5X, A6, A6X, NovaThor L8540, L8580, L9540, TI OMAP 4470, 5430, 5432, MediaTek MT5327, MT6589M, MT6589T, MT6589, MT8117, MT8121, MT8125, MT8389, Atom Z2460, Z2520, Z2560, Z2580, Z2760, Exynos 5410 | 지원하지 않음 | ||||
Qualcomm | ||||||||
아드레노 500 series | Adreno 510, Adreno 530, Adreno 540, adreno 506 | Snapdragon 430, 625, 650, 652, 820, 821, 835, 450 | 1.0[54] | |||||
Adreno 400 series | Adreno 418,Adreno 420,Adreno 430, | Snapdragon 415, 615, 616, 617, 805, 808, 810 | 1.0(Adreno 418,430)[55] | |||||
Adreno 300 series | Snapdragon 200, 208, 210, 212, 400, 410, 412, 600, 800, 801 | 지원하지 않음 | ||||||
ARM | ||||||||
Bifrost[56] | 2016년 6월 | Mali-G71, … | Kirin 960, 970, Exynos 8895, MediaTek Helio P23 (MT6763T), Helio P30 | 1.0[57] | ||||
Midgard 4th | Q4 2015 | Mali-T860, Mali-T830, Mali-T880 | Exynos 8890, Exynos7880, Exynos 7870, Kirin 950, 955, MediaTek MT6738, MT6750, Helio X20 (MT6797), X25 (MT6797T), P10 (MT6755), P20 (MT6757) | |||||
Midgard 3rd | 2013년 10월 | Mali-T760, … | Exynos 7420, Exynos 5433, MT6752, MT6732, RK3288 | |||||
Midgard 2nd | 2012년 8월 | Mali-T600 series, T720 | Exynos 5250, 5260, 5410, 5420, 5422, 5430, 5800, 7580, Mediatek MT6735, MT6753, Kirin 920, 925, 930, 935 | 지원하지 않음 |
같이 보기
편집각주
편집- ↑ Hruska, Joel. “Not dead yet: AMD’s Mantle powers new Vulkan API, VR efforts”. 《Extreme Tech》. 2015년 6월 26일에 확인함.
- ↑ Kirsch, Nathan. “Is AMD Mantle Dead As We Have Known It? Vulcan API Uses Mantle Technology for OpenGL”. 《Legit Reviews》. 2015년 6월 25일에 확인함.
- ↑ Shilov, Anton. “AMD: Vulkan absorbed ‘best and brightest’ parts of Mantle”. 《KitGuru》. 2015년 6월 26일에 확인함.
- ↑ Koduri, Raja (2015년 3월 4일). “On APIs and the future of Mantle”. AMD. 2015년 5월 19일에 확인함.
...(T)he Khronos Group has selected Mantle to serve as the foundation for Vulkan...
- ↑ Michaud, Scott (2015년 3월 3일). “GDC 15: Khronos Acknowledges Mantle's Start of Vulkan”. PC Perspective. 2015년 5월 19일에 확인함.
- ↑ https://www.khronos.org/news/press/khronos-releases-vulkan-1-0-specification
- ↑ “Vulkan® 1.3.252 - A Specification”. 2023년 6월 10일에 확인함.
- ↑ Bright, Peter; Walton, Mark (2016년 2월 16일). “Vulkan now official, with 1.0 API release and AMD driver [Updated]”. United Kingdom: Ars Technica. 2016년 2월 18일에 확인함.
- ↑ Valich, Theo (2016년 2월 17일). “Mantle Cycle is Complete as Khronos Releases Vulkan 1.0”. VR World. 2022년 5월 11일에 원본 문서에서 보존된 문서. 2016년 2월 19일에 확인함.
- ↑ 《SIGGRAPH 2015: 3D Graphics API State of the Union》 (Video). 《유튜브》 (SIGGRAPH 2015: 크로노스 그룹). 2015년 9월 16일. 57:24에 발생. 2015년 11월 12일에 확인함.
- ↑ “More on Vulkan and SPIR - V: The future of high-performance graphics” (PDF). Khronos Group. 10쪽. 2015년 6월 27일에 확인함.
Thanks AMD!
- ↑ Williams, Daniel & Smith, Ryan (2016년 2월 17일). “Quick Look: Vulkan Performance on The Talos Principle”. Anandtech. 2016년 2월 19일에 확인함.
- ↑ “Dota 2 Update - May 23rd 2016”. 《store.steampowered.com》. Valve. 2016년 5월 24일에 확인함.
- ↑ “DOOM - Vulkan Support Now Live”. 베데스다 소프트웍스. 2016년 7월 11일에 확인함.
- ↑ Larabel, Michael (2016년 7월 25일). “Quake 1 Ported To Run On Vulkan”. Phoronix. 2017년 8월 8일에 확인함.
- ↑ Papadopoulos, John (2016년 7월 21일). “Here is your first look at the first Quake being recreated in Unreal Engine 4 (fan project)”. DSOGaming. 2016년 8월 26일에 확인함.
- ↑ Palumbo, Alessia (2017년 3월 19일). “Cloud Imperium Now Only Intends To Support Vulkan, Instead of DirectX 12, for Star Citizen”. Wccftech. 2017년 8월 8일에 확인함.
- ↑ Larabel, Michael (2017년 3월 30일). “Feral Interactive Vulkan-izes Mad Max”. Phoronix. 2017년 8월 8일에 확인함.
- ↑ “Beetle/Mednafen PSX”. Libretro Wiki. 2018년 5월 8일에 원본 문서에서 보존된 문서. 2017년 2월 14일에 확인함.
- ↑ “Vulkan Backend by stenzek · Pull Request #3935 · dolphin-emu/dolphin”. GitHub. 2017년 2월 14일에 확인함.
- ↑ “Mupen64plus”. Libretro. 2017년 2월 14일에 확인함.
- ↑ Kollar, Philip (2015년 3월 3일). “Valve announces Source 2 engine, free for developers”. 2015년 3월 3일에 확인함.
- ↑ Mahardy, Mike (2015년 3월 3일). “GDC 2015: Valve Announces Source 2 Engine”. IGN. 2015년 3월 3일에 확인함.
- ↑ “The Talos Principle will support Vulkan”. 2016년 2월 4일.
- ↑ “Epic Games adds Vulkan support to Unreal Engine 4”. Bit-Tech. 2016년 2월 24일에 확인함.
- ↑ “Epic Games Unveils ProtoStar at Samsung Galaxy Unpacked”. 에픽게임즈. 2016년 8월 10일에 원본 문서에서 보존된 문서. 2016년 2월 24일에 확인함.
- ↑ “Closing in on 3.9”. 《Forums》. Torque 3D.
- ↑ “Reddit response from a Torque3D developer.”. 레딧.
- ↑ “id announces Doom running on Vulkan”. 2016년 5월 7일.
- ↑ “Xenko 1.7β released!”. 2016년 7월 1일.
- ↑ liamdawe (2017년 3월 31일). “Unity 5.6 is now available with full Vulkan support”. GamingOnLinux. 2024년 5월 4일에 원본 문서에서 보존된 문서. 2017년 7월 31일에 확인함.
- ↑ “Crytek launches CryEngine 5.4 with Vulkan support”. Bit-Tech. 2017년 9월 24일.
- ↑ “Intrinsic - Cross-platform Game and Rendering Engine”. 2016년 10월 27일에 원본 문서에서 보존된 문서. 2017년 8월 12일에 확인함.
- ↑ liamdawe (2017년 4월 13일). “The UNIGINE engine will get Vulkan support this year”. GamingOnLinux. 2017년 7월 31일에 확인함.[깨진 링크(과거 내용 찾기)]
- ↑ “Vulkanised! Manticore with Vulkan on Mobile Device - May 2017”. 《YouTube》. The Khronos Group. 2017년 5월 31일. 2017년 6월 11일에 확인함.
- ↑ “Banshee 3D - Home”. 2018년 3월 20일에 원본 문서에서 보존된 문서. 2017년 8월 12일에 확인함.
- ↑ Juan Linietsky (2018년 2월 26일). “Godot Engine - Moving to Vulkan (and ES 2.0) instead of OpenGL ES 3.”. Godot. 2018년 3월 7일에 확인함.
- ↑ “GPUPerfStudio Vulkan Tools”. 어드밴스트 마이크로 디바이시스. 2017년 1월 29일에 원본 문서에서 보존된 문서. 2017년 3월 17일에 확인함.
- ↑ “gskvulkanrenderer.c”.[깨진 링크(과거 내용 찾기)]
- ↑ “RenderDoc Version v0.27”.
- ↑ “Vulkan 1.0 specification released with day-one support for Wayland”. 2016년 2월 16일.
- ↑ “The Android platform includes an Android-specific implementation of the Vulkan API specification from the Khronos Group”. 2016년 4월 5일.
- ↑ Larabel, Michael (2016년 10월 27일). “AMDGPU-PRO 16.40 Released For Ubuntu & Red Hat Linux Systems”. Phoronix. 2017년 8월 8일에 확인함.
- ↑ “Radeon GPUs are ready for the Vulkan graphics API”. 《Community》. AMD.
- ↑ Larabel, Michael (2016년 8월 30일). “Testing The Open-Source "RADV" Radeon Vulkan Driver vs. AMDGPU-PRO”. Phoronix. 2017년 8월 8일에 확인함.
- ↑ “AMD Radeon Software version 16.15.1009 supports Vulkan”. 2016년 2월 16일. 2016년 2월 25일에 원본 문서에서 보존된 문서. 2016년 2월 18일에 확인함.
- ↑ “NVIDIA DRIVERS Linux x64 (AMD64/EM64T) Display Driver”. Nvidia.
- ↑ 가 나 “Vulkan Driver Support”. 《NVIDIA Developer》. 엔비디아. 2016년 4월 4일에 확인함.
- ↑ “android: add vulkan build for intel”. 2017년 1월 31일.
- ↑ “Open-source Vulkan drivers for Intel hardware”. 2016년 2월 16일. 2017년 2월 15일에 원본 문서에서 보존된 문서. 2018년 3월 13일에 확인함.
- ↑ Larabel, Michael (2016년 7월 8일). “Mesa 12.0 Released With OpenGL 4.3 Support, Intel Vulkan & Many Other Features”. Phoronix. 2017년 8월 8일에 확인함.
- ↑ “15.45.14.4590: Intel Graphics Driver for Windows 7/8.1/10 (Vulkan Support)”. Intel. 2017년 8월 9일에 원본 문서에서 보존된 문서. 2018년 3월 13일에 확인함.
- ↑ “Imagination announces Vulkan SDK for PowerVR Rogue GPUs”. 《Imagination Blog》. PowerVR Developer Technology Team. 2016년 3월 16일. 2016년 5월 31일에 원본 문서에서 보존된 문서. 2016년 4월 27일에 확인함.
- ↑ “Qualcomm announces Vulkan API support for Adreno 5xx and 4xx GPUs”.
- ↑ “Vulkan Hardware Database”.
- ↑ “ARM Bifrost GPU Architecture”. 2016년 5월 30일.
- ↑ “ARM® Mali™GPUs with Vulkan Conformance”. 2016년 12월 4일에 원본 문서에서 보존된 문서. 2018년 3월 13일에 확인함.
- 내용주
외부 링크
편집- 벌컨 - 공식 웹사이트