DirectX 11

220920

슬뷔 2022. 9. 22. 19:55

#pragma once -> 중복해서 여러번 복사하는걸 방지해주는 구문

pch -> PreCompileHeader

typedef -> 이름 재정의

batch file -> 엔진 빌드할 때마다 계속 변경된 코드를 이동시켜야하는데

이걸 편하게 하기 위해서 

 

cd(current directory) $(SolutionDir) -> 현재 디렉터리를 솔루션 디렉터리로 가라

call(실행시켜라) EngineCopy.bat -> 배치파일을 실행시켜라

 

xcopy /s /y /exclude:exclude_list.txt ".\

"" 안에 있는 주소에 복사해라~

 

level -> scene 을 의미

entity는 최상위클래스여서 다른것들이 대부분 상속받는다

 

랜더링하려면 그래픽카드를 제어할 수 있어야한다.

랜더링하는 방식을 gpu를 통해 랜더링 하는 방식으로 바꾼다.

 

엔진클래스가 최고 관리자 클래스이다.

디바이스클래스는 직접적으로 gpu 관련된 조작하는 매니저 클래스이다.

 

뎁스스텐실과 랜더타겟은 1:1로 픽셀수가 일치해야한다.

그래야 깊이정보도 그대로 저장될 수 있다.

 

비트맵은 ram(시스템메모리)에 있었기 때문에 윈도우도 그려질 비트맵이 ram에 있다.

더블버퍼링 dc가 가리키고 있는 비트맵끼리 복사하는 방식

GPU로 랜더링 한다~

gpu에 있는 메모리에 렌더타겟텍스쳐가 그려진다.

프론트버퍼로 지정된걸 윈도우로 보내서 보여지고 있다.

백버퍼로 지정된 곳에 그림을 그리고 완성되면 스왚체인에게 두 버퍼를 교체하라고 하면(present)

백버퍼가 프론트가 되고 프론트가 백버퍼가 된다.

그럼 이제 윈도우로 보내지는건 새롭게 프론트가 된 프론트버퍼이다.

*백버퍼랑 프론트버퍼를 관리하는게 스왚체인.

 

완성된 그림은 항상 풀스크린으로 들어가는게 아니라 위치를 지정해서(뷰포트) 그릴 수 있다.

하지만 게임은 대부분 뷰포트를 사용하지 않고 풀스크린으로 한다.

 

 

'DirectX 11' 카테고리의 다른 글

220929  (0) 2022.09.29
220922  (0) 2022.09.26
220921  (0) 2022.09.26
220919  (1) 2022.09.19
220915  (0) 2022.09.15