> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 메시 셰이더 파이프라인 개요

> XBOX Series X|S에서 확장 가능한 지오메트리를 위해 메시 셰이더 파이프라인이 입력 어셈블러를 프로그래밍 가능한 Amplification 및 Mesh 스테이지로 대체하는 방법을 설명합니다.

RTX Turing 및 AMD RDNA 2.0 GPU는 새로운 지오메트리 처리 파이프라인을 도입합니다. 이 파이프라인은 두 가지 새로운 프로그래밍 가능한 셰이더 스테이지, 즉 증폭 셰이더와 메시 셰이더로 구성되며, 입력 어셈블러 및 테셀레이터 하드웨어를 사용하지 않습니다. 두 스테이지는 모두 컴퓨트와 유사하며, 스레드그룹을 노출하고 생성된 스레드 ID를 유일한 제공 입력으로 사용하지만, 지오메트리 처리 제출과 관련된 기능도 제공합니다.

이 새로운 패러다임은 인덱스/정점 페치를 프로그래밍 가능한 셰이더로 오프로드하는 효과가 있어, GPU 코어 수와 메모리 대역폭에 맞춰 확장할 수 있게 합니다. 이는 입력 어셈블러의 증가하는 병목 현상을 우회하고 GPU에 개선되고 일관된 속도로 작업을 시작하는 것을 용이하게 합니다. 또한 온칩 메모리를 사용한 파이프라인 방식으로 프리미티브별 수준까지 여러 세분성에서 지오메트리의 초기 컬링을 위한 인터페이스를 제공합니다.

**그림 1. 메시 셰이더 파이프라인의 스테이지. 녹색 색조의 스테이지는 프로그래밍 가능합니다. 파란색 색조의 스테이지는 고정 기능입니다.**

<img src="https://mintcdn.com/microsoft-4404708b/6hkHc7s12mHcTMCE/images/gdk/features/graphics/ms_mesh_shader_pipeline.png?fit=max&auto=format&n=6hkHc7s12mHcTMCE&q=85&s=1bdf8c428560eef0a048ae32c01c9759" alt="Stage diagram of the Mesh Shader pipeline" width="800" height="100" data-path="images/gdk/features/graphics/ms_mesh_shader_pipeline.png" />

## 메시 셰이더

메시 셰이더(MS)는 본질적으로 정점, 인덱스, 프리미티브 데이터를 프리미티브 어셈블러로 내보내는 스테이지별 내장 함수를 가진 컴퓨트 셰이더입니다. 모든 데이터는 셰이더 코드에서 상수 버퍼 뷰(CBV) 및 셰이더 리소스 뷰(SRV)에서 명시적으로 페치되어야 합니다.

이는 개발자가 드로우 호출에 대한 관점을 컴퓨트 셰이더의 워크플로에 더 부합하도록 재조정해야 함을 의미합니다. 셰이더 작성자가 스레드그룹 크기와 각 스레드가 워크로드를 완료하는 데 어떻게 사용되는지 결정합니다. 셰이더 웨이브 내장 함수와 그룹 공유 메모리에 접근하여 데이터를 공유하고 래스터화를 위한 프리미티브 목록을 효율적으로 구축할 수 있습니다.

**그림 2. 메시 셰이더 전용 파이프라인이 바인딩된 상태에서 DispatchMesh(4, 1, 1) 호출로부터 디스패치된 GPU 작업의 시각화. 컴퓨트 셰이더와 마찬가지로 DispatchMesh는 x-, y-, z-차원의 스레드그룹 개수를 필요로 합니다. 이는 지정된 수의 메시 셰이더 스레드그룹을 실행을 위해 디스패치합니다.**

<img src="https://mintcdn.com/microsoft-4404708b/6hkHc7s12mHcTMCE/images/gdk/features/graphics/ms_pipeline.png?fit=max&auto=format&n=6hkHc7s12mHcTMCE&q=85&s=da9bfe92b2e4eb38fb3c7c45a4e84568" alt="Visualization of the work dispatched from a DispatchMesh command with a bound Mesh Shader-only pipeline." width="578" height="350" data-path="images/gdk/features/graphics/ms_pipeline.png" />

## 증폭 셰이더

증폭 셰이더(AS)는 메시 셰이더 스테이지 앞에 오는 선택적 스테이지입니다. 이 스테이지도 컴퓨트와 유사하며 메시 셰이더 스레드그룹의 클러스터를 동적으로 디스패치할 수 있는 기능을 가지고 있습니다. 각 스레드그룹은 디스패치할 메시 셰이더 스레드그룹의 자체 개수를 계산합니다. 각 스레드그룹은 또한 생성된 메시 셰이더 스레드그룹으로 전달될 최대 16 KB의 공유 사용자 정의 페이로드 데이터로 구성됩니다. 이 데이터는 그룹 공유 메모리에서 직접 내보내질 수 있습니다.

증폭 셰이더의 기능은 셰이더 프로그램이 사용자 정의 기준에 따라 워크로드를 동적으로 줄이거나 증폭할 수 있게 합니다. 이는 효율적이고 낮은 세분성 컬링이나 사용자 정의 테셀레이션의 가능성을 열어줍니다.

**그림 3. AS-MS 파이프라인 상태(PS) 개체를 디스패치하는 시각화. 일부 AS 스레드그룹은 MS 스레드그룹을 디스패치하도록 선택할 것입니다. 다른 스레드그룹은 아무것도 디스패치하지 않을 수 있습니다.**

<img src="https://mintcdn.com/microsoft-4404708b/6hkHc7s12mHcTMCE/images/gdk/features/graphics/ms_as_pipeline.png?fit=max&auto=format&n=6hkHc7s12mHcTMCE&q=85&s=8a1227f965a71d9e511a040e3651d7f8" alt="Visualization of the work dispatched from a DispatchMesh command with a bound AS-MS pipeline." width="953" height="350" data-path="images/gdk/features/graphics/ms_as_pipeline.png" />

## 이 섹션에서

## 참고 항목

[XBOX Series X|S 그래픽 기능 개요](/build/core-features/graphics/graphics-newfeatures-toc)
[그래픽 개요](/build/core-features/graphics/overviews/graphics)
[그래픽](/build/core-features/graphics/gc-graphics-toc)


## Related topics

- [메시 셰이더 파이프라인 API 개요](/ko/build/core-features/graphics/newfeatures/ms/ms-api-design.md)
- [메시 셰이더를 사용하는 이유는?](/ko/build/core-features/graphics/newfeatures/ms/ms-why.md)
- [메시렛](/ko/build/core-features/graphics/newfeatures/ms/ms-meshlet-render.md)
- [메시렛 컬링 예제](/ko/build/core-features/graphics/newfeatures/ms/ms-meshlet-culling.md)
- [XBOX Series X|S의 메시 셰이더 및 메시렛](/ko/build/core-features/graphics/newfeatures/ms/index.md)
