Software
-
3. DirectX 초기화Software/DirectX 2024. 5. 24. 09:21
Table of Contents- 초기화 단계1. D3D Device 생성2. Fence설정3. 4X MSAA지원 여부 점검4. 명령대기열 생성과 설정5. Swap Chain 생성6. 서술자 힙 (View Heap) 생성7. 렌더 타겟뷰(RTV)생성8. 뷰 포트 설정9. 가위 직사각형(Scissor rectangle)설정 초기화 단계D3D초기화 과정은 꽤 길지만, 프로그램 실행 시 한번만 해주면 된다. 초기화는 다음과 같은 단계로 구성 된다- D3D12CreateDevice를 사용해서 ID3D12Device를 생성한다.- ID3D12Fence 를 생성하고 View들의 크기를 얻는다.- 4X MSAA(MultiSampling Anti- Aliasing)을 지원하는지 점검- Command Queue와 C..
-
2. CPU와 GPU의 상호작용Software/DirectX 2024. 5. 24. 09:15
Table of Contents1. 명령대기열2. CPU와 GPU의 동기화 작업 Fence3. 자원 상태 전이 장벽(transition resource barrier)4. 명령 목록 다중스레딩1. 명령대기열(Command Queue) 그래픽 프로그래밍에는 CPU와 GPU가 사용되며 둘은 병렬로 돌아간다. 최적의 성능을 얻으려면 두 처리 장치 모두 바쁘게 돌아가야하며 동기화를 최소화 하여야한다. 동기화는 한 처리장치가 작업을 마칠때까지 다른 장치가 처리를 멈추고 대기해야함을 의미하기 때문이다. 따라서 동기화는 병렬성을 망친다. 일반적으로 CPU는 명령대기열(Command Queue)에 GPU가 처리할 작업을 DirectX를 통해 제출한다. GPU는 명령대기열에서 명령을 순차대로 뽑아서 그리기를 수행한다. ..
-
1. DirectX 기초Software/DirectX 2024. 5. 24. 08:54
Table of Contents1. Com 객체2. 전면버퍼(front buffer)와 후면버퍼(back buffer)3. 깊이 버퍼(Depth buffer)4. 자원과 서술자(View) * 뷰의 종류 * 자원과 서술자(View)5. 샘플링(Sampling)6. 기능 수준(feature level)7. DXGI (DirectX Graphics Infrastructure)8. 상주성(Residency) 1. Com 객체COM 클래스는 DirectX SDK에서 제공되는 파이프라인 구조들을 담는 인스턴스들을 일컬으며 다음과 같은 특성이 있다.COM 클래스는 생성자에 할당자가 포함되어 있어 new 키워드로 생성하지 않아도 된다.또한 해제할때 delete가 아니라 해당 메서..