4.3 Direct3D의 초기화

1. 장치 생성

2. 울타리 객체 생성

3. 서술자 크기 얻기

4. md3dDevice->CheckFeatureSupport로 4X MSAA 품질 수준 지원 점검

5. 명령 대기열, 명령 목록, 명령 할당자 생성 (명령 목록을 생성할 때 Draw를 할 것이 아니라면 초기 파이프라인 객체 지정부분을 nullptr로)

6. 교환 사슬 생성

7. 서술자 힙 생성 

8. RTV 서술자 생성 (렌더 버퍼 개수만큼)

9. 깊이 스텐실 버퍼 자원 생성, DSV 서술자 생성

10. 뷰포트 설정과 가위 직사각형 설정(명령 대기열에 명령 추가)

 

4.4 시간 측정과 애니메이션

Win32 함수 QueryPerformanceCounter를 사용해 현재 시간을 틱 단위로 얻고

QueryPerformanceFrequency 함수를 사용해 주파수(초당 틱수)를 얻어 시간을 잴 수 있다.

 

매 프레임마다 Draw함수를 호출하기 전에 Tick 함수를 호출해 응용 프로그램 멤버 변수에 프레임 사이의 시간을 얻을 수 있고 응용프로그램은 이 시간을 이용해서 장면을 갱신 할 수 있다.

 

4.5 예제 응용 프로그램 프레임워크

D3DApp 클래스 : 초기화, main window 생성, 윈도우 메세지 처리, 응용 프로그램의 base 클래스로 쓰임

 

 

'읽은 책 > DirectX 12를 이용한 3D 게임 프로그래밍 입문' 카테고리의 다른 글

6. Direct3D의 그리기 연산  (0) 2022.06.16
5. 렌더링 파이프라인  (0) 2022.06.14
4. Direct3D의 초기화(1)  (0) 2022.06.13
3. 변환  (0) 2022.06.12
2. 행렬 대수  (0) 2022.06.11

+ Recent posts