DirectX 11 24

220921

스왚체인은 두 버퍼중에 현재 프론트 버퍼를 윈도우에 복사를 시킨다. 그러려면 스왚체인은 만들어질때 출력될 윈도우가 누군지 알아야 된다. -> 목적지를 알아야한다. 스왚이펙트 = DISCARD -> 이전 버퍼의 그림을 없앤다 (스왚체인을 하면 백버퍼 프론트버퍼 바뀌기 때문에) uuidof -> 클래스마다 고유한 id값 Adaptor Factory DXGIDevice 는 Dx디바이스에서 쿼리인터페이스에서 uuidof를 이용해서 값을 얻어온다. 쿼리인터페이스는 범용적인 함수이다. 앞에 자료형이 뭐냐에 따라서 그 주소를 줘야하기 때문에 두번째인자에 void 이중포인터로 받게 된다. 계층관계로 되어있어서 DXGIDevice에 getparent 하면 어댑터를 얻어낼 수 있다. 어댑터의 윗층 부모가 팩토리여서 어댑터..

DirectX 11 2022.09.26

220920

#pragma once -> 중복해서 여러번 복사하는걸 방지해주는 구문 pch -> PreCompileHeader typedef -> 이름 재정의 batch file -> 엔진 빌드할 때마다 계속 변경된 코드를 이동시켜야하는데 이걸 편하게 하기 위해서 cd(current directory) $(SolutionDir) -> 현재 디렉터리를 솔루션 디렉터리로 가라 call(실행시켜라) EngineCopy.bat -> 배치파일을 실행시켜라 xcopy /s /y /exclude:exclude_list.txt ".\ "" 안에 있는 주소에 복사해라~ level -> scene 을 의미 entity는 최상위클래스여서 다른것들이 대부분 상속받는다 랜더링하려면 그래픽카드를 제어할 수 있어야한다. 랜더링하는 방식을 gp..

DirectX 11 2022.09.22

220919

실제 실행되고 있는건 클라이언트이고, main 함수부터 출발한다. 클라이언트가 사용하는 라이브러리도 debug버전과 release버전으로 나뉘며, debug 버전일 때는 debug 버전으로 만들어진 라이브러리를 사용해야한다. 라이브러리를 가져올 때는 #pragma comment(lib, "경로") 전처리기는 컴파일보다 먼저 처리가 된다. 정적라이브러리는 export 개념이 없다. 최종 결과물이 이미 안에 들어와버리기 때문 동적라이브러리는 실제 프로그램이 실행이 될 때 dll을 로드할 때 링크를 하는데 누구는 노출을 하고 누구는 감출 것인지 정해주어야 한다. extern "c" __declspec(dllexport) => c 문법과 관련있기 때문에 c를 관용적으로 붙여준다. dll 결과물은 lib, dll..

DirectX 11 2022.09.19

220915

winAPI -> 윈도우 기반에서 게임을 만들기 위한 기능을 배우고 게임을 만듦. 윈도우에서 제공해주는 함수는 전부 다 CPU를 활용해서 연산한다. 컴퓨터에는 cpu, gpu 가 있다. cpu -> ex) 인텔 gpu (6000 ~ 10000개의 코어수)-> ex) 엔비디아 코어수로 따지면 gpu 엔비디아에서 제공해주는 언어로 c++과 거의 유사한 gpu를 제어할 수 있는 문법. https://youtu.be/ZdITviTD3VM // GPU, CPU 어떻게 작동할까 ? 보기 3D 랜더링, 3차원에는 정점(Vertex)이 존재하는데, 정점이 최소 3개가 모이면 면을 구성할 수 있다. 정점이 구성하는 면 내부에 들어오는 수 많은 픽셀들이 존재한다. 그 픽셀 하나 하나에 GPU 코어가 하나씩 붙는다. ---..

DirectX 11 2022.09.15