빈 프로젝트 만들고 윈도우 프로젝트 추가 (클라이언트 이름) 데스크탑 애플리케이션 미리컴파일된 헤더 추가

일반적인 윈APi 프로젝트가 나오면 프로젝트 전부 제거(삭제 아님)

파일의 경로를 바꿀 것

클라이언트 한에

bin code header include폴더 만들고 기존 프로젝트 파일들은 인클루드에 넣음

코드 파일과 실행 파일을 따로 잡아줄 것임. bin 폴더에 실행 파일을 넣을 것임. 프로젝트 파일 위치로 실행파일이 만들어지기 때문에 이제 수정할 것임

추가기존 프로젝트 방금 만든 include 위치 잡아주기.(이때 다시 프로젝트들 잡힘) vc++ 디렉토리에 다렉 매크로 넣어주기(포함/라이브러리)

cC++탭 일반에 추가포함 디렉토리 앞으로 만드는 헤더파일은 헤더 폴더에 넣을 것잉라 추가 포함 디렉토리 ../헤더 경로 넣고 세미클론 찍어주기. 구성 속성 일반에 출력 디렉토리에 경로도 ../바이너리역슬러시

링커 입력 추가 종속성에 라이브러리 추가 디스리디9점 라이브러리 등등 라이브러리 추가할 수 있음.

적용 후 확인.

빌드 후 디렉토리 확인.

바이너리 안에 디버그 폴더와 릴리즈 모드의 실행 파일의 분리 사용하고자 하는 다이렉트 헤더를 pch에 추가.

그 이후 다시 솔루션에 잡히게 된 윈도우 초기화 동일하게 진행하기.

클래스 파일을 생성할 것임. 추가 새 필터. 클래스 쿠가 후 각 헤더파일과 cpp파일 경로를 따로따로 지정해줌. 약속을 할 것임. 클래스 사용할 때 제일 위쪽 생성자/소멸자 생성자는 private의 explicit으로 만들고 소멸자는 버츄얼을 붙일 것임.

퍼블릭 프로텍티드 프라이빗(함수 변수 )순서

지시 대명사는 뒤에 형용사는 앞에/ HRESULT Ready_MainApp(); Update_MainApp(float& dTimeDelta); 과 같은 형태로 함수 명을 지어주게 됨.

맨 밑에 생성 함수 둘 것임. 퍼블릭:외부 생성과 브라이빗:소멸함수 static MainApp* Create(); virtual void Free();

릴리즈가 없어짐.

HRESULT 는 초기화가 완료가 되었는지 반환되는 디파인 (S_OK / E_FAIL)

이제부터 셰어드 포인터를 통해서 객체의 생성과 삭제를 관리할 것임.


클라이언트와 엔진 모두다 초월하는 형태의 클래스를 하나 만들어줄 것임 base라는 이름의 헤더파일과 inl(인라인)파일을 만들어줌.

모든 객체가 base를 상속 받을 것임. 명백한 용량과 속도적인 단점이 있으나 프로젝트의 관리에 이점이 있다.

추가포함 디렉토리에 base폴더 추가 (부모 프로젝트로 상송 체크 하기)


엔진 프로젝트를 만들자 데스크탑 마법사로 엔진을 만들고 dll만들고 빈프로젝트 만들고 또 바이너리/코드/헤더 /인클루드 만들고 또 파일 인클루드에 만들고 추가해줌. vc++ 디렉토리에 다렉 매크로 넣어주기(포함/라이브러리) 링커에도 다이렉트 라이브러리에 출력 디렉토리도 다 같이 세팅해주기

CGraphicDevice 파일 만들어주고 c/c++에 헤더와 베이스 추가


프레임 제한 걸기~!

싱글톤 1 타이머 매니저 (이건 타이머 설치) 쿼리퍼포먼스카운터 - > 컴퓨터 주파수

헤더 폴더 생성

  1. 엔진_디파인
  2. 엔진 이넘

싱글톤 2 엔진 프로젝트 속성에 전처리기에 엔진익스포트

타이머 클래스{
	//생성자 소멸자 프라이밋
		
}

링커 일반 추가 라이브러리 디렉토리에 엔진 ㅣ라이브러리 잡아줌. 그리고 엔진 라이브러리/헤더 들 복사해서 폴더에 복붙해줘야함

클라이언트 링커 라이브러리로 엔진 라이브러리도 추가해줘야함


  1. 구성 속성 - 일반 - 출력 디렉토리 : 실행파일 저장 위치 지정(끝에 \삽입)

  2. vc++ 디렉터리 : dx 헤더와 라이브러리 경로 삽입

  3. c/ c++ - 일반 - 추가 포함 디렉토리 : header 폴더 경로 삽입(끝에 ;삽입)

  4. 링커 - 입력- 추가 종속성 : dx 라이브러리 추가

  5. 링커 - 일반 - 추가 라이브러리 디렉토리 : 라이브러리 경로 추가

  6. Engine - 속성 - c/c++ / 전처리기 / 전처리기 정의에 ENGINE_EXPORTS 삽입