📁 프로젝트 개요

이 프로젝트는 DirectX12를 활용한 게임 엔진 및 클라이언트 개발을 목표로 하며, 게임 화면을 렌더링하고 관리하는 다양한 기능을 포함합니다.
주요 디렉토리는 다음과 같이 구성됩니다.

  1. Client (게임 클라이언트 관련 코드)
  2. Engine (DirectX12 기반 그래픽 엔진)
  3. Utils (유틸리티 코드 및 공용 헤더 관리)

📂 폴더 구조 및 상세 분석

📌 Client 디렉토리

  • 게임의 실행을 담당하는 클라이언트 관련 코드가 포함됩니다.
  • Game 폴더에서 게임 로직을 처리하며, Utils 폴더에서 화면 관련 설정을 관리합니다.
📂 Client
 ┣ 📁 Game
 ┃ ┣ 📄 Game.cpp
 ┃ ┣ 📄 Game.h
 ┣ 📁 Utils
 ┃ ┣ 📄 Client.cpp
 ┃ ┣ 📄 Client.h
 ┃ ┣ 📄 framework.h
 ┃ ┣ 📄 pch.cpp
 ┃ ┣ 📄 pch.h
 ┃ ┣ 📄 Resource.h
 ┃ ┣ 📄 targetver.h

Game 디렉토리

  • Game.cpp: 게임의 주요 실행 로직이 포함됨.
  • Game.h: Game.cpp에서 사용하는 클래스 및 함수 정의.

Utils 디렉토리

  • Client.cpp: 클라이언트 프로그램의 진입점 및 초기화 코드 포함.
  • pch.cpp, pch.h: 프리컴파일 헤더(PCH) 로 프로젝트 빌드 속도를 향상.
  • framework.h: 공통 프레임워크 정의.
  • Resource.h: 리소스 관련 정의.
  • targetver.h: Windows 버전 타겟 설정.

📌 Engine 디렉토리

  • DirectX12를 기반으로 게임 엔진을 구성하는 주요 코드가 포함됨.
  • 그래픽 처리, 명령 큐, 디스크립터 힙, 디바이스 초기화, 스왑 체인 관리 등의 기능이 구현됨.
📂 Engine
 ┣ 📁 Engine
 ┃ ┣ 📄 CommandQueue.cpp
 ┃ ┣ 📄 CommandQueue.h
 ┃ ┣ 📄 DescriptorHeap.cpp
 ┃ ┣ 📄 DescriptorHeap.h
 ┃ ┣ 📄 Device.cpp
 ┃ ┣ 📄 Device.h
 ┃ ┣ 📄 Engine.cpp
 ┃ ┣ 📄 Engine.h
 ┃ ┣ 📄 SwapChain.cpp
 ┃ ┣ 📄 SwapChain.h
 ┣ 📁 Utils
 ┃ ┣ 📄 d3dx12.h
 ┃ ┣ 📄 EnginePch.cpp
 ┃ ┣ 📄 EnginePch.h
 ┃ ┣ 📄 pch.cpp
 ┃ ┣ 📄 pch.h

Engine 디렉토리 (DirectX12 핵심 코드)

  • CommandQueue.cpp / .h: GPU에 그래픽 명령을 전달하고 관리.
  • DescriptorHeap.cpp / .h: DirectX12 리소스를 관리하는 디스크립터 힙 설정.
  • Device.cpp / .h: GPU 장치와 DirectX12 인터페이스를 초기화하는 코드 포함.
  • SwapChain.cpp / .h: 더블 버퍼링을 이용한 화면 전환(Render Target) 관리.
  • Engine.cpp / .h: 엔진 전반의 실행 관리.

Utils 디렉토리

  • d3dx12.h: DirectX12 관련 헤더.
  • EnginePch.cpp / .h: DirectX12 엔진의 프리컴파일 헤더(PCH).
  • pch.cpp, pch.h: 프로젝트 전반에 걸쳐 사용되는 공통 헤더.

🎯 프로젝트 주요 기능

🔹 Client

  • 게임 로직 실행 및 화면 출력

🔹 Engine

  • DirectX12를 활용한 렌더링 엔진
  • GPU와의 통신을 위한 Command Queue 관리
  • Descriptor Heap을 통한 리소스 관리
  • Swap Chain을 통한 화면 전환 및 더블 버퍼링

🔹 Utils

  • 프로젝트 내 공통 유틸리티 및 헤더 관리
  • PCH(프리컴파일 헤더)를 이용해 빌드 속도 최적화

profile
李家네_공부방

0개의 댓글