client
출력 디렉토리 설정
디버깅 폴더 작업 디렉토리 바꾸기(bin 폴더로)
External
Engine 프로젝트
Library
출력 디렉토리 libraray에 출력하게끔
Include
header 파일들은 include 쪽으로
bat 파일로 실행하게끔
(exclusive_list 만들기 bat 파일 만들고 빌드 이벤트 설정)
대상 이름 바꾸기
종속성 체크
영상 안보고 해보기! 성공!
kernel32.lib error는 라이브러리 디렉터리 설정을 유심히 확인해보자!
atexit(함수포인터) 함수
singleton class를 선언받는 자식 객체는 생성자를 private으로 막아놔 부모 객체(singleton)에 함수로만 접근할 수 있도록 만든다.
이를 위해 singleton 클래스를 friend class로 설정함
template<typename T>
class Singleton
{
private:
static T* m_This;
public:
static T* GetInst()
{
if (m_This == nullptr)
{
m_This = new T();
}
return m_This;
}
static void Destroy()
{
if (m_This != nullptr)
{
delete m_This;
m_This = nullptr;
}
}
public:
Singleton()
{
typedef void(*FUNC_TYPE)(void);
// 메인 함수 종료시 호출함
atexit((FUNC_TYPE)Singleton::Destroy());
}
~Singleton()
{
}
};
template<typename T>
T* Singleton<T>::m_This = nullptr;
FAILED
Device 클래스는 GPU 제어 하는 용도
// DirectX 11 헤더 및 라이브러리 참조
#include <d3d11.h>
#include <d3dcompiler.h>
#include <DirectXMath.h>
using namespace DirectX;
#pragma comment(lib,"d3d11");
#pragma comment(lib,"d3dcompiler");
- comptr 알아보기 스마트 포인터
- 여타 스마트 포인터와 마찬가지로 참조횟수가 0이되면 자동으로 메모리를 반환한다.
- Get() 함수
: COM 객체의 포인터를 반환- GetAddressOf() 함수
: COM 객체의 포인터의 주소를 반환(포인터의 포인터)(더블 포인터 반환)
OM(OutptMangerState)
SwapChain : 더블 버퍼링 관련 최종 물체
Texture2D : 렌더타켓 텍스쳐 , 깊이 스텐실 텍스쳐
렌더타켓 뷰
깊이 스텐실 뷰
샘플러 스테이트