Vulkan
Vulkan은 애플리케이션과 비디오 게임에서 3D 그래픽을 렌더링하도록 설계된 애플리케이션 프로그래밍 인터페이스(API)입니다. Vulkan은 이전 API보다 컴퓨터의 GPU에 더 직접적으로 액세스할 수 있도록 하므로 효율성과 3D 성능을 향상할 수 있습니다. Vulkan은 컴퓨터와 모바일 장치에서 지원되는 크로스 플랫폼 API입니다. 3D 그래픽을 위한 개방형 표준에 중점을 둔 업계 단체인 Khronos Group이 개발했으며, 2016년에 처음 소개되었습니다.
다른 3D 그래픽 API와 마찬가지로 Vulkan은 게임 개발자가 컴퓨터의 GPU에 3D 모델과 환경을 그리거나 애니메이션으로 표시하는 방법을 지시할 수 있도록 합니다. Vulkan은 다각형으로 3D 도형을 만드는 방법, 여기에 텍스처를 매핑하는 방법, 여러 도형을 하나의 3D 환경으로 결합하는 방법 등 GPU에 명령을 보내는 표준 방식을 제공합니다.
하지만 이전 API와 달리 Vulkan은 개발자에게 GPU 하드웨어에 직접 액세스할 수 있도록 하는 저수준 API입니다. OpenGL과 같은 고수준 API는 게임이 3D 객체를 조작할 때 호출할 수 있는 함수 라이브러리를 제공합니다. 이렇게 하면 게임 소프트웨어와 GPU 사이에 드라이버를 통한 추상화 계층이 만들어지고, CPU가 API 호출을 GPU 명령으로 변환해야 합니다. Vulkan은 GPU와 VRAM에 더 직접적으로 액세스할 수 있도록 하여 이러한 추상화 대부분을 제거합니다. 게임 개발자는 소스 코드에 더 많은 함수를 작성하거나 가져와야 하므로 코드가 더 복잡해지지만, 이를 통해 게임을 최적화하여 더 나은 3D 성능을 얻는 동시에 CPU에 필요한 작업을 줄일 수 있습니다.
Vulkan은 크로스 플랫폼이므로 게임 개발자는 동일한 그래픽 코드를 게임의 여러 버전에서 사용할 수 있습니다. Windows, Linux, Android는 Vulkan API를 직접 지원하며, macOS와 iOS는 Vulkan 명령을 Apple의 Metal API로 변환하는 래퍼를 통해 지원합니다.
지식 테스트하기