일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- View
- c
- UE4
- C언어
- 세팅
- C++
- GPU
- Input Assembler
- DirectX
- DESC
- engine
- vertex
- 동기화
- swapchain
- Direct3D
- 다이렉트X 튜토리얼
- 코딩
- 다이렉트 초기화
- RenderTargetView
- 프로그래밍
- 전처리문
- 게임수학
- DirectX12
- CPU
- DirectXTK
- 다이렉트X
- Direct3D Init
- Direct Init
- 다중표본화
- CommandList
- Today
- Total
목록DirectX12/튜토리얼 (18)
비타Cpp
Direct3D 초기화는 Direct3D 12 장치(ID3D12Device)를 생성하는 것으로 시작한다. 장치(device)는 디스플레이 어댑터를 나타내는 객체이다. 일반적으로는 물리적인 그래픽 하드웨어 장치이지만, 이를 흉내 내는 소프트웨어 디스플레이 어댑터(WARP)도 존재한다. Direct3D12 장치는 기능 지원 점검에 쓰이며, 자원이나 뷰, 명령 목록 등의 다른 모든 Direct3D 인터페이스 객체들의 생성에도 쓰인다. 장치를 생성할 때에는 다음과 같은 함수를 사용한다. HRESULT D3D12CreateDevice( IUnknown *pAdapter, D3D_FEATURE_LEVEL MinimumFeatureLevel, REFIID riid,//ID3D12Device에 해당하는 ID를 넣어야함..
Direct3D의 초기화 과정은 꽤 길지만, 응용 프로그램 실행 시 한 번만 해주면 된다. Direct3D의 초기화 과정은 다음과 같은 단계들로 구성된다. 1. D3D12CreateDevice 함수를 이용하여 ID3D12Device를 생성한다. 2. ID3D12Fence 객체를 생성하고 서술자들의 크기를 얻는다. 3. 4X MSAA품질 수준 지원 여부를 점검한다. 4. 명령 대기열과 명령 목록 할당자, 그리고 주 명령 목록을 생성한다. 5. 교환 사슬을 서술하고 생성한다. 6. 응용 프로그램에 필요한 서술자 힙들을 생성한다. 7. 후면 버퍼의 크기를 설정하고, 후면 버퍼에 대한 렌더 대상 뷰를 생성한다. 8. 깊이·스텐실 버퍼를 생성하고, 그와 연관된 깊이·스텐실 뷰를 생성한다. 9. 뷰포트와 가위 판정..