# SDL3 새로운 GPU API 병합

> Clean Markdown view of GeekNews topic #16544. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=16544](https://news.hada.io/topic?id=16544)
- GeekNews Markdown: [https://news.hada.io/topic/16544.md](https://news.hada.io/topic/16544.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-08-31T09:39:19+09:00
- Updated: 2024-08-31T09:39:19+09:00
- Original source: [github.com/libsdl-org](https://github.com/libsdl-org/SDL/pull/9312)
- Points: 1
- Comments: 1

## Topic Body

##### GPU API MkII

###### 프로젝트 소개
- SDL의 새로운 GPU API가 도입됨
- MoonWorks 프로젝트와 유사하며, 현대적인 API(Vulkan 등)를 타겟으로 함
- Samurai Gunn 2 등의 게임에서 사용 중

###### 주요 기능 및 장점
- **컴퓨트 기능**: Refresh API는 컴퓨트 기능을 간단하게 사용 가능하게 함
- **셰이더 시스템**: 오프라인 컴파일 방식 사용, 다양한 포맷 지원
- **리소스 안전성**: 내부적으로 리소스 안전성을 보장, 사용자에게 복잡한 API 노출 없음

###### 셰이더 시스템
- `shaderbuild.py` 스크립트를 사용하여 오프라인 셰이더 빌드
- 셰이더 모듈 생성 시 각 백엔드의 IR 포맷을 사용
- SDL 자체는 셰이더 컴파일러를 래핑하지 않음

###### 개발 진행 상황
- Metal 지원 시작
- FNA3D 포트를 통해 셰이더 생성 지원
- 하드웨어 인스턴싱 지원 추가 예정

###### 커뮤니티 피드백
- 오프라인 셰이더 컴파일 방식에 대한 다양한 의견
- SDL_gpu의 사이클 처리 방식에 대한 긍정적인 평가
- 다양한 백엔드 지원을 위한 지속적인 개선 필요

###### 향후 계획
- SDL 스타일의 문서 주석 작성
- Metal 및 D3D12 지원 강화
- 테스트 프로그램 추가 및 버그 수정

##### # GN⁺의 정리
- SDL의 새로운 GPU API는 현대적인 그래픽 API를 지원하며, 다양한 게임에서 사용 가능함
- 셰이더 시스템은 오프라인 컴파일 방식을 채택하여 성능을 최적화함
- 커뮤니티의 피드백을 반영하여 지속적으로 개선 중이며, Metal 및 D3D12 지원을 강화할 예정
- 이 API는 게임 개발자들에게 유용하며, 다양한 백엔드를 지원하여 유연성을 제공함

## Comments



### Comment 28446

- Author: neo
- Created: 2024-08-31T09:39:19+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=41396260) 
- SDL3는 아직 프리뷰 상태지만, 새로운 GPU API가 메인 브랜치에 병합되었음
  - 새로운 GPU API는 그래픽 코드 및 셰이더를 한 번 작성하면 최소한의 번거로움으로 크로스 플랫폼(콘솔 포함)에서 작동할 수 있게 해줌
  - 이전에는 Unity, Unreal 또는 커스텀 솔루션이 필요했음
  - WebGPU/WGSL도 유사한 크로스 플랫폼 그래픽 스택 노력임
  - 현재 SDL3 GPU API는 WebGPU를 백엔드로 지원하지 않음

- SDL GPU API가 이렇게 빨리 완성된 것이 놀라움
  - WebGPU 네이티브는 개발 중이며 아직 완성되지 않았음
  - SDL GPU API는 더 많은 플랫폼을 지원하기 때문에 더 오래 걸릴 것으로 예상했음

- dx12 부분에 기여하게 되어 기쁨

- SDL은 고품질 소프트웨어로, 여러 플랫폼에서 빠르게 컴파일되고 항상 작동함
  - 새로운 API에 대한 기대가 있음

- SDL의 큰 팬임
  - 크로스 플랫폼 게임 라이브러리를 찾을 때 SDL과 그 API가 적절한 균형을 제공했음
  - 창과 그래픽 컨텍스트를 생성할 수 있는 C(++) 라이브러리가 필요했음
  - 새로운 언어를 배우고 싶지 않았음

- 이 모든 것이 어떻게 될지 기대됨
  - 커스텀 게임 엔진 및 앱을 구축할 더 많은 옵션이 생기길 바람

- Vulkan을 배우는 것이 재미있고 유익했지만, 진행 속도가 느리게 느껴짐
  - SDL3가 처음부터 있었다면 더 많은 성과를 얻었을 것임

- 이 라이브러리를 사용해본 적은 없지만, 크로스 플랫폼 GPU 컴퓨팅 능력의 예제를 보고 싶음
  - 어디서 시작해야 할지 제안이 필요함

- Raylib이 SDL GPU 백엔드를 얻는 것을 보고 싶음
  - 그러면 바로 사용할 것임

- 이것이 https://github.com/grimfang4/sdl-gpu와 관련이 있는지 궁금함
  - 아니면 같은 이름의 완전히 별개의 것인지 궁금함
