플레이 영상
Github
사용된 외부 라이브러리 및 데이터
directX12 util libraries and HLSL light library in https://github.com/d3dcoder/d3d12book
d3dx12 and DDSTextureLoader made by Microsoft
DDS image file in https://github.com/d3dcoder/d3d12book
Reference
DirectX 12를 이용한 3D 게임 프로그래밍 입문 / 프랭크 D. 루나 저자(글) · 류광 번역
개요
DirectX12를 이용해서 만든 블록 설치/제거 게임입니다. 30X30X30의 공간안에서 3가지 블록들을 설치할 수 있습니다. 9장까지의 내용을 실습하기위해 제작되었습니다.
구조
DirectX12App.h : 기본적인 directX초기화 및 자원들을 제공해주는 객체지향형 라이브러리입니다.
BlockGame.cpp : DirectX12App의 클래스를 상속받아 구현된 BlockGame 어플리케이션입니다.
쉐이더
조명 모델은 고르게 분포하는 단순 분산반사광, 프레넬 법칙과 블린퐁을 조합한 반영반사광, 고정된 전방향 주변광을 이용한 모델을 사용하였습니다. 텍스처 표본 값을 분산반사율로 사용하였습니다. 게임 내에서는 고정된 방향과 세기의 지향광 하나만을 구현하였습니다
물리
AABB를 이용한 충돌을 구현하였고 DirectXmath의 반직선-육면체 충돌체크 함수로 레이캐스트를 구현하였습니다.
'그래픽스 > DirectX12' 카테고리의 다른 글
[Directx12][11장]스텐실 (0) | 2023.03.21 |
---|---|
[Directx12][10장]혼합 (0) | 2023.03.21 |
[Directx12][9장]텍스처 (0) | 2023.03.21 |
[Directx12][8장][2]HLSL 구조체 채우기 (0) | 2023.03.21 |
[Directx12][8장][1]조명 (1) | 2023.03.21 |