Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- DESC
- 동기화
- 다이렉트X 튜토리얼
- C++
- UE4
- DirectX12
- C언어
- 코딩
- GPU
- 다이렉트 초기화
- Direct3D Init
- c
- 세팅
- DirectX
- 전처리문
- Input Assembler
- engine
- RenderTargetView
- vertex
- 프로그래밍
- swapchain
- 다중표본화
- 게임수학
- View
- 다이렉트X
- DirectXTK
- CPU
- CommandList
- Direct3D
- Direct Init
Archives
- Today
- Total
비타Cpp
DirectX 렌더링 파이프라인 본문
Input-Assembler Stage (IA)
- 그래픽스 파이프라인의 진입점.
- Primitives 데이터를 모아 다음 단계인 VertexShader로 보낸다. (Primitive : 삼각형의 각 정점(vertex)과 그리는 순서(index))
- Vertex는 3D공간상의 좌표.
- Vertex는 또한 Color, Normal값, Texture UV좌표값 등 다양한 값을 포함할 수 있다.
- 이러한 데이터들은 DirectX Buffer를 사용하여 IA로 보내진다.
Vertex Shader Stage (VS)
- 프로그래밍이 가능한 첫번째 구역
- 각 Vertex를 실행시킨다.
Tessellation
- 두가지 프로그래밍이 가능한 구역(Hull Shader-HS, Domain Shader-DS).
- 기하학의 세분화 프로그래밍.
Geometry Shader Stage (GS)
- 모든 Primitives를 수행한다.
- 파이프 라인에서 Geometry를 추가하거나 제거할 수 있다.
Rasterizer Stage (RS)
- Primitive에 그려질 Pixel을 결정한다.
- Vertex정보를 보간한다.
`
PixelShader Stage (PS)
- 프로그래밍이 가능한 구역 – 한 조각(픽셀?) 당 실행.
- 각각의 색(Color), 깊이(Depth)를 출력한다.
- Color = Red, Green, Blue, Alpha RGBA값을 사용한다.( 0 ~ 1 값)
- Depth = 같은 위치에 여러 픽셀이 있을 경우 깊이 값을 이용하여 한 픽셀을 표현한다.(0 ~ 1 값)
- 파이프 라인 중 무거운 구역
OutPut-Merger Stage (OM)
- 픽셀 단위의 작업을 수행하고, Render Target에 픽셀을 써넣는다.
- Render Target은 application의 해상도와 일치하는 2D Texture이며, 궁극적으로 화면에 표시된다.
- 기본 Render Target은 backBuffer로도 불린다.
- Display화면에 연결되지 않은 Render Target을 추가적으로도 만들 수 있다.
- PixelColor와 Depth를 위한 별도의 Buffer가 존재한다.
- Culling Tests – Depth test, Stencil test
- Color Blending
Comments