그래픽스 API

그래픽스 API(Graphics application programming interface)는 소프트웨어가 그래픽 하드웨어 및 시스템의 그래픽 기능을 사용하도록 제공하는 응용 프로그래밍 인터페이스이다. 응용 프로그램과 게임 엔진은 이를 통해 이미지 생성에 필요한 버퍼·텍스처·셰이더·명...

영문명Graphics API
분류응용 프로그래밍 인터페이스, 컴퓨터 그래픽스
주요 기능그래픽 장치 제어, 렌더링 명령, 자원 관리
대표 기술OpenGL, Vulkan, Direct3D, Metal
주요 사용자게임 엔진, 렌더링 엔진, 그래픽 응용 프로그램

그래픽스 API(Graphics application programming interface)는 소프트웨어가 그래픽 하드웨어 및 시스템의 그래픽 기능을 사용하도록 제공하는 응용 프로그래밍 인터페이스이다. 응용 프로그램과 게임 엔진은 이를 통해 이미지 생성에 필요한 버퍼·텍스처·셰이더·명령과 동기화 작업을 구성하고, GPU가 처리할 렌더링 작업을 제출한다.

대표적인 그래픽스 API에는 OpenGL, Vulkan, Direct3D와 Metal 등이 있다. 각 API는 지원 플랫폼과 하드웨어 추상화, 상태 관리 및 명령 제출 방식에서 차이를 가지며, 그래픽 드라이버와 운영체제의 실행 환경에 연결된다. 일부 API는 고수준의 상태 관리 인터페이스를 제공하는 반면, 다른 API는 자원과 동기화의 많은 부분을 애플리케이션이 명시적으로 관리하도록 설계된다.

그래픽스 API는 3D 그래픽 소프트웨어, 게임, 사용자 인터페이스, 과학 시각화와 실시간 렌더러 등에 사용된다. 각 API 문서에는 지원 구현, 그래픽 엔진, 도구 및 해당 기술을 이용하는 소프트웨어를 연결할 수 있다.

역사

초기 그래픽 인터페이스

OpenGL과 Direct3D

명시적 그래픽스 API의 발전

구조

응용 프로그램과 그래픽 드라이버

그래픽 파이프라인

명령 버퍼

GPU 자원

동기화

렌더링 기능

버퍼와 텍스처

셰이더

래스터화

컴퓨트

레이 트레이싱

주요 그래픽스 API

OpenGL

OpenGL ES

Vulkan

Direct3D

Metal

WebGL

WebGPU

플랫폼 지원

Microsoft Windows

Linux와 UNIX

macOS와 iOS

Android

웹

그래픽스 API를 사용하는 소프트웨어

도구와 디버깅

관련 문서