ShovelingLife
A Game Programmer
ShovelingLife
전체 방문자
오늘
어제
  • 분류 전체보기 (1071) N
    • 그래픽스 (57)
      • 공통 (19)
      • 수학 물리 (22)
      • OpenGL & Vulkan (1)
      • DirectX (14)
    • 게임엔진 (183) N
      • Unreal (69)
      • Unity (103) N
      • Cocos2D-X (3)
      • 개인 플젝 (8)
    • 코딩테스트 (221)
      • 공통 (7)
      • 프로그래머스 (22)
      • 백준 (162)
      • LeetCode (19)
      • HackerRank (2)
      • 코딩테스트 알고리즘 (8)
    • CS (235)
      • 공통 (21)
      • 네트워크 (44)
      • OS & 하드웨어 (55)
      • 자료구조 & 알고리즘 (98)
      • 디자인패턴 (6)
      • UML (4)
      • 데이터베이스 (7)
    • 프로그래밍 언어 (347) N
      • C++ (167)
      • C# (89) N
      • Java (9)
      • Python (33)
      • SQL (30)
      • JavaScript (8)
      • React (7)
    • 그 외 (9)
      • Math (5)
      • 일상 (5)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • Source Code 좌측 상단에 복사 버튼 추가 완료
  • 언리얼 엔진 C++ 빌드시간 단축 꿀팁
  • 게임 업계 코딩테스트 관련
  • 1인칭 시점으로 써내려가는 글들

인기 글

태그

  • 그래픽스
  • C
  • 유니티
  • 함수
  • 백준
  • 파이썬
  • C++
  • 포인터
  • string
  • 오블완
  • 언리얼
  • 클래스
  • SQL
  • Unity
  • 티스토리챌린지
  • c#
  • 배열
  • 문자열
  • 알고리즘
  • 프로그래머스

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ShovelingLife

A Game Programmer

DirectX 11 프레임워크 환경 설정하는 방법
그래픽스/DirectX

DirectX 11 프레임워크 환경 설정하는 방법

2022. 6. 30. 16:49

SDK 다운로드 사이트

 

https://www.microsoft.com/ko-KR/download/details.aspx?id=6812 

 

Download DirectX SDK from Official Microsoft Download Center

중요! 아래에서 언어를 선택하면 전체 페이지 내용이 해당 언어로 신속하게 변경됩니다. 네덜란드어독일어러시아어스웨덴어스페인어영어이탈리아어일본어중국어(간체)중국어(번체)체코어포

www.microsoft.com

 

https://github.com/jjuiddong/Introduction-to-3D-Game-Programming-With-DirectX11 

 

GitHub - jjuiddong/Introduction-to-3D-Game-Programming-With-DirectX11: Book Example Code in [Introduction to 3D Game Programming

Book Example Code in [Introduction to 3D Game Programming With DirectX11 by Frank Luna ] - GitHub - jjuiddong/Introduction-to-3D-Game-Programming-With-DirectX11: Book Example Code in [Introduction ...

github.com

링크 타고 들어간 후 .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
    '그래픽스/DirectX' 카테고리의 다른 글
    • [DX11 물방울책] 챕터 6 - 색상 주기, 특수한 모형 그리고 API 인터페이스
    • [DX11 물방울책] 챕터 5 - 렌더링 파이프라인
    • [DX11 물방울책] 챕터 4 - Direct3D 초기화
    • [DX11 물방울책] 챕터3 - 트랜스폼 (위치값,회전값,크기값)
    ShovelingLife
    ShovelingLife
    Main skill stack => Unity C# / Unreal C++ Studying Front / BackEnd, Java Python

    티스토리툴바