게임프로그래밍ii (game programming...

17
Game Programming II Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2 게임 프로그래밍 II (Game Programming II) August 29, 2006 Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2 강의 목적 및 개요 PC 환경 Windows 기반의 3차원 게임 제작 게임 기획 (스토리 제작) 게임 디자인 (캐릭터, 배경 등) 게임 프로그래밍 (그래픽, 네트워크, 인공지능) 3차원 그래픽 프로그래밍 DirectX vs. OpenGL 실습 위주의 수업 그래픽 프로그래밍 기술 습득

Upload: others

Post on 06-Nov-2019

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 게임프로그래밍II (Game Programming II)graphics.hallym.ac.kr/teach/2006/gp2/src/00intro.pdf · PC 환경Windows 기반의3차원게임제작 게임기획(스토리제작) 게임디자인(캐릭터,

Game Programming II

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

게임 프로그래밍 II(Game Programming II)

August 29, 2006

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

강의 목적 및 개요

PC 환경Windows 기반의 3차원게임제작게임기획 (스토리제작)

게임디자인 (캐릭터, 배경등)

게임프로그래밍 (그래픽, 네트워크, 인공지능)

3차원그래픽프로그래밍DirectX vs. OpenGL

실습위주의수업그래픽프로그래밍기술습득

Page 2: 게임프로그래밍II (Game Programming II)graphics.hallym.ac.kr/teach/2006/gp2/src/00intro.pdf · PC 환경Windows 기반의3차원게임제작 게임기획(스토리제작) 게임디자인(캐릭터,

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

강의 교재

DirectX를이용한 3D 게임프로그래밍입문

Frank D. Luna 저

최현호역

정보문화사

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

강의 계획

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

AUG 29, 31

SEP 05, 07

SEP 12, 14

SEP 19, 21

SEP 26, 28

OCT 03, 05

OCT 10, 12

OCT 17, 19

OCT 24, 26

OCT 31, NOV 02

NOV 07, 09

NOV 14, 16

NOV 21, 23

NOV 28, 30

DEC 05, 07

DEC 12, 14

Direct3D를 이용한 3차원 그래픽스 이론 및 기술 복습

블렌딩

스텐실

유연한 카메라 클래스 만들기

기본적인 지형 렌더링

중간고사

버텍스 셰이더의 소개

고수준 셰이딩 언어 소개

기말과제발표

기말고사

Chapter 1~6

Chapter 7

Chapter 8

Chapter 12

Chapter 13

Chapter 16

Chapter 17

이펙트 프레임웍

픽셀 셰이더의 소개 Chapter 18

Chapter 19

글꼴

메쉬 파트 I

Chapter 9

Chapter 10

추석

메쉬 파트 II Chapter 11

Page 3: 게임프로그래밍II (Game Programming II)graphics.hallym.ac.kr/teach/2006/gp2/src/00intro.pdf · PC 환경Windows 기반의3차원게임제작 게임기획(스토리제작) 게임디자인(캐릭터,

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

평가 방법

필수조건2/3 이상출석

중간/기말고사, 과제및 term project 제출

출석 및 퀴즈

중간 고사

기말 고사

10%

40%

50%

매주 실습

개인 과제 (2개)

2인 1조 게임제작

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

연락처

수업홈페이지http://www.hallym.ac.kr/~sunkim/teach/2006/gp2/

담당교수김선정 ([email protected])

조교조경빈 ([email protected])

Page 4: 게임프로그래밍II (Game Programming II)graphics.hallym.ac.kr/teach/2006/gp2/src/00intro.pdf · PC 환경Windows 기반의3차원게임제작 게임기획(스토리제작) 게임디자인(캐릭터,

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

연습 문제

DirectX 9.0 SDK 설치하기

개발환경셋팅하기

교과서샘플프로그램 Chapter 1 실행한후, 모든코드해석해오기 (다음시간에질문할예정)

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

DirectX 9.0 SDK 설치하기 (1)

DirectX 9.0 SDK “debug” option

Page 5: 게임프로그래밍II (Game Programming II)graphics.hallym.ac.kr/teach/2006/gp2/src/00intro.pdf · PC 환경Windows 기반의3차원게임제작 게임기획(스토리제작) 게임디자인(캐릭터,

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

DirectX 9.0 SDK 설치하기 (2)

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

DirectX 9.0 SDK 설치하기 (3)

Page 6: 게임프로그래밍II (Game Programming II)graphics.hallym.ac.kr/teach/2006/gp2/src/00intro.pdf · PC 환경Windows 기반의3차원게임제작 게임기획(스토리제작) 게임디자인(캐릭터,

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

DirectX 9.0 SDK 설치하기 (4)

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

개발환경 셋팅하기 (1)

Tools Options Directories (Include files)

Page 7: 게임프로그래밍II (Game Programming II)graphics.hallym.ac.kr/teach/2006/gp2/src/00intro.pdf · PC 환경Windows 기반의3차원게임제작 게임기획(스토리제작) 게임디자인(캐릭터,

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

개발환경 셋팅하기 (2)

Tools Options Directories (Library files)

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

개발환경 셋팅하기 (3)

Project Settings Link (Library names)d3d9.lib d3dx9.lib

Page 8: 게임프로그래밍II (Game Programming II)graphics.hallym.ac.kr/teach/2006/gp2/src/00intro.pdf · PC 환경Windows 기반의3차원게임제작 게임기획(스토리제작) 게임디자인(캐릭터,

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

DX 9.0 SDK 샘플들

\ DXSDK \ Samples \ C++ \ Direct3D

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

교과서 샘플 프로그램

www.moon-labs.com

Page 9: 게임프로그래밍II (Game Programming II)graphics.hallym.ac.kr/teach/2006/gp2/src/00intro.pdf · PC 환경Windows 기반의3차원게임제작 게임기획(스토리제작) 게임디자인(캐릭터,

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

Direct3D 초기화 하기

IDirect3D9 인터페이스의 포인터 얻기IDirect3D9 인터페이스의 포인터 얻기

장치 특성 (D3DCAPS) 체크하기장치 특성 (D3DCAPS) 체크하기

D3DPRESENT_PARAMETERS 구조체 인스턴스 초기화D3DPRESENT_PARAMETERS 구조체 인스턴스 초기화

IDirect3DDevice9 객체 생성IDirect3DDevice9 객체 생성

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

File New

Page 10: 게임프로그래밍II (Game Programming II)graphics.hallym.ac.kr/teach/2006/gp2/src/00intro.pdf · PC 환경Windows 기반의3차원게임제작 게임기획(스토리제작) 게임디자인(캐릭터,

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

Copy Sample Files

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

Project Add To Project

Files

Page 11: 게임프로그래밍II (Game Programming II)graphics.hallym.ac.kr/teach/2006/gp2/src/00intro.pdf · PC 환경Windows 기반의3차원게임제작 게임기획(스토리제작) 게임디자인(캐릭터,

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

FileView

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

Project Settings

Link

Page 12: 게임프로그래밍II (Game Programming II)graphics.hallym.ac.kr/teach/2006/gp2/src/00intro.pdf · PC 환경Windows 기반의3차원게임제작 게임기획(스토리제작) 게임디자인(캐릭터,

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

error LNK 2001:

unresolved external symbol __imp__timeGetTime@0

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

Result

Page 13: 게임프로그래밍II (Game Programming II)graphics.hallym.ac.kr/teach/2006/gp2/src/00intro.pdf · PC 환경Windows 기반의3차원게임제작 게임기획(스토리제작) 게임디자인(캐릭터,

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

WinMain ( )

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

InitD3D ( ) – Create a Window

Page 14: 게임프로그래밍II (Game Programming II)graphics.hallym.ac.kr/teach/2006/gp2/src/00intro.pdf · PC 환경Windows 기반의3차원게임제작 게임기획(스토리제작) 게임디자인(캐릭터,

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

InitD3D ( ) – Step 1

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

InitD3D ( ) – Step 2 & 3

Page 15: 게임프로그래밍II (Game Programming II)graphics.hallym.ac.kr/teach/2006/gp2/src/00intro.pdf · PC 환경Windows 기반의3차원게임제작 게임기획(스토리제작) 게임디자인(캐릭터,

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

InitD3D ( ) – Step 4

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

Setup ( ), Cleanup ( ), and Display ( )

Page 16: 게임프로그래밍II (Game Programming II)graphics.hallym.ac.kr/teach/2006/gp2/src/00intro.pdf · PC 환경Windows 기반의3차원게임제작 게임기획(스토리제작) 게임디자인(캐릭터,

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

EnterMsgLoop ( )

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

WndProc ( )

Page 17: 게임프로그래밍II (Game Programming II)graphics.hallym.ac.kr/teach/2006/gp2/src/00intro.pdf · PC 환경Windows 기반의3차원게임제작 게임기획(스토리제작) 게임디자인(캐릭터,

Sun-Jeong Kim http://www.hallym.ac.kr/~sunkim/teach/2006/gp2

Release ( )