SDK 다운로드 사이트
https://www.microsoft.com/ko-KR/download/details.aspx?id=6812
https://github.com/jjuiddong/Introduction-to-3D-Game-Programming-With-DirectX11
링크 타고 들어간 후 .zip 파일로 다운받음
Common 폴더만 뺀 후 새로 빈 프로젝트로 새로 생성.
디버그 > 디버그 속성에서 포함 디렉터리와 참조 디렉터리에 dx 헤더/cpp 파일들과 Common 폴더 내에 헤더/cpp 파일들을 추가하기.
시스템 변수로 하면 훨씬 더 깔끔하다
필요한건 요 두개다 따라서 폴더 전체를 지정한다
솔루션이 아래와 같은 형태로 있어야한다. Win32 프로그램의 진입함수(int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE prevInstance, PSTR cmdLine, int showCmd))가 없으므로 추가 해줘야한다.
적당히 InitDirect3DApp 클래스로 생성 후 아래와 같이 헤더 파일과 cpp 파일을 생성해주자
#pragma once
#include "d3dApp.h"
class InitDirect3DApp : public D3DApp
{
public:
InitDirect3DApp(HINSTANCE hInstance);
~InitDirect3DApp();
public:
bool Init();
void OnResize();
void UpdateScene(float dt);
void DrawScene();
};
#include "InitDirect3DApp.h"
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE prevInstance, PSTR cmdLine, int showCmd)
{
// Enable run-time memory check for debug builds.
#if defined(DEBUG) | defined(_DEBUG)
_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
#endif
InitDirect3DApp theApp(hInstance);
if (!theApp.Init())
return 0;
return theApp.Run();
}
InitDirect3DApp::InitDirect3DApp(HINSTANCE hInstance) : D3DApp(hInstance) { }
InitDirect3DApp::~InitDirect3DApp() {}
bool InitDirect3DApp::Init()
{
if (!D3DApp::Init())
return false;
return true;
}
void InitDirect3DApp::OnResize()
{
D3DApp::OnResize();
}
void InitDirect3DApp::UpdateScene(float dt)
{ }
void InitDirect3DApp::DrawScene()
{
assert(md3dImmediateContext);
assert(mSwapChain);
// Clear the back buffer blue. Colors::Blue is defined in d3dUtil.h.
md3dImmediateContext->ClearRenderTargetView(mRenderTargetView,
reinterpret_cast<const float*>(&Colors::Blue));// Clear the depth buffer to 1.0f and the stencil buffer to 0.
md3dImmediateContext->ClearDepthStencilView(mDepthStencilView,
D3D11_CLEAR_DEPTH | D3D11_CLEAR_STENCIL, 1.0f, 0);
// Present the back buffer to the screen.
HR(mSwapChain->Present(0, 0));
}
아래와 같이 창이 뜬다면 성공적으로 모두 마친거다
'그래픽스 > DirectX' 카테고리의 다른 글
[DX11 물방울책] 챕터 6 - 색상 주기, 특수한 모형 그리고 API 인터페이스 (0) | 2022.11.15 |
---|---|
[DX11 물방울책] 챕터 5 - 렌더링 파이프라인 (0) | 2022.07.03 |
[DX11 물방울책] 챕터 4 - Direct3D 초기화 (0) | 2022.06.30 |
[DX11 물방울책] 챕터3 - 트랜스폼 (위치값,회전값,크기값) (0) | 2022.06.23 |
[DX11 물방울책] 챕터 2 - 행렬 (0) | 2022.06.23 |