게임그래픽프로그래밍심화 1주차 - 수업 소개
Direct X를 이용하여 진행 할 예정
1학기 때 보다는 2학기 때 실습이 많을 예정.
과목 개요
- DirectX를 이용한 컴퓨터 그래픽스의 기반 이론을 학습하고 배운 이론을 프로그래밍으로 구현하는 수업
- 수업에서 습득한 3D 그래픽스 이론을 기반으로 C++을 이용해 3차원 공간에서 표현할 수 있는 다양한 시각적 결과물을 프로그래밍으로 구현하는 수업
- DirectX 기반 3차원 게임 그래픽스의 기반을 이루는 주요 이론 학습
- 학습한 이론을 응용하여 직접 다양한 효과를 프로그래밍으로 구현
수업 진행 목표
- LMS를 이용한 강의자료, 과제, 수업 관련 내용 진행
- DirectX를 활용한 그래픽스 기반 이론 진행
- DirectX를 활용한 그래픽스 프로그래밍 실습을 병행
- DirectX 11을 기반으로 수업 진행
성적 처리 및 평가
- 출석 20%
- 중간 고사 및 해당 기간 과제물 40%
- 기말 고사 및 해당 기간 과제물 40%
강의 내용
- DirectX 및 Direct3D 소개
- Direct3D의 기본 구조와 동작
- 3D 그래픽스 수학 이해
- Direct3D 렌더링 파이프라인 이해
- Direct3D와 쉐이더 프로그래밍
- 캐릭터 애니메이션
- 3D 그래픽스 이론 심화 (빛, Terrain, 인스턴싱, 파티클 등)
게임에서 사용하는 여러가지 그래픽스 기법들에 대한 내용을 다룰 예정
참고 도서
Introductioln to 3D Game Programming with DirectX 11
진단 평가 진행 (10분)
참고 : DirectX 개발 환경 소개
- Visual Studio Community 2019 (사양 고려, 2022로 사용해도 무관함.)
- Direct3DUWPGame.vsix 파일을 설치
- Direct3D Win32 Game 프로젝트 템플릿 선택
DirectX 정의 및 개요
MS(마이크로소프트)가 개발한 윈도우에서 게임 및 멀티미디어 프로그래밍을 지원하기 위해 개발한 저수준 API의 집합
구성 요소
- Direct3D : 3D 그래픽 처리를 위한 API, 핵심 부분
- Direct2D : 2D 그래픽 처리를 위한 API
- DirectInput : 입력 장치의 처리를 위한 API
- DirectSound : 사운드 처리를 위한 API
- DirectCompute : GPU를 활용한 범용 계산을 하기 위한 API
DirectX 역사
- 1995년 처음 발표 : Window95에서의 게임개발 환경 개선
: 안정성 문제 때문에 95~98에는 윈도우용 & Dos 게임 개별 제작
- 1998년 DirextX 5.0 등장과 Direct3D 기능 활성화
: 98년부터 Windows 게임 본격화, DOS 게임 감소
- DirectX 7 : 윈도우 2000 지원
- DirectX 8 : 윈도우 XP
- DirectX 9 : 본격적으로 PC 개발자들에게서 많이 사용
- DirectX 10 : Geometry Shader 지원, Shader Model 4.0
- DirectX 11 : 윈도우 7, 테셀레이션 도입, Direct Compute 도입
- DirectX 12 : 윈도우 10, 저수준 API 지원, 정밀한 제어 가능
DirectX 11 지원 게임들
- 검은사막
- Lostark
- ArcheAge
DirectX 9 지원 게임들
- Crossfire
- Lineage2
- 현재 DirectX 11과 DirectX 12로 대부분의 Windows PC 게임 출시
- Direct12 게임들이 늘어나고 있는 추세
- 기존 게임들은 DirectX 11로 라이브 서비스 중인 게임들 많음
- 언리얼 5 사용 게임들은 DX 사용
엔진별 DirectX 지원
[ Unity ]
- Unity4 부터 DirectX11 지원 시작
- Unity2022.3 부터 DirectX12 안정성 확보
[ Unreal ]
- Unreal3 : DirectX 9 기반으로 시작
- Unreal4 : DirectX 11 기반
- Unreal5 : DirectX 12 기반
앞으로 진행할 내용 요약