일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- DESC
- 다이렉트X 튜토리얼
- 다이렉트 초기화
- engine
- C++
- 동기화
- 코딩
- 게임수학
- RenderTargetView
- 세팅
- Direct3D Init
- Direct3D
- 전처리문
- GPU
- 프로그래밍
- vertex
- CPU
- DirectX
- Direct Init
- CommandList
- DirectXTK
- View
- C언어
- UE4
- swapchain
- Input Assembler
- 다이렉트X
- DirectX12
- c
- 다중표본화
- Today
- Total
목록RenderTargetView (2)
비타Cpp
Direct3D는 자원 자체를 직접 파이프라인의 단계에 묶지 않는다. 대신 반드시 자원에 대한 뷰(서술자)를 생성해서 그 뷰를 파이프라인 단계에 묶어야 한다. 특히 후면 버퍼를 파이프라인의 출력 병합기(Output Merger) 단계에 묶으려면(그래야 Direct3D가 장면을 후면 버퍼에 렌더링 할 수 있다.) 후면 버퍼에 대한 렌더 대상 뷰를 생성해야 한다. 우선 할 일은 교환 사슬에 저장되어 있는 버퍼 자원을 얻는 것인데, 이를 위해 다음과 같은 메서드를 사용한다. HRESULT IDXGISwapChain::GetBuffer( UINT Buffer, REFIID riid, void **ppSurface ); 1. Buffer: 얻고자 하는 특정 후면 버퍼를 식별하는 색인(교환 사슬에 버퍼가 여러 개 ..
다음으로, 응용 프로그램에 필요한 서술자/뷰들을 담을 서술자 힙을 만들어야 한다. 서술자 힙(Descriptor Heap)은 ID3D12DescrptorHeap 인터페이스로 대표된다. 힙을 생성하는 메서드는 ID3D12Device::CreateDescriptorHeap이다. SwapChainBufferCount에 설정된 개수만큼의 렌더 대상 뷰(Render Target View, RTV)들과 하나의 깊이·스텐실 뷰(Depth/Stencil View, DSV)가 필요하다. 렌더 대상 뷰는 교환 사슬에서 렌더링의 대상이 되는 버퍼 자원을 서술하고, 깊이·스텐실 뷰는 깊이 판정을 위한 버퍼자원을 서술한다. 서술자 힙은 서술자 종류마다 따로 만들어야 한다. 다음은 이 힙들을 생성하는 코드이다. //D3DApp...